How to Troubleshoot Apps for the Modern Connected Worker
Agile Product Development Workshop
1. Agile Product
Development Workshop
June 23, 2011
Sean Ammirati
Adjunct Professor, Carnegie Mellon University
Thursday, June 23, 2011
2. “Launch early enough to
be embarrassed by your
product’s first version”
Reid Hoffman, Co-Founder & Chairman
LinkedIn
Source: Reid Hoffman - Rules for Entreprenuers SXSW 2012 http://vator.tv/news/2011-03-15-reid-hoffmans-rules-for-entrepreneurs-sxsw
Thursday, June 23, 2011
9. Scrum is ...
Scrum is an iterative, incremental framework for
project management often seen in agile software
development, a type of software engineering.
Although the Scrum approach was originally suggested
for managing product development projects, its use
has focused on the management of software
development projects, and it can be used to run
software maintenance teams or as a general project/
program management approach.
http://en.wikipedia.org/wiki/Scrum_(development)
Thursday, June 23, 2011
11. “If engineering practices are candy
bars, then Scrum is a candy bar
wrapper. That is to say that Scrum
is superimposed on and
encapsulated on whatever
engineering practices already
exist.”
Pg 57 - Agile Software Development with Scrum
Thursday, June 23, 2011
12. Scrum
This will be unique for each of you
based on your team, type of solution
being developed and personal
preferences.
Engineering Could be: XP, Feature Driven
Development, Crystal, Kanban or any
Practices other process your engineering team
is comfortable with.
(often pull aspects from each)
Thursday, June 23, 2011
13. Why we focus on
Scrum?
• Firsthand observed it transform & improve
my last software company - mSpoke
• Being used at some of the largest
technology companies in the world today
(Google,Yahoo!, Adobe, etc ...)
• Provides a great framework for entire team
to understand what is going on.
• Disclaimer: Still hard to build technology and
not a silver bullet
Thursday, June 23, 2011
15. Scrum Process
Source:
http://www.krishnabitla.com/post/2011/02/02/scrum-‐process-‐sprint-‐agile-‐software-‐methodology.aspx
Thursday, June 23, 2011
16. Tips / Tricks on
Implementing Scrum
• Important for everyone to buy in and get familiar with
vocabulary
• Tools for implementing scrum (not necessary):
• Scrumworks - http://www.open.collab.net/products/scrumworks/
• Version One - http://www.versionone.com/
• Rally Software - http://www.rallydev.com/index.php
• Google Doc Template - https://docs.google.com/previewtemplate?
id=0AoBzAQ22ynH5dEpRRkNBVGRCVU1HMmk2enBMYUZZSGc&mode=public
• 10 More Free Scrum Tools -
http://knowscrum.com/10-best-free-scrum-tools/
Thursday, June 23, 2011
17. Product Backlog
• Prioritized list or queue of requirements
• Rough Estimates of level of effort to complete
(not all estimates need to be equally thorough /
higher priority can be more thorough)
• Ultimately Product Owner sets the priority
• Any one (customer, employee, board member,
advisor) can add to product backlog
• Should be shared with the full-team
Thursday, June 23, 2011
20. Tools / Tips for Product
Backlog
• Everyone on team should easily be able to
see the backlog
• I’ve found one “administrator” helpful
logistically
• If not using a full scrum tool, you can do
this easily in a shared spreadsheet
(eg Google Docs)
Thursday, June 23, 2011
21. Time Box / Sprint
• Each sprint:
• Lasts a defined number of days
(time box)
• Has a specific set of requirements from
backlog allocated to it (defined during
“sprint planning meeting”)
• Has specific goals for the team to achieve
(set up front) - “sprint goal”
Thursday, June 23, 2011
22. Release Sprints
• In my experience, release sprints have been
quite helpful.
• However, continuous deployment is
becoming popular in some circles
(Eric Ries http://radar.oreilly.com/2009/03/continuous-deployment-5-eas.html)
• If you do continuous deployment, Scrum
still integrates fine to manage process
(http://knowscrum.com/benefits-of-continuous-integration-in-scrum-best-
practices-in-scrum/)
Thursday, June 23, 2011
23. Tasks for a Sprint
Backlog
• Based on the sprint goal - a list of tasks are
created
• Task estimates should be roughly 4 - 16
hours of work
• Sometimes only a partial sprint backlog can
be created (ie: if one task is define an
internal architecture) - in this case leave
reminders and estimate as soon as possible
Thursday, June 23, 2011
24. Estimates
• All estimates are forward looking
• How much will it take to complete this
feature / requirement?
• Increasing an estimate based on learned
complexity is accepted by the team
• Sprint backlog estimates should be updated
regularly
Thursday, June 23, 2011
25. Velocity / Burn Down
• The average decrease in estimates for the
total effort / time remaining is a sprint’s
velocity
• Overtime velocity becomes very helpful for
planning purposes
• The chart showing daily total of time
remaining is called a burn down chart or
sprint’s signature
Thursday, June 23, 2011
29. Daily Scrum
• Each Day Team Meets to have each team member
report:
• What have you done since the last daily scrum?
• What will you work on between now and the
next daily scrum?
• What got in your way of doing work?
• Many very startups find “daily” to be overkill
because of the small nature of the team- but regular
communication still key
Thursday, June 23, 2011
30. Sprint Review
• At the end of the sprint, the team
demonstrates what they have built
• Compares against the sprint’s goals
• Retrospective to look for improvements at
the end of the sprint
Thursday, June 23, 2011
31. Sprint Review
Jeff Sutherland discusses Demo or Die & the Sprint Review
http://www.youtube.com/watch?v=2Jhf7PcYrzY
Thursday, June 23, 2011
33. Four Letter Words @
37 Signals
• Need
They are especially dangerous
• Must when you string them together.
• Can’t How many times have you said or
heard something like this:
• Easy
• Just “We really need it. If we don’t we
can’t make the customer happy.
• Only Wouldn’t it be easy if we just did it
like that? Can you try it real fast?”
• Fast
Source: http://37signals.com/svn/posts/439-four-letter-words
Thursday, June 23, 2011