Designing and applying an approach to software architecting in agile projects in education

An approach to software architecting in agile projects in education.Experiences and lessons learned from two applications of the approach.Research directions for improving education on architecting in agile projects. Software architecting activities are not discussed in most agile software development methods. That is why, the combination of software architecting and agile methods has been in the focus of numerous publications. However, there is little literature on how to approach software architecting in agile projects in education. In this paper, we present our approach to the introduction of software architecting activities in an agile project course. The approach is based on literature sources and is tailored to fit our educational goals and context. The approach has been applied in two consecutive executions of the course. We observe improved understanding on the value of architecting activities and appreciation among students on the combination of architecting activities and agile development. We applied the approach predominantly in cases with an architecturally savvy Product Owner. Further research is required to understand how the approach performs in scenarios with architecturally unsavvy Product Owners and if it needs to be adapted for these scenarios. We also conclude that more research is needed on the challenges that architects face in agile projects in order to better prepare students for practice.

[1]  Ken Schwaber,et al.  Agile Software Development with SCRUM , 2001 .

[2]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[3]  Barry W. Boehm,et al.  Get Ready for Agile Methods, with Care , 2002, Computer.

[4]  Fereidoon Shams,et al.  Embedding Architectural Practices into Extreme Programming , 2008 .

[5]  Roland Faber,et al.  Architects as Service Providers , 2010, IEEE Software.

[6]  Uwe Friedrichsen Opportunities, Threats, and Limitations of Emergent Architecture , 2014 .

[7]  Tomi Männistö,et al.  Teaching Software Architecture Design , 2008, Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008).

[8]  Daniel Sundmark,et al.  What Does Research Say about Agile and Architecture? , 2010, 2010 Fifth International Conference on Software Engineering Advances.

[9]  Arvind W. Kiwelekar,et al.  Learning Objectives for a Course on Software Architecture , 2015, ECSA.

[10]  James Madison,et al.  Agile Architecture Interactions , 2010, IEEE Software.

[11]  Samuil Angelov,et al.  Fontys ICT, Partners in Education Program: Intensifying Collaborations Between Higher Education and Software Industry , 2015, ECSA Workshops.

[12]  Frank Buschmann,et al.  Architecture and Agility: Married, Divorced, or Just Good Friends? , 2013, IEEE Software.

[13]  Jane Cleland-Huang,et al.  Chapter 4 – Driving Architectural Design and Preservation from a Persona Perspective in Agile Projects , 2014 .

[14]  Eoin Woods Industrial Architectural Assessment Using TARA , 2011, WICSA.

[15]  John Hattie,et al.  Visible Learning: A Synthesis of Over 800 Meta-Analyses Relating to Achievement , 2008 .

[16]  Matthias Galster,et al.  What Makes Teaching Software Architecture Difficult? , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering Companion (ICSE-C).

[17]  Mary Shaw,et al.  Experience with a Course on Architectures for Software Systems , 1992, CSEE.

[18]  James E. Tomayko,et al.  Software architecture-centric methods and agile development , 2006, IEEE Software.

[19]  Xavier Franch,et al.  How do software architects consider non-functional requirements: An exploratory study , 2012, 2012 20th IEEE International Requirements Engineering Conference (RE).

[20]  Jeff Tyree,et al.  Architecture decisions: demystifying architecture , 2005, IEEE Software.

[21]  Philipp Diebold,et al.  A Multiple Case Study on the Architect's Role in Scrum , 2016, PROFES.

[22]  Paris Avgeriou,et al.  Difficulty of Architectural Decisions - A Survey with Professional Architects , 2013, ECSA.

[23]  Helen Sharp,et al.  The Top 10 Burning Research Questions from Practitioners , 2010, IEEE Softw..

[24]  Samuil Angelov,et al.  An Approach to Software Architecting in Agile Software Development Projects in Education , 2015, ECSA.

[25]  Muhammad Ali Babar,et al.  Agility and Architecture: Can They Coexist? , 2010, IEEE Softw..

[26]  Rick Kazman,et al.  Categorizing Business Goals for Software Architectures , 2005 .

[27]  Jan Bosch,et al.  Architecture Decisions: Who, How, and When? , 2014 .

[28]  Martin Fowler Design - Who needs an architect? , 2003, IEEE Software.

[29]  Muhammad Ali Babar An exploratory study of architectural practices and challenges in using agile software development approaches , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[30]  Mike Cohn,et al.  Succeeding with Agile: Software Development Using Scrum , 2009 .

[31]  James Noble,et al.  The Effect of Complexity and Value on Architecture Planning in Agile Software Development , 2013, XP.

[32]  Neil B. Harrison,et al.  Decision-Centric Architecture Reviews , 2013, IEEE Software.

[33]  Mahmood Niazi,et al.  Do Systematic Literature Reviews Outperform Informal Literature Reviews in the Software Engineering Domain? An Initial Case Study , 2015 .

[34]  Zeljko Obrenovic Software Sketchifying: Bringing Innovation into Software Development , 2013, IEEE Softw..

[35]  Peng Liang,et al.  A systematic mapping study on the combination of software architecture and agile development , 2016, J. Syst. Softw..

[36]  Matthias Galster,et al.  Architects in Scrum: What Challenges Do They Face? , 2016, ECSA.

[37]  Patricia Lago,et al.  Teaching a Course on Software Architecture , 2005, 18th Conference on Software Engineering Education & Training (CSEET'05).

[38]  J. Cleland-Huang,et al.  An inverted classroom experience: engaging students in architectural thinking for agile projects , 2014, ICSE Companion.

[39]  Giovanni Cantone,et al.  Peaceful Coexistence: Agile Developer Perspectives on Software Architecture , 2010, IEEE Software.

[40]  Barry W. Boehm,et al.  Empirical Findings in Agile Methods , 2002, XP/Agile Universe.

[41]  E. Terhart Hattie, John. Visible learning. A synthesis of over 800 meta-analyses relating to achievement. London: Routledge, 2008. 378 S. [Rezension] , 2011 .

[42]  Muhammad Ali Babar,et al.  An industrial case of exploiting product line architectures in agile software development , 2009, SPLC.

[43]  Philippe Kruchten,et al.  The Past, Present, and Future for Software Architecture , 2006, IEEE Software.

[44]  Jaejoon Lee,et al.  Software Design Studio: A Practical Example , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[45]  Rainer Weinreich,et al.  Continuous Software Architecture Analysis , 2014 .

[46]  Kai Koskimies,et al.  Lightweight Architecture Knowledge Management for Agile Software Development , 2014 .

[47]  Lionel Bouchard,et al.  Multimedia Software for Mobile Phones , 2010, IEEE Software.

[48]  Shawn A. Bohner,et al.  The impact of agile methods on software project management , 2005, 12th IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS'05).

[49]  Muhammad Ali Babar Chapter 1 – Making Software Architecture and Agile Approaches Work Together: Foundations and Approaches , 2014 .

[50]  Matthias Naab,et al.  Distilling Best Practices for Agile Development from Architecture Methodology - Experiences from Industrial Application , 2015, ECSA.

[51]  L. Fink,et al.  Creating Significant Learning Experiences: An Integrated Approach to Designing College Courses , 2003 .

[52]  Patricia Lago,et al.  Using wikis to support architectural knowledge management in global software development , 2010, SHARK '10.

[53]  Paul Clements,et al.  Documenting Software Architectures in an Agile World , 2003 .

[54]  Jane Cleland-Huang,et al.  Traversing the Twin Peaks , 2013, IEEE Software.

[55]  Philippe Kruchten,et al.  Software architecture and agile software development: a clash of two cultures? , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[56]  Olaf Zimmermann,et al.  Architectural Decisions as Reusable Design Assets , 2011, IEEE Software.

[57]  Remco C. de Boer,et al.  On the similarity between requirements and architecture , 2009, J. Syst. Softw..

[58]  Jan Bosch,et al.  Software Architecture as a Set of Architectural Design Decisions , 2005, 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05).