33
Agile Architecture Software Architecture for Agile Speaker: Raffaele Garofalo (raffaeu) http://blog.raffaeu.com

Software architecture in an agile environment

Embed Size (px)

DESCRIPTION

These are the slides used for the webinar "Agile Architecture", speaker: Raffaeel Garofalo. Available here:https://vimeo.com/42069572

Citation preview

Page 1: Software architecture in an agile environment

Agile ArchitectureSoftware Architecture for AgileSpeaker: Raffaele Garofalo (raffaeu)

http://blog.raffaeu.com

Page 2: Software architecture in an agile environment

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

What is Software

Architecture

What is Agile

Development

How they can live

together?

Introduction

Page 4: Software architecture in an agile environment

What is Software

Architecture

Introduction

Page 5: Software architecture in an agile environment

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

“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

What is Agile

Development

Introduction

Page 8: Software architecture in an agile environment

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

Agile …

TDD

C.I.

Agile Modeling

XP

SCRUM

Kanban

Agile is not only TDD.

Page 10: Software architecture in an agile environment

PRODUCTBACKLOG

SPRINT BACKLOG

SPRINT BACKLOG

2/4 weeks

FEATURE(s)

SCRUM

Page 11: Software architecture in an agile environment

How they can live

together?

Introduction

Page 12: Software architecture in an agile environment

AgileSoftware Architect

ure (MDD)

Agile Architect

ure (AMDD)

Agile Architecture

Page 13: Software architecture in an agile environment

The Software Architect

The Software Architect in

Agile environment

Golden Rules

The Software Architect role

Page 14: Software architecture in an agile environment

The Software Architect

The Software Architect role

Page 15: Software architecture in an agile environment

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

The Software Architect in

Agile environment

The Software Architect role

Page 17: Software architecture in an agile environment

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

Golden Rules

The Software Architect role

Page 19: Software architecture in an agile environment

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

Workflow The Team structure

Sample Agile

architecture

Agile Architecture

Page 21: Software architecture in an agile environment

Workflow

Agile Architecture

Page 22: Software architecture in an agile environment

Application overview

Key Hot Spots

Candidate Solution

Key scenarios

Process Workflow

Identify Architecture OBJECTIVES

Page 23: Software architecture in an agile environment

Process Workflow

Iter: 0

Envision

Estimates

Iter: nModeling

Brainstorm

TDD

Page 24: Software architecture in an agile environment

The Team

structure

Agile Architecture

Page 25: Software architecture in an agile environment

Team structure

Page 26: Software architecture in an agile environment

Sample Agile

architecture

Agile Architecture

Page 27: Software architecture in an agile environment

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

Authentication Use case

Page 29: Software architecture in an agile environment

Authentication components

Page 30: Software architecture in an agile environment

Authentication User Interface

Page 31: Software architecture in an agile environment

Q/A?

Contacts• Blog:

http://blog.raffaeu.com• Twitter: @raffaeu

Page 32: Software architecture in an agile environment

Appendix A

Page 33: Software architecture in an agile environment

Appendix B

Security Scalability Availability

Interoperability Testability Usability