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.
Published in | Software Engineering (Volume 2, Issue 1) |
DOI | 10.11648/j.se.20140201.11 |
Page(s) | 1-14 |
Creative Commons |
This is an Open Access article, distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution and reproduction in any medium or format, provided the original work is properly cited. |
Copyright |
Copyright © The Author(s), 2014. Published by Science Publishing Group |
Agile Software Development, Agile Architecting, Quality Attributes, Software Architectures, Architecting Framework
[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. |
APA Style
G. H. El-Khawaga, Galal Hassan Galal-Edeen, A. M. Riad. (2014). A Framework for Architecture-Centric Practices Integration into Agile Software Development [APIASD]. Software Engineering, 2(1), 1-14. https://doi.org/10.11648/j.se.20140201.11
ACS Style
G. H. El-Khawaga; Galal Hassan Galal-Edeen; A. M. Riad. A Framework for Architecture-Centric Practices Integration into Agile Software Development [APIASD]. Softw. Eng. 2014, 2(1), 1-14. doi: 10.11648/j.se.20140201.11
@article{10.11648/j.se.20140201.11, author = {G. H. El-Khawaga and Galal Hassan Galal-Edeen and A. M. Riad}, title = {A Framework for Architecture-Centric Practices Integration into Agile Software Development [APIASD]}, journal = {Software Engineering}, volume = {2}, number = {1}, pages = {1-14}, doi = {10.11648/j.se.20140201.11}, url = {https://doi.org/10.11648/j.se.20140201.11}, eprint = {https://article.sciencepublishinggroup.com/pdf/10.11648.j.se.20140201.11}, 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.}, year = {2014} }
TY - JOUR T1 - A Framework for Architecture-Centric Practices Integration into Agile Software Development [APIASD] AU - G. H. El-Khawaga AU - Galal Hassan Galal-Edeen AU - A. M. Riad Y1 - 2014/09/30 PY - 2014 N1 - https://doi.org/10.11648/j.se.20140201.11 DO - 10.11648/j.se.20140201.11 T2 - Software Engineering JF - Software Engineering JO - Software Engineering SP - 1 EP - 14 PB - Science Publishing Group SN - 2376-8037 UR - https://doi.org/10.11648/j.se.20140201.11 AB - 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. VL - 2 IS - 1 ER -