agile 2009 texas tour
DESCRIPTION
Agile 2009 Texas Tour. September 2009. Discussion Topics. Introduction Agile 2009 Highlights/Observations Using Agile in Non-ideal Situations. Synerzip in a Nut-shell. Software development partner for small/mid-sized technology companies - PowerPoint PPT PresentationTRANSCRIPT
www.synerzip.com
Agile 2009Texas TourSeptember 2009
Confidential
Discussion Topics
1. Introduction
2. Agile 2009 Highlights/Observations
3. Using Agile in Non-ideal Situations
Confidential
Synerzip in a Nut-shell1. Software development partner for small/mid-sized
technology companies• Exclusive focus on small/mid-sized technology companies• Deep experience in full SDLC – design, dev, QA/testing, deployment• Technology and industry domain agnostic
2. For each client, we assign a dedicated team of high caliber software professionals
• Seamlessly extends your local team, offering full transparency• NOT just “staff augmentation”, but provide full mgmt oversight
3. We actually reduce your risk of development/delivery• Experienced team - uses appropriate level of engineering discipline• Practices Agile development – responsive, yet disciplined
4. Offer 50% lower cost – dual-shore team (India + US)5. Offer long term flexibility – allows (facilitates) taking
offshore team captive
Confidential
Discussion Topics
1. Introduction
2. Agile 2009 Highlights/Observations• Overall Observations• Reconfirmations/Reminders• New Insights• Counterintuitive Observations
3. Using Agile in Non-ideal Situations
Confidential
Overall Observations1. Solid participation, in spite of slow economy
• 1350 attendees this year (vs. 1500 in 2008), from 38 countries• 20 Stages, over 300 sessions, 17 personas
2. Over 70% of organizations have now adopted Agile (IT Union Survey, July09)
3. Top 5 most effective Agile practices - currenti. Continuous integrationii. Daily stand-up meetingsiii. Developer (unit) TDDiv. Iteration planningv. Code refactoring
4. Top 3 Agile practices on wish listi. Acceptance TDDii. Developer TDDiii. Shippable software (every iteration)
Confidential
Reconfirmations/Reminders1. “Agile/iterative teams produce higher quality work, are
quicker to deliver, are more likely to deliver right functionality, and more likely to provide greater ROI than traditional teams”
– Research conclusion by Scott Ambler, Chief Methodologist/Agile, IBM.
2. The real benefit of Agile comes from building only what the customer really needs/values. “Agile is the art of maximizing the work NOT done”
• 64% of features are never/rarely used (2007 Study)• Variety of techniques (Innovation Games by Luke Hohmann) for
eliciting and prioritizing requirements• Really understanding real customer/user’s context and frequently
involving them for feedback (The Dawning of the Age of Experience, keynote address by Jared Spool)
• Use low-fidelity tools (pen and paper) to do rapid, frequent, collaborative UI prototyping with users – e.g. the RITE method.
Confidential
Reconfirmations/Reminders (cont’d)
3. Be careful in your practice of Agile to not become to “development centric”. Pay adequate attention to upstream (requirements definition and prioritization) part and overall business context.
• Real value of actually writing an “MRD” document to set the overall context for the team.
• This was the first year with a separate track/stage on Product Management
• Recognition of product management issues. Product Managers have their priorities geared towards servicing the customers and marketing executives and top management more than developers. By and large, they are unaware and don’t care much for agile. More evolved thinking on how to sell agile to non-agile mgmt/exec.
• On average, 1 Product Owner for every 5-8 person Dev+QA team
4. Unlike traditional methods, Agile requires a lot more cross-functional collaboration – customer, prod mgmt, dev, architect, QA, support, etc. “Software development is a cooperative game” – Alistair Cockburn
Confidential
Reconfirmations/Reminders (cont’d)
5. Only team performance should be measured, NOT individual performance
• There is really no clean way to measure individual contribution in a truly collaborative team. General disenchantment with performance appraisals and formal metrics to measure individual performance
• Motivational Metrics don’t work, use only Informational Metrics (at team/group level only, aggregate and anonymize the data)
• More resources
– www.EsterDerby.com– Book by Rob Austin– Rob Myers, www.agileinstitute.com– James Shore, www.jamesshore.com
6. Majority (59%) of Agile teams are distributed – across continents, time-zones, bldgs, org entities.
• Number of sessions on team collaboration techniques & tools• Great deal of talk on tools for bridging the gap between face-to-face
and offline experience - IM, VOIP, Desktop Sharing, APLM (Agile project lifecycle management), video conferencing, virtual worlds, Web Conferencing etc.
Confidential
Reconfirmations/Reminders (cont’d)
7. Further confirming data on hyper-productive team which are diverse and distributed (Jeff Sutherland)
• Hyperproductive teams by using a shock treatment - no discussion on whether to implement agile practices or not, prove by doing it! Have a 3 month period where the team is forced to follow certain practices. More like a drill or dojo. Members practice agile by repetitively going through the motions. > 240% increase in productivity is achieved.
8. Role of design and development in agile - code is the only design document. All other design documents are to support code. Abstraction should be as late as possible. Early abstraction leads to YAGNI!
9. Lot of stress on visual management - index/ kanban cards, stories on the wall, planning poker, role playing, fish bowl - making requirements, planning and design discussions in a more playful yet effective environment.
Confidential
New Insights1. Conventional Iron triangle of Scope X Cost X Schedule
should be replaced by Value X Quality X Constraints SCOPE
COST SCHEDULE
VALUE
QUALITY CONSTRAINTS• Cost• Schedule
2. Agile Contracts - Recognition that conventional business considerations including traditional contracts get in the way of implementing agile. Contracts that get the customer to commit to agile is a win-win situation.
Confidential
New Insights (cont’d)
3. (Unit)TDD is now a widely adopted practice• 70%+ of organizations practicing Agile, use TDD• Great deal of discussion on how to make TDD more meaningful as a
mode of requirements capture• Requires a very different developer mindset, akin to moving from
procedural to object-oriented• TDD cycle: write_failing_test, write minimal_code_needed_to_pass,
refactor - results in better, cleaner designs– Unit test is the logical design – “What”– Code is the physical design – ‘How”
4. Acceptance TDD now being adopted• 40% of organizations practicing Agile, use ATDD• FITness less popular – too much work required to write fixtures• Behaviour Driven Development (BDD) practices gaining ground – tools
like JDave, EasyB
5. Interesting new tools• Crucible - code review tool - replaces pair programming with code
review as an asynchronous mode of close collaboration. • BuildBot – CI tool - cloud computing could be used to run long running
build processes in distributed teams.
Confidential
Counterintuitive Observations1. Contrary to conventional wisdom, most Agile teams DO
upfront requirements planning and architecture planning before starting development iterations
– On average teams take 3.9 weeks to “warm-up” – doing reqmts modeling, arch planning, env setup, etc. - before starting to code
2. Agile is not just for greenfield development, 78% of Agile projects involve “Legacy Code” in some way.
3. Majority (89%) of Agile teams have to provide upfront cost estimate (Scott Ambler survey)
4. Agilists do write some “interim” and supporting documents.
Confidential
Discussion Topics
1. Introduction
2. Agile 2009 Highlights/Observations
3. Using Agile in Non-ideal Situations
Confidential 15
Impact of non ideal conditionsOutside the iterationInside the iteration
Requirements Analysis Porting/rewrite projectDistributed teamShort project – no timeFor requirements discussionRequirements sign off required.
Start up, co-located team Long project – enough time for requirements discussion. More flexible requirements
Prioritization and estimation
Iteration and release planning
New customer- no trustAll req. “must haves”Iteration zero for POC Or requirements are well documentedShort project
On going relationship- trust Prioritized requirementsEvolution of estimatesthrough dialogue Long project
Fixed scope – product owner not available Rapport with customer team Yet to be establishedDistributed teamShort project
Flexible scopeProduct owner available And involvedGood rapport with the customerColocated teamLong project
Confidential 16
What Doesn’t ChangeProject
PrioritizingRequirements
IterationPlan
TDD
Test
Code Development Scrum
Demo
Testing
CI
Requirements Retrospective
User AcceptanceTesting
End
Time
Act
ivit
y
Planning/Re-planningAnd
Estimate/Re-estimation
• Requirements Analyses, Estimation, and Planning can be inside the iteration or outside the iteration.• However, always have short iterations. • Scrum, TDD, CI , Retrospectives stay unchanged. They are some of the best practices that facilitate Agile delivery and short iterations.
PrioritizingRequirements
IterationPlan
Requirements
Time
Act
ivit
y
Planning/Re-planningAnd
Estimate/Re-estimation
Confidential 17
Selecting the Right Approach1. How tight is time duration?
2. How well elaborated are the business reqmts?
3. Access/availability of customer/end-user?
4. Scope X Resource flexibility?
5. Is the product manager with business or development team?
6. Is QA located with development team or with the customer?
White-board, no real docs
Use Cases w/ Wireframes
Not available, use doc only
Fully available, any time
No flex – fixed resource, scope
Highly flexible
Numbered list of reqmts
Available at start and end of iterationLimited flex
PM with development team
Full time with business users
Part time on both sides
QA entirely with customer
All QA with development team
QA on both sides
Small: < 2 months
Ongoing, > 6 months
Medium: 2 to 6 months
Confidential 18
Case #1: Short, Fixed-Budget Project(s)
1. How tight is time duration?
2. How well elaborated are the business reqmts?
3. Access/availability of customer/end-user?
4. Scope X Resource flexibility?
5. Is the product manager with business or development team?
6. Are QA resources located with development team or with the customer ?
White-board, no real docs
Use Cases w/ Wireframes
Not available, use doc only
Fully available, any time
No flex – fixed resource, scope
Highly flexible
Numbered list of reqmts
Available at start and end of iterationLimited flex
PM with development team
Full time with business users
Part time on both sides
QA entirely with customer
All QA with development team
QA on both sides
Small: < 2 months
Ongoing, > 6 months
Medium: 2 to 6 months
Confidential 19
Project 3
Project 2
Project 1Start
Fixed Bid
Agile Iterations
Assured QualityDesired FunctionalityReturn On InvestmentTimely Delivery
Start
S
RO
I
1
2
3
Requirements
PlanningAnd
Estimate
Time
Act
ivit
y
PrioritizingRequirements
Approved
Re-estimation
Retrospective
Demo
TDD
Test
Code
Development
Scrum
CI
User AcceptanceTesting
End
Successful Project ?
Team ?Cost ?
Quality ? Yes !
Not-Approved
Testing
•Series of fixed budget projects•Requirements, estimation and planning done only in iteration zero•Short iterations with TDD, CI•ROI improves with every project
Case #1: Short, Fixed-Budget Project(s)
Confidential 20
Case #2: Well Defined, Long Project
1. How tight is time duration?
2. How well elaborated are the business reqmts?
3. Access/availability of customer/end-user?
4. Scope X Resource flexibility?
5. Is the product manager with business or development team?
6. Are QA resources located with development team or with the customer?
White-board, no real docs
Use Cases w/ Wireframes
Not available, use doc only
Fully available, any time
No flex – fixed resource, scope
Highly flexible
Numbered list of reqmts
Available at start and end of iterationLimited flex
PM with development team
Full time with business users
Part time on both sides
QA entirely with customer
All QA with development team
QA on both sides
Small: < 2 months
Ongoing, > 6 months
Medium: 2 to 6 months
Confidential 21
Project
Start
PrioritizingRequirements
IterationPlan
TDD
Test
Code
Development
Scrum
Demo
Testing CI
Requirements
Retrospective
User AcceptanceTesting
End
Time
Act
ivit
y
Planning/Re-planningAnd
Estimate/Re-estimation
• Requirements are fixed as this is a porting/rewrite project.• However we continue to re-plan and re-estimate as changing priorities result in requirements being shifted between iterations.
Case #2: Well Defined, Long Project
Confidential
Contact Information
• Hemant Elhence (Dallas based)
– [email protected]– Cell Phone: 214.762.4873
• www.synerzip.com (HQ in Dallas, TX)– 14228 Midway Rd, #130, Dallas, TX 75244– Office Tel: 469.322.0349– Office Fax: 469.322.0490