Software architecture in an agile environment
-
Upload
raffaele-garofalo -
Category
Technology
-
view
7.841 -
download
0
description
Transcript of Software architecture in an agile environment
![Page 1: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/1.jpg)
Agile ArchitectureSoftware Architecture for AgileSpeaker: Raffaele Garofalo (raffaeu)
http://blog.raffaeu.com
![Page 2: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/2.jpg)
Introduction• Software
architecture• Agile development• Agile +
Architecture
Software Architect• The role• Collocation with
Agile
Agile Architecture• Workflow• Team structure• Sample
Agenda
![Page 3: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/3.jpg)
What is Software
Architecture
What is Agile
Development
How they can live
together?
Introduction
![Page 4: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/4.jpg)
What is Software
Architecture
Introduction
![Page 5: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/5.jpg)
Software Architecture is a terminology introduced some years ago in the software development community, which identifies a specific science or art of designing and delivery value.
Software Architecture
![Page 6: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/6.jpg)
“The art or science of designing and delivering valuable technology strategies”
What does it deliver
?
Business Models
Engineering design
Select framework
s and products
Bridges the gap
between business
and technology
![Page 7: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/7.jpg)
What is Agile
Development
Introduction
![Page 8: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/8.jpg)
Agile software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams.
Agile Development
![Page 9: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/9.jpg)
Agile …
TDD
C.I.
Agile Modeling
XP
SCRUM
Kanban
Agile is not only TDD.
![Page 10: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/10.jpg)
PRODUCTBACKLOG
SPRINT BACKLOG
SPRINT BACKLOG
2/4 weeks
FEATURE(s)
SCRUM
![Page 11: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/11.jpg)
How they can live
together?
Introduction
![Page 12: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/12.jpg)
AgileSoftware Architect
ure (MDD)
Agile Architect
ure (AMDD)
Agile Architecture
![Page 13: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/13.jpg)
The Software Architect
The Software Architect in
Agile environment
Golden Rules
The Software Architect role
![Page 14: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/14.jpg)
The Software Architect
The Software Architect role
![Page 15: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/15.jpg)
Software Architect
Create architectural designs from a vision
It looks at current and future design requirements
Takes technical decisions such Platform and Frameworks based on his experience
![Page 16: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/16.jpg)
The Software Architect in
Agile environment
The Software Architect role
![Page 17: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/17.jpg)
Provide information about frameworks and platforms
Provide architectural knowledge during the modeling phase
Interact with the business to communicate the changes and the features with the team
Contribute to development and delivering
Software Architect and Agile
![Page 18: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/18.jpg)
Golden Rules
The Software Architect role
![Page 19: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/19.jpg)
A Software Architect doesn’t have anything special, it is part of the team
In Agile, every member of the team is an active part and so should be the Architect, an active part of a team
Avoid Avory tower built during the design time without involving the developers in the design process. When everything is pre-designed and pre-decided, the frustration grows …
A strict Software Architect will fit better in a big team/project because there will be more space for his ego than in a small team where every member should be able to do everything
Golden rules of Agile Architect
![Page 20: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/20.jpg)
Workflow The Team structure
Sample Agile
architecture
Agile Architecture
![Page 21: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/21.jpg)
Workflow
Agile Architecture
![Page 22: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/22.jpg)
Application overview
Key Hot Spots
Candidate Solution
Key scenarios
Process Workflow
Identify Architecture OBJECTIVES
![Page 23: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/23.jpg)
Process Workflow
Iter: 0
Envision
Estimates
Iter: nModeling
Brainstorm
TDD
![Page 24: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/24.jpg)
The Team
structure
Agile Architecture
![Page 25: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/25.jpg)
Team structure
![Page 26: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/26.jpg)
Sample Agile
architecture
Agile Architecture
![Page 27: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/27.jpg)
Let’s have a look at Visual Studio 2011 and a sample project created using SCRUM and Agile Architectures with the help of Typemock
Sample process
![Page 28: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/28.jpg)
Authentication Use case
![Page 29: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/29.jpg)
Authentication components
![Page 30: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/30.jpg)
Authentication User Interface
![Page 32: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/32.jpg)
Appendix A
![Page 33: Software architecture in an agile environment](https://reader036.fdocuments.in/reader036/viewer/2022081801/554f41dab4c905423f8b45cb/html5/thumbnails/33.jpg)
Appendix B
Security Scalability Availability
Interoperability Testability Usability