Date post: | 27-Jan-2017 |
Category: |
Software |
Upload: | servan-huegen |
View: | 33 times |
Download: | 0 times |
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
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
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
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
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
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
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
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
Thank you!Don’t hesitate to contact me if you have any questions.
Servan Huegen Co-founder, Operations, Agile Coach @ Node1
+31 615 028 768
Sarphatistraat 370
Amsterdam
The Netherlands
T +31 20 520 6934
www.node1.com
38