agile practices - blueberryblueberry.kgisl.com/pages/general/image/agile practices.pdfhow agile fits...

26
Agile practices

Upload: others

Post on 20-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Agile practices - Blueberryblueberry.kgisl.com/Pages/General/Image/Agile Practices.pdfHow Agile fits into software delivery Support Support Documentation Trained Support Staff Develop

Agile practices

Page 2: Agile practices - Blueberryblueberry.kgisl.com/Pages/General/Image/Agile Practices.pdfHow Agile fits into software delivery Support Support Documentation Trained Support Staff Develop

Stages in a Software Development Cycle?

Page 3: Agile practices - Blueberryblueberry.kgisl.com/Pages/General/Image/Agile Practices.pdfHow Agile fits into software delivery Support Support Documentation Trained Support Staff Develop

Traditional Process

Requirement ?

Technology ?

Unknowns ?

Functional specification

Design Specification

Fix / Integrate

Testing

Coding

Inception

£ £ £

Time

50%

Page 4: Agile practices - Blueberryblueberry.kgisl.com/Pages/General/Image/Agile Practices.pdfHow Agile fits into software delivery Support Support Documentation Trained Support Staff Develop

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

Page 5: Agile practices - Blueberryblueberry.kgisl.com/Pages/General/Image/Agile Practices.pdfHow Agile fits into software delivery Support Support Documentation Trained Support Staff Develop

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.

Page 6: Agile practices - Blueberryblueberry.kgisl.com/Pages/General/Image/Agile Practices.pdfHow Agile fits into software delivery Support Support Documentation Trained Support Staff Develop

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

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

Page 7: Agile practices - Blueberryblueberry.kgisl.com/Pages/General/Image/Agile Practices.pdfHow Agile fits into software delivery Support Support Documentation Trained Support Staff Develop

Incremental?

Credits: Jeff Patton

Page 8: Agile practices - Blueberryblueberry.kgisl.com/Pages/General/Image/Agile Practices.pdfHow Agile fits into software delivery Support Support Documentation Trained Support Staff Develop

Iterative

Credits: Jeff Patton

Page 9: Agile practices - Blueberryblueberry.kgisl.com/Pages/General/Image/Agile Practices.pdfHow Agile fits into software delivery Support Support Documentation Trained Support Staff Develop

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

Page 10: Agile practices - Blueberryblueberry.kgisl.com/Pages/General/Image/Agile Practices.pdfHow Agile fits into software delivery Support Support Documentation Trained Support Staff Develop

Release

Inception

High level requirements release 1

release 2

release 3

Page 11: Agile practices - Blueberryblueberry.kgisl.com/Pages/General/Image/Agile Practices.pdfHow Agile fits into software delivery Support Support Documentation Trained Support Staff Develop

Decomposing a release…

release x

Prioritized Release

Level Stories

Iterations Stories Completed

Business Value

Delivered

Page 12: Agile practices - Blueberryblueberry.kgisl.com/Pages/General/Image/Agile Practices.pdfHow Agile fits into software delivery Support Support Documentation Trained Support Staff Develop

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

Page 13: Agile practices - Blueberryblueberry.kgisl.com/Pages/General/Image/Agile Practices.pdfHow Agile fits into software delivery Support Support Documentation Trained Support Staff Develop

Fix / Integrate $

Test

Code

Design

Specifications

Use Cases / Functional Specs

Requirements Gathering

Project Plan/Estimation

$

Inception

$

$

$

Comparison of the processes

Page 14: Agile practices - Blueberryblueberry.kgisl.com/Pages/General/Image/Agile Practices.pdfHow Agile fits into software delivery Support Support Documentation Trained Support Staff Develop

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

Page 15: Agile practices - Blueberryblueberry.kgisl.com/Pages/General/Image/Agile Practices.pdfHow Agile fits into software delivery Support Support Documentation Trained Support Staff Develop

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

Page 16: Agile practices - Blueberryblueberry.kgisl.com/Pages/General/Image/Agile Practices.pdfHow Agile fits into software delivery Support Support Documentation Trained Support Staff Develop

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

Page 17: Agile practices - Blueberryblueberry.kgisl.com/Pages/General/Image/Agile Practices.pdfHow Agile fits into software delivery Support Support Documentation Trained Support Staff Develop

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

Page 18: Agile practices - Blueberryblueberry.kgisl.com/Pages/General/Image/Agile Practices.pdfHow Agile fits into software delivery Support Support Documentation Trained Support Staff Develop

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

Page 19: Agile practices - Blueberryblueberry.kgisl.com/Pages/General/Image/Agile Practices.pdfHow Agile fits into software delivery Support Support Documentation Trained Support Staff Develop

Release Planning

Page 20: Agile practices - Blueberryblueberry.kgisl.com/Pages/General/Image/Agile Practices.pdfHow Agile fits into software delivery Support Support Documentation Trained Support Staff Develop

Iteration Planning Meeting

Page 21: Agile practices - Blueberryblueberry.kgisl.com/Pages/General/Image/Agile Practices.pdfHow Agile fits into software delivery Support Support Documentation Trained Support Staff Develop

Team Practices: Stand Up Meetings

Page 22: Agile practices - Blueberryblueberry.kgisl.com/Pages/General/Image/Agile Practices.pdfHow Agile fits into software delivery Support Support Documentation Trained Support Staff Develop

Visibility- Digitized Card Wall

Page 23: Agile practices - Blueberryblueberry.kgisl.com/Pages/General/Image/Agile Practices.pdfHow Agile fits into software delivery Support Support Documentation Trained Support Staff Develop

Visibility- Physical Card Wall

Page 24: Agile practices - Blueberryblueberry.kgisl.com/Pages/General/Image/Agile Practices.pdfHow Agile fits into software delivery Support Support Documentation Trained Support Staff Develop

Track progress with Velocity

Page 25: Agile practices - Blueberryblueberry.kgisl.com/Pages/General/Image/Agile Practices.pdfHow Agile fits into software delivery Support Support Documentation Trained Support Staff Develop

Progress Tracking

Page 26: Agile practices - Blueberryblueberry.kgisl.com/Pages/General/Image/Agile Practices.pdfHow Agile fits into software delivery Support Support Documentation Trained Support Staff Develop

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