from a product vision to a running software... and back again, and agile coach story by andrea...
Post on 14-Sep-2014
2.448 views
DESCRIPTION
Eliciting Requirements and breaking them down into actionable tasks is a challenge that requires both creativity and a systematic and analytical approach. Applying agility to Requirement Engineering, means much more than focusing on full bandwidth communication instead of documentation... Discovering a more empirical approach to Requirement Engineering - an approach that allows you to focus systematically on what needs to be done, as well as allowing creative tension to emerge and find the simplest and more concrete solutions for your Requirements engineeringTRANSCRIPT
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
From the Product Vision to a Running Software...And back again, an Agile Coach story by Andrea Tomasini
agile42 | We make your Agile transition succeed! www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
Andrea Tomasini
Agile Coach & Trainer [email protected]
@tumma72@agile42/coaches
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
Why Agile?
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
Growing Software Complexity
Software complexity in FORD vehicles quadruplicated in 5 years
Software lines in FORD vehicles over 5 years
0
2,5
5
7,5
10
2005 2006 2007 2008 2009 2010
10
6
4,5
3,42,8
2,4
x4
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
Growing Software Complexity
Compared software complexity growth in aerospace and automotive
F-22 Raptor
F-35 Joint Strike
Boeing 787 Dreamliner
S-Class Daimler 98,6
6,5
5,7
1,7
x10
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
Time to MarketDue to globalization effects, and other economical changes, the time to market over time decreased significantly
Deepa Chandrasekaran, Gerard J. Tellis - Marshall School of Business, University of Southern California, Los Angeles, California
1915 1939 1972 1976 1983 1994 1998 2000 2002 2004
13.5 years
3 months
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
Why does that matter?
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
Defined Process ControlThe time required to complete a repeatable action is a valid proxy to predict time to complete
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
68!
10s 20s5s 15s
20 38 5280? 76? 69?
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
Empirical Process ControlEvery step performed while creating a new product is unique, only outcome can be trusted
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
The Product Vision... Why?
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
The vision that inspired a nation.
A statement that had an entire nation striving for the same goal.
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
Moon Shot"I believe that this nation should commit itself to achieving the goal, before this decade is out, of landing a man on the moon and returning him safely to the Earth." !
— Pres. Kennedy, May 25, 1961
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
We choose to go to the moon…“We choose to go to the moon in this decade, not because that will be easy, but because it will be hard -- because that goal will serve to organize and measure the best of our energies and skills -- because that challenge is one that we are willing to accept, one we are unwilling to postpone, and one which we intend to win.”
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
Creating a Vision… with Stakeholders
Peter Senge, Vision Strategies
Col
labo
ratio
n
Effort
Co-Creating
Consulting
Testing
SellingTelling
Agile
Teams
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
for <target customer> who <has a specific need> the <product name> is a <product category> that <key benefit> unlike <list of competitors products> our product <additional benefits>
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
for music lovers, who want to listen to their music wherever they go, the iPod is a digital music player, that allows to bring all your music in your pocket unlike traditional CD players, our product will contain 5000 songs, will last days on battery and will allow to sync all your music from the PC to the iPod in minutes
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
Do we understand WHY we are doing this?
The Vision sets a common direction for the Project, every participant needs to understand and share it, to be able to contribute effectively, and be motivated…
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
Lean Canvases... What?
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
Lean Portfolio Canvas™ have been created by agile42 and are licensed using Creative Common 3.0 with attribution (by), non commercial usage (nc) and share alike (sa) options. You can reuse and modify the template, but you will always have to leave the logo on it
Feature Name (title)
1. Opportunity 2. Customer SegmentsWhat is the problem to be solved? What type of customers & users will
benefit from this solution?
How is the customer solving the problem right now?
3. Possible SolutionWhat are the key points of a possible solution to the presented problem?
4. BenefitsWhat are the benefits for the customers?
What are the benefits for internal stakeholders?
6. Measuring SuccessWhat metrics will be best measure the success of the feature?
5. Business ReadinessWhat steps are required from the business side to be able to use this capability?
7. Cost of DelayWhich profile better represent the cost of delay (CoD)?
8. Costs StructureHow does the cost structure look like for such a feature? One time, ongoing costs, contractors expenses, development costs?
9. Value to Customer and BusinessWhat are the expected incremental revenue for selling this feature, and what are the strategic and tactical benefit? What are the intangible values (usability, performance, customer knowledge obtained...)
It will contain 5000 songs
Current digital music player can only hold up to 20 songs
Re-sync their music frequently
- Jogging lovers - Bicycle riders - Music Professionals
- media store 1000+ songs
- fit in a pocket - compression
- no need to sync often
- change mood change song
- playlists
- addressing a new market
- micro engineering
- partnership with component builder
- sales channels - Packaging - Agreement with Music Firms?
- Hardware development cost - SKU costs target $170.00 - 3rd parties licenses for digital music
- Usability with one hand - Long battery life - All songs you own in one place
- store 1000 songs (HQ)
- 1000 early adopters/week on 1st monthHow Can
we test
this?
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
Minimal Viable Product
Experiment with Target
Consolidate
learnings
Evolve
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
Do we understand and agree on WHAT are the needs?
A Lean Canvas serves as a container to represent a specific need, and allow to have a structured conversation with the stakeholders, and agree on the objectives…
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
User Stories... How?
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
Agile Teams normally work with User Stories to agree what needs to be built and how…As a runner I want to be
able to store all of my songs on the iPod, so that I will not have to chose which songs to bring with me when jogging
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
- I own around 1000 songs, and I want them to fit in - I want to have good quality
User Stories do have Acceptance Criteria on their back, Team wouldn't commit to them, without knowing how to get them done!
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
Solutions emerge as a result of the User Stories conversation within the team…
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
Do we know HOW to solve these needs?
The easiest way to share a solution and create a common understanding is to be able to describe the User’s needs. User Stories are a very powerful and yet simple tool to facilitate that key conversation to happen…
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
How would we know when we are DONE?
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
How can we learn what needs to be fulfilled? How can we keep the focus on it?- I own around 1000 songs,
and I want them to fit in - I want to have good quality
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
“Scenario” Given <context> When <action> Then <expected result>
GherkinCu
cumbe
r
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
- I want to be able to sync a song with a click - I want to add the song to my “Favorite” playlist
Scenario 42: Sync a song with a click Given I have selected the song on iTunes and my iPod is connected to my Mac When I press the sync button Then I expect the song to be transferred on my iPod and I expect to see a confirmation message in iTunes
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
ATDD
Unit tests Component Integration
tests
Performance security, load
testing
Exploratory & Usability testing UAT
Q2
Q1
Q3
Q4
Business-facing
Technology-facing
Supp
ort t
he te
am
Critiq
ue th
e pr
oduc
t
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
ATDD aka BDD aka
Story-testing
Business-facing
Supp
ort t
he te
am
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
Write code to pass the test
Add an acceptance test
Fails?
Acceptance test passes?
Acceptance Test Driven Development
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
UndefinedUndefinedUndefined
- I want to be able to sync a song with a click
Acceptance Test #1
Step 1 Step 2 Step 3X XV XV V
V- I want to add the song to my “Favorite” playlist UndefinedUndefined
Acceptance Test #2
Step 1 Step 2VVVDone!
Done is not an opinion ;-)
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
Adapting vs. Defining“At the University of California at Irvine, ... they just planted grass... they waited a year and looked at where people had made paths in the grass and built the side walks there.”
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
Agile Engineering Practices
Delivering fast requires new methods... and new tools
People need to learn new tools and new practices...
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
Add a test
Run the test & check failure
Write code to pass the test Run tests see all pass
Re-Factor
Re-Test
Test Driven Development
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
TDD
Cyc
leAdd an acceptance
test
Fails?
Acceptance test passes?Add a test
Run the test & check failure
Write code to pass the test Run tests see all pass
Re-Factor
Re-Test
ATDD + TDD
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
Agile Engineering Practices
There is no “perfect” tool and there is no tool forever...
and have the courage to leave behind the Old tools which are not supportive anymore
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
Community of PracticeLearning as Doing... Learning as Belonging... Learning as Becoming... Learning as Experience
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
BacklogDefinition of Ready
Definition of Done
Shippable Product
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
Now that we know we are DONE...
we can look back to our original need an have a Confirmation that the solution we implemented is the right one to fulfill that need...
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
so what?
agile42 | We make your Agile transition succeed! www.agile42.com | All rights reserved. Copyright © 2007 - 2014.agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.
1. Agile development allows to accelerate the feedback loop and validate assumption faster
agile42 | We make your Agile transition succeed! www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
agile42 | We make your Agile transition succeed! www.agile42.com | All rights reserved. Copyright © 2007 - 2014.agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.
2. Don’t fear to fail, create safety containers to enable learning faster from failure, and adapt…
agile42 | We make your Agile transition succeed! www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
agile42 | We make your Agile transition succeed! www.agile42.com | All rights reserved. Copyright © 2007 - 2014.agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.
4. “Perfection is achieved not when there is nothing left to add, but when there is nothing left to take away” – Antoine de Saint-Exupery
agile42 | We make your Agile transition succeed! www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
agile42 | We make your Agile transition succeed! www.agile42.com | All rights reserved. Copyright © 2007 - 2014.agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2009.
3. “Delivering the right thing requires iterating, trying to get it right the first time… it’s foolish!” - Andrea Tomasini
agile42 | We make your Agile transition succeed! www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
agile42 | We make your Agile transition succeed! www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
Thank
You!
agile42 | We advise, train and coach companies building software www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
More food for thought...
http://slideshare.net/tumma72
agile42 | We make your Agile transition succeed! www.agile42.com | All rights reserved. Copyright © 2007 - 2014.
Copyrights noticeAll material produced in this presentation is protected by the Creative Common License 4.0 (by-nc-sa).