architecture documentation for agile development
play

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


  1. Architecture Documentation for Agile Development Sofia Sherman Ethan Hadar Irit Hadar Jay Harrison University of Haifa CA Technologies Software Architecture Lab.

  2. Agenda  Problem Statement  Proposed solution  Architecture Abstract Specification (AAS)  AAS Tool  Demonstration  Conclusion Software Architecture Lab. 2

  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 Software Architecture Lab. 3

  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 Software Architecture Lab. 4

  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? Software Architecture Lab. 5

  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 ) Software Architecture Lab. 6

  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 Software Architecture Lab. 7

  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 Plus Acronyms & Relevant Links  Next Release Coverage Software Architecture Lab. 8

  9. Abstract Architecture Specification (AAS) Creation Users of the AAS have a high level of  Kept short and focused product knowledge & market context  template-oriented “Minimalistic  Predefined fields not free form text Documentation”  word count limitations does not mean sloppy AAS document Architecture described Architecture described in average 60-80 pages in 4-6 pages document Software Architecture Lab. 9

  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 Software Architecture Lab. 10

  11. AAS Automation An automated AAS T ool DEMO Software Architecture Lab. 11

  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 ongoing experience  Shares the database with the Architecture Modeling Tool Software Architecture Lab. 12

  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 Software Architecture Lab. 13

  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 Software Architecture Lab. 14

  15. Architecture Documentation for Agile Development Backup 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 Software Architecture Lab. 16

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend