The Agile Software Development Lifecycle -...

1
The Agile Software Development Lifecycle The project Applicability Matrix helps you to choose the right operating and process model. Mode Decision Are Software/Technologies suitable for agile development? Systems & Technologies Does Senior Management support working in an agile environment? Management Do we have an experienced cross-functional team? Is the whole team located in one place / are there sufficient collaboration tools? People & Workspace Is there a benefit to get early feedback and involve stakeholders throughout the project? Will the product be implemented in a one-time implementation or in a continuous evolution? Project, Process & Organization Do we have a clear picture about the outcome of the project? Is the developed product bound to rapidly changing standards? Clarity & Focus Do we have a contract type that supports agile development? Readiness of Partner Is business willing to spend as much time as necessary? Readiness of Business Scaled model with several applications & projects to consider: Joint post development test phase and coordinated deployment Mode 1 Mode 2 Roles Organization Contacts Product Owner Duties & Responsibilities Creation of product vision • Prototyping High level backlog management • Budgeting Team setup Release planning Governance activities Duties & Responsibilities Continuous backlog refinement support for test planning User story acceptance Update release plan Governance activities Sprint planning & sprint review Involve production Duties & Responsibilities Product Sign-Off Support of integration planning Part of retrospective Documentation of lessons learned Development Team – overall – Duties & Responsibilities Estimation of user stories Define & setup development & test infrastructure Define & setup of development tools Support in Epic creation & decomposition Support in creation of DoR and DoD Duties & Responsibilities Support in backlog refinement Estimation of user stories Perform sprint planning Perform daily Scrum Create code Design and automate tests Execute (automated) tests Help to discover users needs Define test approach/ create test cases/ Identification of regression test set Execute acceptance tests Create test reports Planning/execution of integration tests Refine application design Handle defects Build management/ configuration management Create test data • Documentation Duties & Responsibilities Compilation of test protocols Compilation of release notes Test execution of RIT test Test execution of UAT & OAT test Scrum Master Duties & Responsibilities Define workspace and collaboration model Define Scrum process details Create DoR and DoD Duties & Responsibilities Supports the team and helps them to develop and reach it’s goals Keeps Scrum artifacts visible Shields the team from external interference Helps to remove impediments PO DT SM Define Sprints Test Sprint Budget Definition Product Ideation Team Definition Product Backlog Decomposition HL System Architecture Prepare Project Infrastructure Define Process Details Release Planning Strategy & Vision Mode 1 Mode 2 Preparation (Sprint 0) Create the project vision and roadmap and define the team. The team gets ready for the first sprint. Specifica- tion of the overall scope (releases) including product backlog decomposition, System Architecture and release planning. Setup of the process details as well as the infrastructure. Development Team and Program Management • Multiple Scrum teams work together • Consideration of special functions (e.g. chief product owner that has overall project responsibility) • Special interest groups represent communication across the teams (communities of practice) • Cross functional entities support the development teams • In each phase of the development lifecycle deliverables are defined that are either regulatory or best practices • Deliverables help making project progress measurable • Some deliverables have to be considered because of regulatory aspects • Templates/tools are defined for all deliverables Development and Operation • Software hand-over happens in small increments • Team members from production participate in Scrum meetings and keep production up to date • Production team members are informed right from the beginning about release scope and milestones • Members of the Scrum team may take responsibility for production tasks • Production team members may actively support the preparation of the increment (segregation of duty rules to be considered) Define Sprints 2 3 1 Integration Application Build Management Test Execution Code Development Application Gov- ernance Activities Environment Setup Production Preparation Application Deployment Production Transition Test Preparation Application Documentation Maintenance Increment Implementation Integration Testing Integration Planning Sprint Retrospective Planning & Management (Scrum) Sprint Review Daily Scrum Validation of the integration on release level Test Sprint 4 Test Execution Test Sprint Sprints Define Closure Activities Closure Activities Deploy Deploy Requirement Analysis Design Implementation Test Management of a flawless sign-off Sign-Off 5 Acceptance Management Deployment of the application and hand over to production Deploy 6 Application Deployment Summary of learnings and adaptions Perform project closure procedures Closure 7 Project Closure Sprint Planning Backlog Refinement Dirk Jaensch Partner [email protected] © 2016 BearingPoint GmbH Jörg Steinbauer Partner [email protected] Release Management Architecture Resource Management Deployment Cross Team Functions Program Management/ Governance DT DT DT DT DT DT Development & Operation Team Development Teams PO DT DT DT DT DT SM PO DT DT DT DT DT SM PO DT DT DT DT DT SM Product Management Scrum team 1 Scrum team 2 Scrum team n 1 2 3 4 6 7 Project Start Sign- Off Sign- Off 5 Preparation Increment Implementation Planning & Management Integration Product Live Support Strategy & Vision Deploy Acceptance Test Sprint Agile Core Process Model D e n e D e p l o y S i g n - O T e s t S p r i n t s S p ri n t s SW Deployment Package Release Notes Budget Approval Vision Stakeholder List Build & Deploy. Fact Sheet (Master) Test Plan IT Security Concept HL Arch. Product Backlog Product Backlog DoR DoD Release Plan List of Epics Test End Report Test Status Report Status Report Design Specification Application Documentation Software Product Deployment Instructions Business/ Operation Sign-Off (Master) Test Plan Test Cases (Master) Test Plan (Integration) Test Protocol Test Status Report Test Status Report Product Backlog Sprint Backlog Scrum Board Impediment Backlog Burn Down Chart Product Backlog Release Plan Release Plan SW Increments Deliverables The sprint phase represents the heart of the model. Work according to the Scrum methodology, including Scrum artefacts and meetings. The team should not be interrupted while they are in a sprint phase. The increment implementation as well as the integration represent all activities that have to be done while sprinting.

Transcript of The Agile Software Development Lifecycle -...

Page 1: The Agile Software Development Lifecycle - BearingPointtoolbox.bearingpoint.com/ecomaXL/files/BEDE15_1051_PoPl_EN_Agile... · The Agile Software Development Lifecycle ... Release

The Agile Software Development Lifecycle

The project Applicability Matrix helps you to choose the right operating and process model.

Mode Decision

Are Software/Technologies suitable for agile development?

Systems & Technologies

Does Senior Management support working in an agile environment?

Management

Do we have an experienced cross-functional team?Is the whole team located in one place / are there sufficient collaboration tools?

People & Workspace

Is there a benefit to get early feedback and involve stakeholders throughout the project? Will the product be implemented in a one-time implementation or in a continuous evolution?

Project, Process & Organization

Do we have a clear picture about the outcome of the project?Is the developed product bound to rapidly changing standards?

Clarity & Focus

Do we have a contract type that supports agile development?

Readiness of Partner

Is business willing to spend as much time as necessary?

Readiness of Business

Scaled model with several applications & projects to consider: Joint post development test phase and coordinated deployment

Mode 1 Mode 2

Roles

Organization

Contacts

Product Owner

Duties & Responsibilities

• Creation of product vision

• Prototyping • High level backlog management

• Budgeting • Team setup • Release planning • Governance activities

Duties & Responsibilities

• Continuous backlog refinement support for test planning

• User story acceptance • Update release plan

• Governance activities • Sprint planning & sprint review

• Involve production

Duties & Responsibilities

• Product Sign-Off • Support of inte gration planning

• Part of retrospective • Documentation of lessons learned

Development Team– overall –

Duties & Responsibilities

• Estimation of user stories

• Define & setup development & test infrastructure

• Define & setup of development tools

• Support in Epic creation & decomposition

• Support in creation of DoR and DoD

Duties & Responsibilities

• Support in backlog refinement

• Estimation of user stories • Perform sprint planning • Perform daily Scrum • Create code • Design and automate tests

• Execute (automated) tests

• Help to discover users needs

• Define test approach/create test cases/Identification of regression test set

• Execute acceptance tests • Create test reports • Planning/execution of integration tests

• Refine application design • Handle defects • Build management/configuration management

• Create test data • Documentation

Duties & Responsibilities

• Compilation of test protocols

• Compilation of release notes

• Test execution of RIT test

• Test execution of UAT & OAT test

Scrum Master

Duties & Responsibilities

• Define workspace and collaboration model

• Define Scrum process details

• Create DoR and DoD

Duties & Responsibilities

• Supports the team and helps them to develop and reach it’s goals

• Keeps Scrum artifacts visible

• Shields the team from external interference

• Helps to remove impediments

PO

DT

SM

Define Sprints Test Sprint

Budget Definition

Product Ideation

Team Definition

Product Backlog Decomposition

HL System Architecture

Prepare Project Infrastructure

Define Process Details

Release Planning

Strategy & Vision

Mod

e 1

Mod

e 2

Preparation (Sprint 0)

Create the project vision and roadmap and define the team. The team gets ready for the first sprint. Specifica-tion of the overall scope (releases) including product backlog decomposition, System Architecture and release planning. Setup of the process details as well as the infrastructure.

Development Team and Program Management • Multiple Scrum teams work together • Consideration of special functions (e.g. chief product owner that has overall project responsibility) • Special interest groups represent communication across the teams (communities of practice) • Cross functional entities support the development teams

• In each phase of the development lifecycle deliverables are defined that are either regulatory or best practices • Deliverables help making project progress measurable • Some deliverables have to be considered because of regulatory aspects • Templates/tools are defined for all deliverables

Development and Operation • Software hand-over happens in small increments • Team members from production participate in Scrum meetings and keep production up to date • Production team members are informed right from the beginning about release scope and milestones • Members of the Scrum team may take responsibility for production tasks • Production team members may actively support the preparation of the increment (segregation of duty rules to be considered)

Define Sprints2 31

Integration

Application Build Management

Test Execution

Code Development

Application Gov-ernance Activities

Environment Setup

Production Preparation

Application Deployment

Production Transition

Test Preparation

Application Documentation Maintenance

Increment Implementation

Integration Testing

Integration Planning

Sprint Retrospective

Planning & Management

(Scrum)Sprint Review

Daily Scrum

Validation of the integration on release level

Test Sprint

4

Test Execution

Test SprintSprintsDefine Closure Activities

Closure Activities

Deploy

DeployRequirement Analysis Design Implementation Test

Management of a flawless sign-off

Sign-Off5

Acceptance Management

Deployment of the application and hand over to production

Deploy6

Application Deployment

Summary of learnings and adaptions Perform project closure procedures

Closure7

Project Closure

Sprint Planning

Backlog Refinement

Dirk Jaensch [email protected]

© 2016 BearingPoint GmbH

Jörg Steinbauer Partner [email protected]

Release Management

Architecture

Resource Management

Deployment

Cros

s Tea

m

Func

tions

Prog

ram

M

anag

emen

t/G

over

nanc

e

DTDTDT

DT DT

DT

Development & Operation Team

Dev

elop

men

t Te

ams

PO

DT

DTDT

DTDT

SM

PO

DT

DTDT

DTDT

SM

PO

DT

DTDT

DTDT

SM

Product Management

Scrum team 1 Scrum team 2 Scrum team n

12 3 4 6 7

Project Start

Sign- Off

Sign- Off

5

Preparation

Increment

Implem

entation

Planning

& Managem

ent

Integration

Product

Live

Support

Strategy & Vision

Deploy

Acce

ptan

ce

Test

Spr

int

Agile CoreProcess Model

Define

Deploy

Sign-O� TestSprints

Sprints

SW DeploymentPackage

ReleaseNotes

Budget ApprovalVision

StakeholderList

Build & Deploy.Fact Sheet

(Master)Test Plan

IT SecurityConcept

HL Arch.ProductBacklog

ProductBacklog

DoR

DoD

ReleasePlan

List of Epics

Test EndReport

Test StatusReport

StatusReport

Design Specification

Application Documentation

Software Product Deployment Instructions

Business/OperationSign-O�

(Master)Test Plan

Test Cases

(Master)Test Plan

(Integration) Test Protocol

Test StatusReport

Test StatusReport

ProductBacklog

Sprint Backlog

Scrum Board

Impediment Backlog

Burn Down Chart

ProductBacklog

ReleasePlan

ReleasePlan

SWIncrements

Deliverables

The sprint phase represents the heart of the model. Work according to the Scrum methodology, including Scrum artefacts and meetings. The team should not be interrupted while they are in a sprint phase. The increment implementation as well as the integration represent all activities that have to be done while sprinting.