and non-functional requirements evolve over a
number of iterations/sprints, it is quite possible to
create incremental architectural design over these
iterations. This however would require the architect
to participate in up-front planning, storyboarding and
the sprints, so the scope of the architect’s work in
ASDM increases considerably. In ASDMs the
architect’s role is participative, being more of a team
member, mentor or a guide for the team in terms of
non-functional requirements. In PDMs the architect’s
role is more consultative. Up-front planning and start-
up documentation is a must which the architect would
have to do in both ASDM and PDM. Thus
requirements engineering and software architecture
do go hand in hand as is found in this research.
Sub RQ2: Are there methods to integrate or use
software architecture effectively in ASDM?
This research also identifies methods to integrate
software architecture into ASDM based on the efforts
of Software Engineering Institute (SEI) of Carnegie
Mellon University (Nord and Tomayko, 2006). These
methods like the Attribute driven design method,
Architecture Trade-off Analysis Method and Cost-
Benefit Analysis Method enable consistency between
the agile implementation and architectural design
(Nord and Tomayko, 2006).
3.3 Recommendations
Inferences and recommendations of this research
analysis are as follows:
Architectural deliverables must be given equal
priority along with business requirements.
Early up-front architectural design is a must.
Clarity on when to freeze architectural
requirements is required.
Role of the Architect: A successful agile
architect must have the following skill-sets:
Clear understanding of agile practices
Interact with the development team to gather
architectural insights
Must be able to guide and mentor the team on
non-functional requirements
Must be able to negotiate with the product
owner on the architectural backlog visa/vis the
product backlog
Strong stakeholder communication skills to
highlight the trade-offs in the non-conformance
of architectural standards.
Future Work: While this research has provided an
initial insight into the way agile architecture
functions, it is limited in scope as the data collection
has been limited to only a literature review of
contemporary articles and one case study. Future
work would involve further case studies and a survey
of practitioners of agile and software architects.
4 CONCLUSIONS
This research brings to fore the main aspect that
although there are challenges in integrating software
architecture with ASDM, it is necessary to integrate
them. The main categories of challenges identified by
the research are people, process, technology and
requirements engineering factors. Requirements
engineering was found to aid the integration process
of software architecture into ASDM. Some factors
like using architectural use-cases, and negotiation
with the product owner regarding the architectural
backlog have been identified to deliver on
architectural design. Thus the research effort
addresses the main question of the architectural
challenges faced while moving from projects
executed in PDMs to ASDMs and also examines the
perception issues associated with these challenges.
REFERENCES
Abrahamsson, Babar, & Kruchten. (2010). Agility and
Architecture: Can They Coexist? Software, IEEE,
27(2), 16-22. doi: 10.1109/MS.2010.36.
Boehm, & Turner. (2003). Using risk to balance agile and
plan-driven methods. Computer, 36(6), 57-66. doi:
10.1109/MC.2003.1204376.
Breivold, Sundmark, Wallin, & Larsson. (2010, 22-27 Aug.
2010). What Does Research Say about Agile and
Architecture? Paper presented at the Software
Engineering Advances (ICSEA), 2010 Fifth
International Conference on.
Cleland-Huang, Hanmer, Supakkul, & Mirakhorli. (2013).
The Twin Peaks of Requirements and Architecture.
Software, IEEE, 30(2), 24-29. doi:
10.1109/MS.2013.39.
Diego, & Martín. (2013). Software Architecture in the
Agile Life Cycle. Advances in Computer Science: an
International Journal, 2(1), 48-52.
Falessi, Cantone, Sarcia, Calavaro, Subiaco, & D'Amore.
(2010). Peaceful Coexistence: Agile Developer
Perspectives on Software Architecture. Software, IEEE,
27(2), 23-25. doi: 10.1109/MS.2010.49.
Fraser, Hadar, Hadar, Mancl, Miller, & Opdyke. (2009).
Architecture in an agile world. Paper presented at the
Proceedings of the 24th ACM SIGPLAN conference
companion on Object oriented programming systems
languages and applications, Orlando, Florida, USA.
Kruchten. (2010). Software architecture and agile software
development: a clash of two cultures? Paper presented
ArchitecturalChallengesinMigratingPlan-drivenProjectstoAgile
227