DevoxxFR 2024 Reproducible Builds with Apache Maven
Agile and lean product development the fundamentals
1. Delivering value early
and often, giving
ourselves the best
opportunity to beat the
competition to market,
realize revenue and
discover insights that
we can use to help us
improve
The Fundamentals
3. What's in it for You
The Business Proposition
Mastering Agile and Lean Product (System-Software)
Development with Scrum
User Stories Applied
5 Levels Agile Planning
Monitoring Progress and Business Value-Added
3
8. A Common Delivery Framework
Common Delivery Framework
Work Type
USAIT performs multiple types of work:
A common delivery framework
Standard Practices
(programs, projects, enhancements, of
introduces a consistent governance
break-fix, maintenance operations)
work prioritization, selection, Solution Approach
communication and representation of
These work progression to completion
that work‟s types are supported by
standard practices whichCommittee,
(i.e. Executive Steering establish
expectations of theCommittee,
Portfolio Steering minimum activities
that must be conducted Committee,
Infrastructure Steering to ensure a
viable solution is created (i.e.
Architecture Review Board,
requirements, funding, testing,
Enterprise Change Management
deployment)
At the core of the framework is the solution approach – where the actual work gets
done. The framework itself may establish guidelines to aide in choosing a solution
approach, but does not dictate any particular approach.
The team doing the work is empowered to make this choice!
8
12. Our highest priority is to satisfy the customer through early and The most efficient and effective method of conveying information to and
continuous delivery of valuable software. within a development team is face-to-face conversation.
Welcome changing requirements, even late in development. Agile processes promote sustainable development. The sponsors,
Agile processes harness change for the customer's competitive developers, and users should be able to maintain a constant pace
advantage. indefinitely.
Deliver working software frequently, from a couple of weeks to a Continuous attention to technical excellence and good design enhances
couple of months, with a preference to the shorter timescale. agility.
Business people and developers must work together daily Simplicity--the art of maximizing the amount of work not done--is
throughout the project. essential.
Build projects around motivated individuals. Give them the The best architectures, requirements, and designs emerge from self-
environment and support they need, and trust them to get the job organizing teams.
done. At regular intervals, the team reflects on how to become more effective,
Working software is the primary measure of progress. then tunes and adjusts its behavior accordingly. 12
13.
14. What's in it for You
The Business Proposition
Mastering Agile and Lean Product (System-Software)
Development – including hands-on exercise
User Stories Applied
5 Levels Agile Planning
Monitoring Progress and Business Value-Added
14
15. Recent
Data Points
Russell Pannone (805) 910-6481 15
19. Gain
feedback Accept Lower
through change project risk
iterative without through
incremental slowing higher
value down visibility
delivery
Delivering
value early
and often,
giving
ourselves
the best
opportunity
to beat the
competition
to market,
realize
revenue
and
discover
insights
that we can
use to help
us improve
19
23. Reduce Waste Feedback Loops
• Remove what isn’t of • Sprint Review & Planning
value to the customer • Sprint Retrospective
• Quicker delivery of value • Daily Scrum
& ROI
23
24. What's in it for You
The Business Proposition
Mastering Agile and Lean Product (System-
Software) Development
User Stories Applied
5 Levels Agile Planning
Monitoring Progress and Business Value-Added
24
26. Usage scenario
– When a project team wants to “be” agile they
self-organize & self-direct around the 9 practices
– The team then selects 1 or more practice to
apply to their work at hand
Benefits
– Iterative & Incremental adoption of “being”
agile and lean
– Gives team a context and narrow focus to rally
around
– Provides a non-threatening easy way for team
to learn together, “be” agile, apply an iterative
and incremental approach, and get better at
what we do
26
40. What's in it for You
The Business Proposition
Mastering Agile and Lean Product (System-Software)
Development – including hands-on exercise
User Stories Applied
5 Levels Agile Planning
Monitoring Progress and Business Value-Added
40
41. User Stories Business Story Points
Priority
Story A 1 5
Story B 2 8
Story C 3 1
Story D 4 8
Story E 5 2
Story F 6 2
Story G 7 2
Story H 8 8
Story I 9 5
Story J 10 1
Copyright@ 2008 Russell Pannone. All rights reserved. 41
42. A story is a “placeholder”
for a requirement formulated as a
brief description written in the
everyday language of the customer
or user describing desired
functionality; containing just
enough information so that the
product team can produce a
reasonable estimate of the effort to
implement it
Copyright@ 2008 Russell Pannone. All rights reserved. 42
57. Why are We
Doing This
1. Refine team‟s understanding of
requirements (stories)
2. Estimate level-of-effort
3. Derive high-level cost, schedule,
and scope
57
69. If my velocity, as a painter is 30–40 points every 2 days,
and
I have 10 homes to paint, like this, I have a total of 490 points
(49 points X 10 houses = 490 total points)
----------------------------------------------------------------------
I can then take the mean of my velocity which is 36
and
figure out how many sprints/iterations I would have
490 / 36 = 13.6111
----------------------------------------------------------------------
Since my sprints/iterations are 2 days long it will take me
27 – 28 calendar days to complete this job
2 (days per sprint) X 13.6111 (number of sprints) = 27.2
69
72. What's in it for You
The Business Proposition
Mastering Agile and Lean Product (System-Software)
Development – including hands-on exercise
User Stories Applied
5 Level Agile Planning
Monitoring Progress and Business Value-Added
72
74. 5 levels of Agile Planning
What, Who, Why, When, Constraints,
Product Vision Assumptions
Releases – Date, Theme/Feature Set,
Product Roadmap Objective, Development Approach
Iteration, Team Capacity, Stories, Priority,
Release Planning Size, Estimates, Definition of Done
Stories – Tasks, Definition of Done
Iteration Planning Level-of Effort, Commitment
1. What did I do yesterday?
Daily Planning 2. What will I do today?
3. What is blocking me?
75. Integrating Agile and Lean
System-Software Development with a
Project Delivery Framework
76. A common delivery framework
Common Delivery Framework
USAIT performs multiple types of work:
A common delivery framework
(programs, projects, enhancements, of
introduces a consistent governance Work Type
break-fix, maintenance operations)
work prioritization, selection, Standard Practices
These work types are supported by of
communication and representation
standard practices whichto completion
that work‟s progression establish Solution Approach
(i.e. ESC, PSC, ISC, ARB, ECM,
expectations of the minimum activities
phases)
that must be conducted to ensure a
viable solution is created (i.e.
requirements, funding, testing,
deployment)
At the core of the framework is the solution approach – where the actual work gets
done. The framework itself may establish guidelines to aide in choosing a solution
approach, but does not dictate any particular approach.
The team doing the work is empowered to make this choice!
76
Delivery Framework
78. Product Vision What, Who, Why, When, Constraints, Assumptions
Releases – Date, Theme/Feature Set,
Product Roadmap Objective, Development Approach
Iteration, Team Capacity, Stories, Priority,
Release Planning Size, Estimates, Definition of Done
Stories – Tasks, Definition of Done
Iteration Planning Level-of Effort, Commitment
1. What did I do yesterday?
Daily Planning 2. What will I do today?
3. What is blocking me?
79. Product Vision
What
Who (Stakeholders)
Why
When
Constraints &
Assumptions “If you don't know where you are
going, that's where you'll end up.”
-Yogi Berra
79
80. Product Vision
What
Summary of the major benefits and features the product will provide
Gives context to the reader
Defines the business context for the product. In which domain is it going to
function (for example, telecom or bank) and what market—who are the users?
State whether the product is being developed to fulfill a contract or if it is a
commercial product.
Who (Stakeholders)
There are a number of stakeholders with an interest in the development and not
all of them are end users. Think of this as outside-in-design.
Customer/Consumer
Other vested interests
Provides the background and justification for why the requirements are needed
Continued on Next Page
80
81. Continued from Previous Page
Why
Need and opportunity
When
Begins the process of project scheduling by illuminating the stakeholders’ time expectations
regarding the product. Also helps you dig into their expectations by defining the circumstances in
which the new product would be used.
Constraints & Assumptions
Express the constraints under which the project is undertaken. These constraints impact risk and
cost. They could be things like external interfaces that the product must adhere to, standards,
certifications or a technical approach employed for strategic reasons, such as using a certain
database technology or distribution mechanisms.
82. What, Who, Why, When, Constraints,
Product Vision Assumptions
Releases – Date, Theme/Feature Set, Objective,
Product Roadmap Development Approach
Iteration, Team Capacity, Stories, Priority,
Release Planning Size, Estimates, Definition of Done
Stories – Tasks, Definition of Done
Iteration Planning Level-of Effort, Commitment
1. What did I do yesterday?
Daily Planning 2. What will I do today?
3. What is blocking me?
83. If you don't know where you are going, it's impossible to determine the
best way to get there.
A product roadmap is an essential tool for product planning and
development.
Product roadmaps outline when products are scheduled for release and
include an overview of their primary and secondary features.
83
84. Tooling Life Cycle
Reporting
Life Cycle
Planning/ Receiving/ Inventory Tool End of
Procurement
Sourcing Warehousing Management Utilization Life
Tool received OEM or tooling
Need for a TB submits SC will bin
at PIT Tool utilized deems tool
tool & quantity PR through or check out
USA dock On aircraft unserviceable
defined Sceptre For use
SC receives and Tool shipped
bins the tool Kit back to USA
Process Steps
TS sources TP generates PO Tool then
& gets quote/ that transmits management checked in/out, PIT
delivery date to OEM Tool Sup checks calibrated, shipped,
for damage & Reported on
calibration Tool repeatedly Tool Sup marks
Repair tool BER, lost
OEM confirms or other
price & LT Tool Sup gives
stores
next steps
Theme Tool changed
OEM makes Stores stocks To inactive
tool part or ships to
another location Note: some of these
= System Transaction Process steps may Tool held
TS = Technical Sourcer vary at non-maintenance In case of
TP = Technical Purchaser Tool arrives Future need
Tool Sup = Tooling Supervisor at new station stations For it
TB = Tooling BA
LT = Lead Time
USA = US Airways Tool received
SC = Stock Clerk in Sceptre 84
BER = Beyond Economical Repair
91. What, Who, Why, When, Constraints,
Product Vision Assumptions
Releases – Date, Theme/Feature Set,
Product Roadmap Objective, Development Approach
Iteration, Team Capacity, Stories, Priority, Size,
Release Planning Estimates, Definition of Done
Stories – Tasks, Definition of Done
Iteration Planning Level-of Effort, Commitment
1. What did I do yesterday?
Daily Planning 2. What will I do today?
3. What is blocking me?
99. What, Who, Why, When, Constraints,
Product Vision Assumptions
Releases – Date, Theme/Feature Set,
Product Roadmap Objective, Development Approach
Iteration, Team Capacity, Stories, Priority,
Release Planning Size, Estimates, Definition of Done
Stories – Tasks, Definition of Done Level-of Effort,
Iteration Planning Commitment
1. What did I do yesterday?
Daily Planning 2. What will I do today?
3. What is blocking me?
102. Working software & demo
Unit test
Code review
Installer
Tests
Functional
Performance
Regression
Documentation
User docs/Online help
Internal design docs
Release notes
API documents
Copyright@2009 SolutionsIQ All rights Reserved
102
Copyright@ 2008 Russell Pannone. All rights reserved.
103. What, Who, Why, When, Constraints,
Product Vision Assumptions
Releases – Date, Theme/Feature Set,
Product Roadmap Objective, Development Approach
Iteration, Team Capacity, Stories, Priority,
Release Planning Size, Estimates, Definition of Done
Stories – Tasks, Definition of Done
Iteration Planning Level-of Effort, Commitment
1. What did I do yesterday?
Daily Planning 2. What will I do today?
3. What is blocking me?
106. Reduce Waste Feedback Loops
• Remove what isn’t of • Sprint Review & Planning
value to the customer • Sprint Retrospective
• Quicker delivery of value • Daily Scrum
& ROI
106
107. What's in it for You
The Business Proposition
Mastering Agile and Lean Product (System-Software)
Development – including hands-on exercise
User Stories Applied
5 Levels Agile Planning
Monitoring Progress and Business Value-Added
107
110. Velocity Chart Example
45
40
35
30
25
Velocity
20
15
10
5
0
1 2 3 4 5 6 7 8 9 10
Sprint 110
Copyright@ 2008 Russell Pannone. All rights reserved.
111. Burndown Chart consists of
Story Points
| | | | | | | | | | |
S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11
On a Scrum project, the team tracks its progress against a release plan by
updating a release burndown chart at the end of each Sprint.
The horizontal axis of the release burndown chart shows the Sprints; the
vertical axis shows the amount of work remaining at the start of each Sprint in
Story points.
Copyright@ 2008 Russell Pannone. All rights reserved. 111
113. Gain
feedback Accept Lower
through change project risk
iterative without through
incremental slowing higher
value down visibility
delivery
Delivering
value early
and often,
giving
ourselves
the best
opportunity
to beat the
competition
to market,
realize
revenue
and
discover
insights
that we can
use to help
us improve
113
114. Reduce Waste Feedback Loops
• Remove what isn’t of • Sprint Review & Planning
value to the customer • Sprint Retrospective
• Quicker delivery of value • Daily Scrum
& ROI
114