Architecture Documentation for Agile Development Sofia Sherman - - PowerPoint PPT Presentation

architecture documentation for agile development
SMART_READER_LITE
LIVE PREVIEW

Architecture Documentation for Agile Development Sofia Sherman - - PowerPoint PPT Presentation

Architecture Documentation for Agile Development Sofia Sherman Ethan Hadar Irit Hadar Jay Harrison University of Haifa CA Technologies Software Architecture Lab. Agenda Problem Statement Proposed solution Architecture Abstract


slide-1
SLIDE 1

Software Architecture Lab.

Architecture Documentation for Agile Development

Sofia Sherman Irit Hadar Ethan Hadar Jay Harrison University of Haifa CA Technologies

slide-2
SLIDE 2

Software Architecture Lab.

2

Agenda

 Problem Statement  Proposed solution

 Architecture Abstract Specification (AAS)  AAS Tool

 Demonstration  Conclusion

slide-3
SLIDE 3

Software Architecture Lab.

3

Problem statement

 Historic approaches to product architecture do not

adapt well to the agile development model

 It is necessary to fundamentally change the

approach, artifacts and processes to meet business goals

slide-4
SLIDE 4

Software Architecture Lab.

4

Agile development

 The main characteristics of agile development:

 Flexibility  Minimalism  Collaboration

 Emphasizes rapid and flexible development  Transforms the development process from being

process-centric to human-centric

 Favors operating software over documentation

slide-5
SLIDE 5

Software Architecture Lab.

5

T ension between architecture & agile development

 Architecture historically requires

extensive documentation

 Agile development expects

minimalistic documentation

 This documentation needs to be reviewed and

maintained throughout the development lifecycle

How should architecture be documented in agile development methodologies?

slide-6
SLIDE 6

Software Architecture Lab.

6

Causes for the tension between architecture & agile development

 Misuse of agile methods by users, who believe that agility is about

ignoring architecture and jumping onto refactoring.

Abrahamsson et al. 2010

 Being flexible to changes and focusing on small releases, agile

methodologies support minimum documentation

Ambler, 2002

 The values of agile development may be interpreted in many ways,

some of which are problematic because they ignore architectural features that do not support the current version.

Boehm (2002)

slide-7
SLIDE 7

Software Architecture Lab.

7

The proposed solution

Abstract Architecture Specification (AAS)

  • A short document aligned with Agile’s expectation

for minimalistic documentation

  • Encourages collaboration
  • Easier to review
  • Easier to maintain
  • Includes the most relevant and updated information

regarding the proposed architecture

  • Kept short by employing elevator speech concepts
slide-8
SLIDE 8

Software Architecture Lab.

8

Abstract Architecture Specification (AAS)

Four major sections  Product overview:

 100 word description of the project goals & business value

 Product goals for the release:

 100 word description of the product objectives for release

 Product Architecture Overview

 General representation of the system architecture

 Current release  Changes anticipated for this upcoming release

 Uses standard blueprinting methodology to illustrate the architecture

 Limited to 1000 words of description

 Non-Functional Requirement (NFR)

 A table that describes the project goals & architecture impacts of

the NFR

 Current Coverage and  Next Release Coverage

Plus Acronyms & Relevant Links

slide-9
SLIDE 9

Software Architecture Lab.

9

Abstract Architecture Specification (AAS)

Creation

 Kept short and focused

 template-oriented

Predefined fields not free form text

 word count limitations

“Minimalistic Documentation” does not mean sloppy Users of the AAS have a high level of product knowledge & market context

Architecture described in average 60-80 pages document

AAS

document

Architecture described in 4-6 pages

slide-10
SLIDE 10

Software Architecture Lab.

10

AAS document benefits

 Streamlines information so that reviewers can

concentrate on the content and the design decisions captured in the blueprint and text within the document

 Facilitates a common language for architects

 Consistent style and representations

 Simplifies and assists the communication between

architects

slide-11
SLIDE 11

Software Architecture Lab.

11

AAS Automation

An automated AAS T

  • ol

DEMO

slide-12
SLIDE 12

Software Architecture Lab.

12

AAS tool: Benefits

 Helps the architect organize relevant architectural

information while creating architecture blueprints

 Is bundled with an architecture modeling tool  Form or GUI driven

 Provides an integrated Checklist to guide the

architects throughout their use of the tool

 Evolution of the checklist accumulates knowledge through

  • ngoing experience

 Shares the database with the Architecture Modeling

Tool

slide-13
SLIDE 13

Software Architecture Lab.

13

AAS tool: Benefits cont’

 A generated AAS report ready to be submitted for

review and product development

 Reduces the information the architect is required

to insert within the tool

 Captures the knowledge and architecture decisions  Facilitates the reuse or restructuring of the

information

slide-14
SLIDE 14

Software Architecture Lab.

14

Agile development is based on

Flexibility Minimalism Collaboration

AAS is nimble and flexible for changes, bundled and integrated with a modeling tool AAS is template for short and focused document assisted by an automatic tool It is facilitating common language, supporting collaboration between stakeholders

slide-15
SLIDE 15

Software Architecture Lab.

Architecture Documentation for Agile Development

Backup

slide-16
SLIDE 16

Software Architecture Lab.

16

The Debate

 The question about the co-existence of architecture and

agility has been discussed:

 OOPSLA 2009 – Workshop and Panel both entitled

Architecture in an Agile World

 IEEE Software special issue on

Agility and Architecture (March/April 2010), All these are aimed at understanding and resolving the tension between agility and architecture