Contemplating Architecture Agility
Combination Techniques
Kamaldeep Verma, 2018H1120281P
Swati Kandari, 2018H1120287P
BITS Pilani Department of Computer Science and Information Systems
Pilani Campus
Table of Contents
Introduction
Background
Motivation
Literature Survey
Our Contributions
Conclusion
References
2
BITS Pilani, Pilani Campus
Introduction
Software Agile
Architecture Development
Abstract Level View Discourage planning
of Software System ahead
Agile Manifesto -
Big Design Upfront responding to
Approach change over
following a plan
Development
Lot of planning
without architecture
ahead of
planning risks
implementation
failure.
3
BITS Pilani, Pilani Campus
Introduction [Cont.]
How to turn the wheel with Architecture-
Agility Combination?
Design an architecture while using a methodology that
promotes not planning ahead
Help to reduce the architectural effort required without
sacrificing the benefits of a full architecture design
Benefits and Capabilities of using Agile in Software
Architecture development and vice-versa
Handle Various Issues and Challenges caused by
Architecture-Agility
SS G562-Software Engineering and Management 4
BITS Pilani, Pilani Campus
Background
Communication
Gap between Only Agile Weak Literature
the teams
The agile team
overlooks the -No Focus on
accomplishments Quality Attributes
of other teams Various methods
except some
operating proposed solutions
implicit focus on
alongside which to some challenges
performance issues
does not allow the BUT
team to -Design Knowledge
Overlooks others
acknowledge its mains with
interdependencies individuals.
on other works.
5
BITS Pilani, Pilani Campus
Background [Cont.]
Architecture – Agility :
Architecture:
Architecture Architecture : Plan Driven
Big Design
Knowledge Approach
Upfront(BDUF)
Vaporization
Leads to loss of
Lot of planning
Architectural
and Bigger picture
knowledge due
documentation needed all at
to Agile concept
ahead of once
of least
implementation
documentation
6
BITS Pilani, Pilani Campus
Motivation
• Need to bridge the information gap between
teams
• Need to merge software architecture to provide
the required business framework to the agile team
• Need for hybrid solutions that solved problems in
maximum dimensions.
SS G562-Software Engineering and Management 7
BITS Pilani, Pilani Campus
Literature Survey
Focusing the two approaches, any agile methodology (say, Scrum) and software
architecture, is troublesome. In [1], the authors proposed a solution to
eliminate the vaporization of knowledge by recording it in AKB, where AKB acts
as a media for transmission of architectural knowledge. To pull information
from AKB and to further evaluate this information, the authors used DCAR.
In [2], the authors proffered the CIA technique for agile architects to embrace
the changes in each iteration. The authors substantiated the technique by
practically employing it.
In [11] and [12], the authors presented ways to repeatedly integrate the
changes made throughout the lifecycle. This opens doors for all the
stakeholders to be informed of the recent developments.
In [4], the authors have devised a solution to induce architecture into an agile
process and use architectural evaluation methods such as ATAM to eliminate
risks. Similarly, in [8], the authors integrated the AKM with the agile software
development approach and have exploited architectural evaluation techniques.
8
BITS Pilani, Pilani Campus
Literature Survey
In [5], the authors have discussed one of the main challenges of
architecture-agility combination, which is how much architecture is
enough.
In [6], authors have argued that instead of using BDUF approach,
only the good enough documentation is stored in the sprint
backlog. This could be in the form of UML diagrams.
In [7], the authors suggested that in an agile software development
lifecycle an architect is throughout involved and also maintains an
architectural backlog.
The authors of [9] have also discussed the challenges of
architecture agility combination.
9
BITS Pilani, Pilani Campus
Contemplating Architecture Agility
Combination Techniques
Architecting Activities
Agile Practices
Research Questions
Costs & Benefits
Challenges
Factors Implying Success
10
BITS Pilani, Pilani Campus
Architecting Activities
11
BITS Pilani, Pilani Campus
Agile Practices
Backlog
Continuous
Daily Standup
Integration
Pair
Programming User Story
Test Driven
Development
12
BITS Pilani, Pilani Campus
Agile Methods
13
BITS Pilani, Pilani Campus
Research Questions
How
Architecture
can be Practiced
in Agile
Development?
14
BITS Pilani, Pilani Campus
Iterative Architectural Approach
15
BITS Pilani, Pilani Campus
Change Impact Analysis
16
BITS Pilani, Pilani Campus
ATAM
17
BITS Pilani, Pilani Campus
ATAM
18
BITS Pilani, Pilani Campus
Research Questions
How Agile
Practices can
be used with
Architecture?
19
BITS Pilani, Pilani Campus
Continuous Integration
20
BITS Pilani, Pilani Campus
Sprint
21
BITS Pilani, Pilani Campus
Backlog
22
BITS Pilani, Pilani Campus
Costs
23
BITS Pilani, Pilani Campus
Benefits
24
BITS Pilani, Pilani Campus
Challenges
25
BITS Pilani, Pilani Campus
Factors
26
BITS Pilani, Pilani Campus
Conclusion
Understand the
principles and the
Identify the Strategies
practices of Agile
to deal with any Identify the cost and
Software Development
potential negative benefits
that can influence
impact
architecture related
principles and vice versa
Identify the Strategies
to deal with any Identify the cost and Identify the factors
potential negative benefits implying success
impact
SS G62-Software Engineering and Management 27
BITS Pilani, Pilani Campus
References
1. V.P. Eloranta and K. Koskimies. Aligning architecture knowledge management
with Scrum. In: Proceedings of the Joint 10th Working IEEE/IFIP Conference on
Software Architecture & 6th European Conference on Software Architecture
(WICSA/ECSA), Helsinki, Finland, pp. 112-115, 2012.
2. J. Diaz, J. Perez, J. Garbajosa, and A. Yague. Change impact driven agile
architecting. In: Proceedings of the 46th Hawaii International Conference on
System Sciences (HICSS), Wailea, HI, USA, pp. 4780-4789, 2013.
3. R.L. Nord, N. Brown, and I. Ozkaya. Architecting with just enough information.
In: Proceedings of the 6th International Workshop on SHAring and Reusing
Architectural Knowledge (SHARK), Waikiki, Honolulu, Hawaii, pp. 9-12, 2011.
4. R.L. Nord and J.E. Tomayko. Software architecture-centric methods and agile
development. IEEE Software, 23(2):47- 53, 2006.
5. B. Boehm, J.A. Lane, S. Koolmanojwong, and R. Turner. Architected Agile
Solutions for Software-Reliant Systems, in Agile Software Development. Springer
Berlin Heidelberg, pp. 165-184, 2010.
28
BITS Pilani, Pilani Campus
References
6. A. Rendell. Descending from the architect’s ivory tower. In: Proceedings of the
Conference on Agile (AGILE), Chicago, IL, USA, pp. 180-185, 2009.
7. J. Madison. Agile architecture interactions. IEEE Software, 27(2):41-48, 2010.
8. H.B. Christensen, K.M. Hansen, and B. Lindstrom. Lightweight and continuous
architectural software quality assurance using the aSQA technique. In:
Proceedings of the 4th European Conference on Software Architecture (ECSA),
Copenhagen, Denmark, pp. 118-132, 2010.
9. M.A. Babar. An exploratory study of architectural practices and challenges in
using agile software development approaches. In: Proceedings of the Joint 8th
Working IEEE/IFIP Conference on Software Architecture & 3rd European
Conference on Software Architecture (WICSA/ECSA), Cambridge, UK, pp. 81-90,
2009.
10. P. Abrahamsson, M.A. Babar, and P. Kruchten. Agility and architecture: Can they
coexist?. IEEE Software, 27(2):16-22, 2010
29
BITS Pilani, Pilani Campus
References
11. T. Ihme. Scrum adoption and architectural extensions in developing new
service applications of large financial IT systems. Journal of the Brazilian
Computer Society, 19(3):257-274, 2013.
12. K. Read and F. Maurer. Issues in scaling agile using an architecture-centric
approach: A tool-based solution. In: Proceedings of the 3rd Conference on
Agile Processes in Software Engineering and Extreme Programming (XP),
New Orleans, LA, USA, pp. 142-150, 2003.
SS G562-Software Engineering and Management 30
BITS Pilani, Pilani Campus
Thank You
31
BITS Pilani, Pilani Campus