Software architecture in an agile environment

Post on 10-May-2015

7,840 views 0 download

Tags:

description

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

transcript

Agile ArchitectureSoftware Architecture for AgileSpeaker: Raffaele Garofalo (raffaeu)

http://blog.raffaeu.com

Introduction• Software

architecture• Agile development• Agile +

Architecture

Software Architect• The role• Collocation with

Agile

Agile Architecture• Workflow• Team structure• Sample

Agenda

What is Software

Architecture

What is Agile

Development

How they can live

together?

Introduction

What is Software

Architecture

Introduction

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

“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

What is Agile

Development

Introduction

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

Agile …

TDD

C.I.

Agile Modeling

XP

SCRUM

Kanban

Agile is not only TDD.

PRODUCTBACKLOG

SPRINT BACKLOG

SPRINT BACKLOG

2/4 weeks

FEATURE(s)

SCRUM

How they can live

together?

Introduction

AgileSoftware Architect

ure (MDD)

Agile Architect

ure (AMDD)

Agile Architecture

The Software Architect

The Software Architect in

Agile environment

Golden Rules

The Software Architect role

The Software Architect

The Software Architect role

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

The Software Architect in

Agile environment

The Software Architect role

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

Golden Rules

The Software Architect role

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

Workflow The Team structure

Sample Agile

architecture

Agile Architecture

Workflow

Agile Architecture

Application overview

Key Hot Spots

Candidate Solution

Key scenarios

Process Workflow

Identify Architecture OBJECTIVES

Process Workflow

Iter: 0

Envision

Estimates

Iter: nModeling

Brainstorm

TDD

The Team

structure

Agile Architecture

Team structure

Sample Agile

architecture

Agile Architecture

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

Authentication Use case

Authentication components

Authentication User Interface

Q/A?

Contacts• Blog:

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

Appendix A

Appendix B

Security Scalability Availability

Interoperability Testability Usability