You are on page 1of 31

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

You might also like