As presented at Mile High Agile 2012 in Denver.
Review and discuss the basic agile practices in the context of two games. The first game will illustrate why small batches are important and how they can help you address project risks sooner. The second game will illustrate how small batches can help give you better information about your project sooner and will demonstrate some of the basic agile practices at work like iterations, continuous flow, manage to done, velocity, retrospectives, etc.
3. Steve Rogalsky
@SROGALSKY
WINNIPEGAGILIST.BLOGSPOT.COM
PROTEGRA.COM
4.
5.
6.
7. At Protegra we
employ agile and
lean techniques to
give our clients an Protegra Advantage
advantage – to leap
out of the bowl.
info@protegra.com
blog.protegra.com
www.protegra.com
8.
9. “Is your IT
shop the
place where
great
business
ideas grind
to a halt?”
27. 1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable
software.
2. Welcome changing requirements, even late in development. Agile processes harness
change for the customer's competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter
timescale.
4. Business people and developers must work together daily throughout the project.
5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
6. efficient
The most and effective method of conveying information to and within a development team is face-to-face
conversation .
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
9. technical excellence
Continuous attention to and good design enhances agility.
10.Simplicity- -the art of maximizing the amount of work not done--is essential.
11. The best architectures, requirements, and designs emerge from self-organizing teams.
12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly.
28. 1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
4. Business people and developers must work together daily throughout the project.
5. Build projects around motivated individuals . Give them the environment and support they
need, and trust them to get the job done.
6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development . The sponsors, developers, and
users should be able to maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and good design enhances agility.
10. Simplicity--the art of maximizing the amount of work not done--is essential.
11. self-organizing teams.
The best architectures, requirements, and designs emerge from
12. At regular intervals, the team reflects on how to become more effective , then tunes and
adjusts its behaviour accordingly.
29. "You cannot hold people responsible for
results if you supervise their methods. You
then become responsible for results and
rules replace human judgement, creativity,
responsibility“
- Dr. Stephen R. Covey
30. "Effective leaders set up the conditions of
empowerment and then... get out of people’s
way, clear their path and become a source
of help as requested.“
- Dr. Stephen R. Covey
33. What agile practices did we just
witness?
• Iteration Planning • User Stories
• Prioritized backlog (1-100 • Acceptance Testing
not H/M/L) • Embracing Change
• Manage to Done • Scope management
• Relative estimating • Face to face
• Velocity communication
• Burn up/down • Kanban / Continuous Flow
• Demo • Work in Progress Limits
• Retrospectives • Continually testing for
failure
34. In Closing
Want sooner?
• Be efficient with process
– (think small)
• Be effective with people
Steve Rogalsky
@SROGALSKY
Thanks! WINNIPEGAGILIST.BLOGSPOT.COM
Questions PROTEGRA.COM
Editor's Notes
I am a very experienced agilistIT shops are very response to requestsAgile is suitable for all software projects.
They don’t want you to hurry, write bad code, etcThey want you to finish sooner.
Get all the sandwiches delivered sooner.
Ensure you have the right sandwich
Bad mayo?Cost of finding a defect
Examples: Performance of DBR screenWill people buy it?Does it solve the business problem?Quick Books integration
Burn chart. Do one & multiply
They don’t want you to hurry, write bad code, etcThey want you to finish sooner.
Like on a soccer team. I can step in and play defense even though I’m an offensive specialist.Blurring the lines.Tester can assist with requirementsDeveloper can script the automated acceptance tests
Like on a soccer team. I can step in a play defense even though I’m an offensive specialist.
SOLID principlesDesign PatternsTDDExamplesSwap out databaseSwap out an engine
Talk about testing experienceTalk about risk, assumptions, etc.Deck of cards
When you have an issue, you need to get the answer without waiting, without emailing, without having to document everything.
Efficiency vs. Effectiveness============================Principle: Mutual benefit & respectWin-Win- listen to Green & Clean?- Nurture competency higher than your own- You are the steward of the potential of your team- Share recognition, share responsibility, share ownership. How can your plans reflect this? How does a roles and responsibilities grid help this?- You want the team to win.- Long term win is what you are going for. Sometimes pain and mistakes on the way, but if you nag/correct/control they aren't learning how to do it without you. This is lose-lose - you have to nag, they get nagged.- This robs them of engagement, reward, satisfaction.- Cooperation vs. competitionBegin with the end in mind- Give the description of the desired results (Green & Clean)- Have them see it, don't rush this part. Keep communicating until they understand it.- Give them guidelines, no-nos. e.g don't paint the grass.- Don't tell them what methods to use to solve the problem. - Tap into their resourcefulness, creative energy to achieve the desired results.- Offer them help, be the one- Identify accountability ('the desired results' (why), and the burn/velocity charts as visible status)- If the relationship/trust is good, people will be twice as hard on themselves as you would- "You cannot hold people responsible for results if you supervise their methods. You then become responsible for results and rules replace human judgement, creativity, responsibility"- "Effective leaders set up the conditions of empowerment and then... get out of people’s way, clear their path and become a source of help as requested.""Be efficient with things and effective with people"- play the Green & Clean clip- Being nagged, vs. getting the job done yourself. - example: kanban at home.- Give boundaries, agree on accountability, offer support & help, let them go.- Collective responsibility vs. Individual responsibility- Autonomy - Don't assign/manage tasks, trust them to get it done.- Mastery - Allow them to get better, including the managing.- Purpose - Tell them why.Manage Teams, not tasks.A completed task means nothing, a completed user story means everything.If you break down into tasks, you are going into too much detail (waste)Manage outcomes, not outputStory of the PM who kept updating MS Project, instead of helping the team.Promotes micromanaging (are you done that task?)Assumes the team can't figure outPromotes silosManaging tasks - takes too much timeDan Pink - autonomy, mastery, purposeWhat are you gaining from managing/assigning tasks?
Anna
Conditions of empowermentHelp as requestedClear goalsBrutal Transparency wrt to accountabilityWe no longer:Supervise her methodsAssign her tasksAsk if she’s done yet
Lego gameWIP = 2One PMTeam = 3Show visual in excel