| Peer-Reviewed

A Framework for Architecture-Centric Practices Integration into Agile Software Development [APIASD]

Received: 12 September 2014     Accepted: 25 September 2014     Published: 30 September 2014
Views:       Downloads:
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.

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

Keywords

Agile Software Development, Agile Architecting, Quality Attributes, Software Architectures, Architecting Framework

References
[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.
Cite This Article
  • 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

    Copy | Download

    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

    Copy | Download

    AMA 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

    Copy | Download

  • @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}
    }
    

    Copy | Download

  • 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  - 

    Copy | Download

Author Information
  • Information Systems Department, Faculty of Computers and Information, Mansoura University, Mansoura, Egypt

  • Information Systems Department, Faculty of Computers and Information, Cairo University, Cairo, Egypt

  • Information Systems Department, Faculty of Computers and Information, Mansoura University, Mansoura, Egypt

  • Sections