agile build

38
Agile Build Servan Huegen Co-founder, Operations, Agile Coach @ Node1 1 Agile software development explained

Upload: servan-huegen

Post on 27-Jan-2017

33 views

Category:

Software


0 download

TRANSCRIPT

Agile Build

Servan Huegen Co-founder, Operations, Agile Coach @ Node1

1

Agile software development explained

Introduction

Agile manifesto

Scrum essentials

Large scale agile approaches

Lean Startup

Subjects

1

2

3

4

5

2

Introduction

Software developmentTRADITIONAL / WATERFALL APPROACH

Analysis

Design

Coding

Test

TIME

50% time spend, 50% useable?

4

5

20% time spend = 100% useable

Analysis

Design

Coding

Test

End to end small slices of work

AGILE / SCRUM APPROACH

Software development

TIME

5

Traditional vs. Agile approach

Analysis Design Coding Test

0.5 1.0 2.0

1.0

TIME

6

Incremental and iterative

7

Project characteristics

Time

Scope

Quality

Budget

Waterfall

Time

Scope

Quality

Budget

Agile

variable

fixed

8

Time spent on:

• Finding defects

• Fixing defects

• Regression testing

• Deploying

Cost versus Time

Agile / Scrum cost profile;

More defects found and

corrected, causes lower

cost of defect correction. Time

Tradition waterfall cost profile

Agile / Scrum cost profile

Cost of change

9

Some Agile initiatives

• Extreme Programming (XP)

• Agile Modeling

• Adaptive Software Development

(ASD)

• Crystal Clear and Other Crystal

Methodologies

• Dynamic Systems Development

Method (DSDM)

• Feature Driven Development (FDD)

• Lean software development

• Rational / Agile Unified Process

(RUP / AUP)

• Continuous integration

• Scrum

• Kanban

• Spotify engineering culture

• SAFe

• Large Scale Scrum (LeSS)

10

Agile Manifesto

Uncertainty

is the only

certainty

there is.

* in the style of John Allen Paulos

Manifesto for Agile Software Development

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Response to change over following a plan

Source: http://agilemanifesto.org/ 13

Twelve Agile principles

1. Customer satisfaction by rapid delivery of useful

software

2. Welcome changing wishes and needs, even late in

development

3. Working software is delivered frequently (weeks

rather than months)

4. Working software is the principal measure of

progress

5. Sustainable development, able to maintain a

constant pace

6. Close, daily cooperation between business people

and developers

7. Face-to-face conversation is the best form of

communication (co-location)

8. Projects are built around motivated individuals, who

should be trusted

9. Continuous attention to technical excellence and

good design

10.Simplicity —the art of maximizing the amount of

work not done— is essential

11.Self organizing teams

12.Regular adaptation to changing circumstances

Source: http://agilemanifesto.org/principles.html 14

Scrum Essentials

16

Scrum in a nutshell

Product Owner

• Owns the Product Backlog as he / she has to maximize

the Return of Investments of the product.

• Is responsible to define the content and prioritize the

value.

• Decides release date and content. Discusses and agrees

with the stakeholders what to do and why.

• Discusses and agrees with the development Team how

to represent in the backlog what needs to be done.

17

The Team• The (Development) Team is a cross-functional team,

meaning every skill needed to create a potentially

shippable product increment must be in the team.

• It is normally seized around 7±2 members.

• Is responsible for the product quality.

• Defines how to implement the functionalities into the

product.

• Prepares the Sprint Review meeting and performs

Sprint Retrospectives to improve efficiency.

18

Scrum Master / Agile Coach

• Owns the Scrum framework and coaches every participant in

the correct usage of the Scrum ceremonies, artefacts as well

as the role responsibilities.

• Facilitates the Team in preparing the Sprint Review meeting.

• Facilitates the Product Owner in preparing the Sprint

Planning meeting.

• Prepares and facilitates the Daily Standup meeting.

• Protect the Team from interferences during a sprint and

coaches them to become more effective.

19

Scrum Process (1/2)

At the start of the Sprint, the Product Owner and team get together to clarify and

estimate the desired result, priorities and acceptance criteria during the Sprint Planning

or Grooming Session.

During the Sprint, the planned activities will be executed with the aim to deliver the

desired results. This is an incremental and iterative process to extended and improved

the product. A Sprint has a fixed duration of one to four weeks (more often one or two

weeks).

The created product or result should meet the agreed acceptance criteria. Both

functional and non-functional requirements are defined in the Definition of Done

related to the Sprint.20

1

2

3

Scrum Process (2/2)

The result which is delivered at the end of the Sprint meet the required and

agreed quality and is complete as possible that it can be implemented on the

production environment, defined as Potential Shippable Software. At the end of the Sprint, the team demonstrate the result to the Product

Owner and his / her stakeholders. The Product Owner decides which part will

be implemented on the production environment.

During the Retrospective Meeting the team harvest what went well and what

should have done better to improve the velocity of the team.

21

4

5

6

Scrum essentials

• Maximize velocity of team through:

focus!

• Accept failure and learn from it

• Accept continues change

• Structured and well-known pattern:

heartbeat

• Make progress visible: Kanban

board, Burn down chart, Beer chart

• Approval via demo meeting

• Continue improvement through

retrospective meeting

• Empower development team: give team

trust and responsibility

• Professionals in multi discipliner team:

team members have multiple roles

• Team is committed

• Mandated Product Owner

• Scrum Master facilitates team to improve

velocity

• Dedicated and involved customer

• Daily standup to share status and

blockades22

Scrum in a nutshell

23

24

Changing roles and responsibilitiesProduct Owner Project Manager Agile Coach /

Scrum Master

Manage / prioritise Product Backlog

Available for the team

Available for Sprint Planning

Allow the Team to plan the work

Respect Sprint boundaries

Vision, Voice of the customer

Pricing

Marketing communication

Organize funding

Detailed Work Breakdown Structure Creation

Agile process expert, evangelist

Facilitate creativity and empowerment

Encourage self-organization

Encourage improvement of team velocity

Market research

Ensure the project meets its objectives

Negotiate with the Team

Manage scope, date and budget

Manage stakeholder communication

Visualize, communicate and radiate information

remove impediments / blockades for the Team

Member of the Team (team player, no manager)

25

Product Manager

Large scale agile approaches

Multiple approaches

• Scrum of Scrums

• Spotify Engineering Culture

• Large Scaled Scrum (LeSS)

• Scaled Agile Framework (SAFe)

28

Scrum of Scrums

• Ambassador / team member

• Eventually via video- or

teleconference

• Ambassadors have a

frequent stand-up

29

30

31

32

Lean Startup

Lean Startup: Customer Development

Problem - Solution Fit

Proposed MVP

Proposed Funnel(s)

Product -Market Fit

Repeatable Business Model

Sales & Marketing Roadmap

Scale Execution

Scale Organisation

Scale Operations

PivotSource: http://theleanstartup.com/

Company BuildingCompany CreationCustomer ValidationCustomer Discovery

34

Minimal Viable Product• The Minimum Viable Product is a product which has just enough features to gather

validated learning about the product and its continued development.

• Gathering insights from an MVP is often less expensive than using a product with

more features which increase costs and risk in the case where the product fails for

example due to incorrect assumptions.

• It is a strategy targeted at avoiding building products that customers do not want that seeks to maximize the information learned about the customer per dollar spent.

• The minimum viable product is that version of a new product which allows a team

to collect the maximum amount of validated learning about customers with the least effort.

Source: https://en.wikipedia.org/wiki/Minimum_viable_product 35

Minimal Viable Product

36

NOT LIKE THIS…

LIKE THIS…

1 2 3 4

1 2 3 4 5

Thank you!Don’t hesitate to contact me if you have any questions.

Servan Huegen Co-founder, Operations, Agile Coach @ Node1

[email protected]

+31 615 028 768

Sarphatistraat 370

Amsterdam

The Netherlands

T +31 20 520 6934

www.node1.com

[email protected]

38