Agile practices - Blueberryblueberry.kgisl.com/Pages/General/Image/Agile Practices.pdfHow Agile fits...

Post on 20-Jun-2020

3 views 0 download

Transcript of Agile practices - Blueberryblueberry.kgisl.com/Pages/General/Image/Agile Practices.pdfHow Agile fits...

Agile practices

Stages in a Software Development Cycle?

Traditional Process

Requirement ?

Technology ?

Unknowns ?

Functional specification

Design Specification

Fix / Integrate

Testing

Coding

Inception

£ £ £

Time

50%

Agile Values

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

Agile Alliance - Feb 2001 - agilemanifesto.org

Agile gives...

Early and continuous delivery of valuable software - Highest priority

Welcome changing requirements, even late in development

Frequent conversation among business people and developers

Working software is the primary measure of progress.

A Different Approach

Project Estimates: End-User Feedback: Developer Productivity

Delivery

- Time-to-market - Business decides when to go live

- Reduces risk of failure

Functional specification

Design Specification

Fix / Integrate

Testing

Coding

Inception

£ £ £

Inception

Release 1

£ £ £

Release 2

£ £ £ £ £ £

Release 3

£ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £ £

Incremental?

Credits: Jeff Patton

Iterative

Credits: Jeff Patton

How Agile fits into software delivery

Support

Support Documentation

Trained Support Staff

Develop

Working Software

Full Regression Test Suite

Business Realisation

Inception

Business Case

Baseline Requirements/ Stories

Baseline Budget

Release

Inception

High level requirements release 1

release 2

release 3

Decomposing a release…

release x

Prioritized Release

Level Stories

Iterations Stories Completed

Business Value

Delivered

Development

Unit & Integration Testing

Development

Acceptance Testing

Anatomy of an Iteration

Unit & Integration Testing

Acceptance Testing

Iteration Planning

Iteration Planning Development

Last Iteration Current Iteration Next Iteration

Iteration

Kick-off

Meeting

Iteration

Planning

Meeting

Retrospective

Daily Stand-

up Meeting

Deploy to

Production-Like

Environment

Create

Narratives

Unit & Integration Testing

Acceptance Testing

Fix / Integrate $

Test

Code

Design

Specifications

Use Cases / Functional Specs

Requirements Gathering

Project Plan/Estimation

$

Inception

$

$

$

Comparison of the processes

Lower cost of change through higher quality software

Agile system cost profile

Traditional cost profile

Time spent:

lFinding defects

lFixing Defects

lRegression Testing

lDeploying

More defects

found

& corrected –

causes lower

cost of defect

correction

Agile For Different Roles

Agile

Analyst

From business process to user

stories

Prioritization and planning

Define acceptance criteria

Playing proxy customer role

Acceptance / SME testing

Developers/Architects

Test Driven Development

Incremental design and

Architecture

Refactoring

Continuous Integration

Craftsmanship

Discipline

Testers

Early (and incremental) testing

Collaboration with development

Collaboration with analysts

Automate, automate, automate!

Managers

Facilitating

Getting the team what they need

Removing roadblocks

Looking Inwards and Outwards

Self organized teams

Story-Based Requirements

Story Card Format

As a _____,

I want to be able to _____

so that _____ .

Acceptance Criteria

I will know this is done when

_____ .

Key Points to Writing Stories

Keep stories short

Seek a level of granularity that

can be completed in a few days

Keep stories mutually

independent

Do not include implementation

details

Independent

Negotiable

Valuable

Estimable

Small

Testable

Lifecycle of a story

In analysis

Analysed

Ready for

Development

Story huddle

lPrioritised by Product Managers.

lTA and BAs investigate and document requirements

lQAs identify scenarios and acceptance criteria

lRequirements and acceptance criteria are documented

lStory is available to be planned for the next iteration

lIteration planning meeting discusses and estimates the story and

certifies it as available to be worked on by developers

lDevelopers, QA, BA, TA and Tech Lead review the story and

discuss the desired implementation approach

The story lifecycle continues

lGreen build

lTech Lead/Architects review the code

lQA confirms that required automated tests have been implemented

lProduct Managers reviews the functionality

Ready for QA

Ready for

Signoff

Customer

Sign off

In

Development

lDevelopers implement

lBA and Product Manager review progress during implementation

lQAs prepare test scripts

In QA lQA executes manual test scripts

Release Planning

Iteration Planning Meeting

Team Practices: Stand Up Meetings

Visibility- Digitized Card Wall

Visibility- Physical Card Wall

Track progress with Velocity

Progress Tracking

Agile Practices

ORGANIZATIONAL

Automated

Build/Deploy

Automated

Testing

Short Releases

Coding

Standards

Continuous

Integration

On-site

Customer

Co-location

Collective

Ownership

TEAM

Retrospectives

Iterations

IKO

User Stories

Velocity

Metrics

Story Wall

Pair Programming

Sustainable

Pace

Daily

Stand-ups

INDIVIDUAL

Refactoring

Simple Design

Test Driven

Development