Volume 2, Issue 1, September 2014, Page: 1-14
A Framework for Architecture-Centric Practices Integration into Agile Software Development [APIASD]
G. H. El-Khawaga, Information Systems Department, Faculty of Computers and Information, Mansoura University, Mansoura, Egypt
Galal Hassan Galal-Edeen, Information Systems Department, Faculty of Computers and Information, Cairo University, Cairo, Egypt
A. M. Riad, Information Systems Department, Faculty of Computers and Information, Mansoura University, Mansoura, Egypt
Received: Sep. 12, 2014;       Accepted: Sep. 25, 2014;       Published: Sep. 30, 2014
DOI: 10.11648/j.se.20140201.11      View  2946      Downloads  176
Abstract
The need for having a clear roadmap for a software product developed using an agile method is a reasonable implication of the agilists’ tendency of establishing a planning-driven process rather than a plan-driven one, and chasing and welcoming change rather than limiting it. Building an initial architecture for a product will serve as the railway for a planning process that can enable managing change accommodation rather than unmanaged change accommodation. Change accommodation –while not considering the proposed changes’ effects- may serve its purpose of flexibility on the short term, but on the long term will uncover a complex, unmanageable set of relations between software components within an eroded architecture. In this paper, a framework for embedding architectural practices into an agile software development process –while avoiding problems of current agile architecting, and keeping agile development values- is presented.
Keywords
Agile Software Development, Agile Architecting, Quality Attributes, Software Architectures, Architecting Framework
To cite this article
G. H. El-Khawaga, Galal Hassan Galal-Edeen, A. M. Riad, A Framework for Architecture-Centric Practices Integration into Agile Software Development [APIASD], Software Engineering. Vol. 2, No. 1, 2014, pp. 1-14. doi: 10.11648/j.se.20140201.11
Reference
[1]
Jensen, R. N., Moller, T., Sonder, P. & Tornehoj, G., (2006), “Architecture and Design in eXtreme Programming; Introducing Developer Stories”, proceedings of Extreme Programming and Agile Processes in Software Engineering, 7th International Conference (XP 2006), Oulu, Finland, 17-22 June, Springer Verlag, pp. 133-142.
[2]
Mancl, D., Hadar, E., Fraser, S., Hadar, I., Miller, G. R. & Opdyke, B., (2009), “Architecture in an Agile World”, proceedings of the ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPLSA 09), Orlando, Florida, USA, 25-19 October, ACM, pp. 841-844.
[3]
Boehm, B. & Turner, R., (2004), Balancing Agility and Discipline: A Guide for the Perplexed, Addison Wesley Professional, Indiana, USA.
[4]
Ambler, S. W., (2007), “Agile Model Driven Development (AMDD)”, XOOTIC, Vol. 12, No. 1, pp. 13-21.
[5]
Faber, R., (2010), “Architects as service providers”, IEEE Software, vol. 27, no. 2, pp. 33-40.
[6]
Abrahamsson, P., Babar, M. A. & Kruchten, P., (2010), “Agility and Architecture: Can They Coexist?”, IEEE Software, Vol. 27, No. 2, pp. 16-22.
[7]
Sharifloo, A. A., Saffarian, A. & Shams, F., (2008), “Embedding Architectural practices into Extreme Programming”, proceedings of the 19th Australian Software Engineering Conference (ASWEC), Perth, Western Australia, Australia, 26-28 March, IEEE, pp. 310-319.
[8]
Khaled, R., Barr, P., Noble, J. & Biddle, R., (2004), “Extreme programming system metaphor: A semiotic approach”, proceedings of the 7th International Workshop on Organizational Semiotics, Setúbal, Portugal, 19-20 July, pp. 152-172.
[9]
West, D., (2002), “Metaphor, Architecture, and XP”, proceedings of the third International Conference on Extreme Programming and Agile Processes in Software Engineering (XP 2002), Sardinia, Italy, 26-30 May, pp. 101- 104.
[10]
Herbsleb, J., Root, D. & Tomayko, J., (2003), “The eXtreme Programming (XP) Metaphor and Software Architecture”, School of Computer Science, Carnegie Mellon, Pittsburgh, PA, USA.
[11]
Bourquin, F. & Keller, R. K., (2007), “High-impact Refactoring Based on Architecture Violations”, Proceedings of the 11th European Conference on Software Maintenance and Reengineering, (CSMR '07),Amsterdam, Holland, 21-23 Mar., IEEE, pp. 149-158.
[12]
Buschmann, F., (2011), “Gardening Your Architecture, Part 1: Refactoring”, IEEE Software, Vol. 28, No. 4, pp. 92-94.
[13]
Turk, D., France, R. & Rumpe, B., (2002), “Limitations of Agile Software Processes”, the third International Conference on Extreme Programming and Agile Processes in Software Engineering (XP 2002), Sardinia, Italy.
[14]
Picek, R. & Strahonja, V., (2007), “Model Driven Development – Future or Failure of Software Development?”, proceedings of the 18th International Conference on Information and Intelligent Systems (IIS2007), Varaždin, Croatia, 12-14 September, pp. 407-414.
[15]
Ambler, S. W., (2007), “Agile Model Driven Development (AMDD): The key to scaling agile software development”, available at: http://www.agilemodeling.com/essays/amdd.htm , last access: 10 September 2014.
[16]
Elssamadisy, A. & Schalliol, G., (2002), “Recognizing and responding to bad smells in extreme programming”, proceedings of the 24th International Conference on Software Engineering (ICSE'02), Orlando, Florida, USA, 19-25 May, ACM, pp. 617- 622.
[17]
Hofmeister, C., Nord, R. & Soni, D., (2000), Applied Software Architecture, Addison Wesley Professional, Indiana, USA.
[18]
Barbacci, M., Ellison, R., Lattanze, A., Stafford, J., Weinstock, C. & Wood, W., (2003), “Quality Attribute Workshops (QAWs)”, CMU Software Engineering Institute, Pittsburgh, PA, USA.
[19]
Wojcik, R., Bachmann, F., Bass, L., Clements, P., Merson, P., Nord, R. & Wood, B., (2006), “Attribute-Driven Design (ADD)”, CMU Software Engineering Institute, Pittsburgh, PA, USA.
[20]
Clements, P. C., Kazman, R. & Klein, M., (2002), Evaluating software architectures: Methods and case studies, Addison Wesley Professional, Indiana, USA.
[21]
Layton, M. C., (2012), Agile Project Management For Dummies, John Wiley & Sons Inc., NJ, USA.
[22]
Bass, L., Clements, P. & Kazman, R., (2003), Software Architecture in Practice, Addison Wesley Professional, Indiana, USA.
[23]
Smith, G. & Sidky, A., (2009), Becoming Agile in an imperfect world, Manning Publications Co., NY, USA.
[24]
Franch, X. & Carvallo, J. P., (2003), “Using quality models in software package selection”, IEEE Software, Vol. 20, No. 1, pp. 34 – 41
[25]
Hochmuller, H., (1999), “Towards the Proper Integration of Extra-Functional Requirements”, Australasian Journal of Information Systems, Vol. 6, No. 2, pp. 98-117.
[26]
Barbacci, M., Clements, P., Lattanze, A., Northrop, L. & Wood, W., (2003), “Using the Architecture Tradeoff Analysis Method (ATAM) to Evaluate the Software Architecture for a Product Line of Avionics Systems: A Case Study”, CMU Software Engineering Institute, Pittsburgh, PA, USA.
[27]
Moreira, A., Araujo, J. & Brito, I., (2002), “Crosscutting quality attributes for requirements engineering”, proceedings of the 14th international conference on Software Engineering and Knowledge Engineering (SEKE'02), Ischia, Italy, 15-19 July, ACM, pp. 167-174.
[28]
Bass, L., Klein, M. & Bachmann, F., (2001), “Quality Attribute Design Primitives and the Attribute Driven Design Method”, CMU Software Engineering Institute, Pittsburgh, PA, USA.
[29]
Hofmeister, C., Kruchten, P., Nord, R. L., Obbink, H., Ran, A. & America, P., (2007), “A general model of software architecture design derived from five industrial approaches”, Journal of Systems and Software, Vol. 80, No. 1, pp. 106-126.
[30]
Rozanski, N. & Woods, E., (2005), Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives, Addison-Wesley Professional, Boston, USA
[31]
Falessi, D., Cantone, G. & Kruchten, P., (2007), “Do Architecture Design Methods Meet Architects’ Needs?”, proceedings of the Working IEEE/IFIP Conference on Software Architecture (WICSA'07), Mumbai, India, 6-9 January, IEEE, 44-53 .
[32]
Tang, A., Avgeriou, P., Jansen, A., Capilla, R. & Babar, M. A, (2010), “A comparative study of architecture knowledge management tools”, Journal of Systems and Software, Vol. 83, No. 3, pp. 352–370.
[33]
Boehm, B. & In, H., (1996), “Identifying quality-requirement conflicts”, IEEE Software, Vol. 13, No. 2, pp. 25- 35.
[34]
Babar, M. A. & Capilla, R., (2008), “Capturing and Using Quality Attributes Knowledge in Software Architecture Evaluation Process”, proceedings of the 1st International Workshop on Managing Requirements Knowledge(MARK'08), Barcelona, Spain, 8 September, IEEE, pp. 53-62.
Browse journals by subject