L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
Being AgileWhile Trying to Do Many Things At Once
Robert WalshPresident
EnvisionWare, [email protected]
1Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
Agenda
• Who is EnvisionWare?
• The Problem
• What We’ve Tried
• Next Steps
• Conclusion
2Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
Who is EnvisionWare?
3Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
Who is EnvisionWare?
• Library technology company
• Focus on products for patron self-service
• Develop most, OEM some
• Founded in 1998
• Have grown from 2 to ~60 employees in just over 10 years
4Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
Who is EnvisionWare?
• Using Agile processes and principles since around 2002
• XP for engineering practices
• Scrum for project management
• 2 week iterations
• A few near shore developers on contract
5Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
The Problem
6Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
The ProblemLPT:One
PC Reservation
Authentication and Accounting Module
eCommerce Services
BarcodePlus
OneStop
RFIDLink
iLink
StaffLinkPINPal
LibraryPDA
Launch Command
Many products
7Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
The Problem
Most products composed of multiple modules
8Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
The ProblemWindows 95
Windows 98
Windows Millenium Edition
Windows NT
Windows 2000
Windows XP
Windows Server 2003
Windows 7
Windows Server 200832 / 64 bit
Mac OS X 10.5
Mac OS X 10.6
Many supported platforms
9Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
The ProblemC++
Java
Ruby
Perl
PHP
jRuby
Javascript
HTMLDistributed Ruby
AJAX
Many supported languages and technologies
10Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
The Problem
• Small staff
• 6 Developers
• Maximum of 9 over company history
• 3 QA
• 2 Technical writers
11Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
The Problem
• Few automated acceptance tests
12Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
The Problem
• Single, largely interdependent code base
13Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
The Problem
• How do we allocate our scarce technical resources to support, maintain, and extend all of our current products while preserving our competitive edge by creating innovative new products?
14Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
What We’ve Tried
15Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
What We’ve Tried
• Approach #1
• Maximum flexibility for the Customer
16Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
What We’ve Tried
• Maximum flexibility for the Customer
• Treated the entire code base and story backlog as a “product”
• Customer allowed to focus on any component in each iteration
17Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
What We’ve Tried
• Maximum flexibility for the Customer
PCR
LPT
ECS
AAM
OS
RLK
PCR
ECS
RLK
LPT
AAM
OS
LPT
PCR
ECS
18Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
What We’ve Tried
• Maximum flexibility for the Customer
• Treatment of defects
• Defects had to be prioritized like any other story
19Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
What We’ve Tried
• Maximum flexibility for the Customer
• Benefit: Customer able to choose highest priority stories each iteration
• Maintenance, new features, and defects treated equally
20Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
What We’ve Tried
• Maximum flexibility for the Customer
• Problem: Too little time to achieve significant business value in each component
21Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
What We’ve Tried
• Maximum flexibility for the Customer
• Problem: Too much productivity lost to context switching
22Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
What We’ve Tried
• Maximum flexibility for the Customer
• Problem: Too much overhead associated with making the components deliverable
23Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
What We’ve Tried
• Approach #2
• Track system
24Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
What We’ve Tried
• Track system
• Customer agrees to limit scope to tracks
• Number of tracks determined by available resources
• Development, QA, Documentation resources assigned to each track
• Track focus switches quarterly
• One track dedicated to maintenance
25Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
What We’ve Tried
• Track system
PCR
LPT
Maint
OS
Maint
ECSPCR
Maint
ECS
LPT OS
Maint
LPT
PCR
Maint
26Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
What We’ve Tried
• Track system
• Treatment of defects
• Defects found in same iteration as story were fixed in that iteration
• Defects found in later iteration went into product backlog for Customer to prioritize for future iteration
27Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
What We’ve Tried
• Track system
• Benefit: Technical resources able to focus on same components for longer periods of time
28Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
What We’ve Tried
• Track system
• Problem: Maintenance concerns sometimes greater than one track could handle
• Resources shifted, delivery delayed
• Delays affect future track focus
• Unable to meet business priorities
29Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
What We’ve Tried
• Track system
• Problem: QA and Documentation unable to keep pace with development
• Also delayed delivery
• Defects found in later iterations interfered with future release schedule
30Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
What We’ve Tried
• Track system
PCR
LPT
Maint
OS
Maint
ECSPCR
Maint
ECS
LPT OS
Maint
LPT
PCR
Maint
PCR
LPT
PCR
31Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
Next Steps
32Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
Next Steps
• Track system has merits
• Development appreciates extended focus
• Customer able to lump together batches of features to deliver significant business value in each release
33Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
Next Steps
• Key areas to address
• May need to shorten track interval from 3 months to 6 weeks
• Give Customer more flexibility to select mini-projects
• Small features in minor products
• Service packs for maintenance
34Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
Next Steps
• Key areas to address
• Must find ways to release at the end of each interval
35Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
Next Steps
• Key areas to address
• Business must adhere to “fix the schedule, adjust the scope”
• Quarterly releases tend to align with major trade show opportunities
36Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
Next Steps
• Key areas to address
• QA and Documentation need to keep pace with Development
• More automated tests
• Better TDD in Development to improve quality of work going to QA
37Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
Next Steps
• Key areas to address
• Change how defects are treated
• All defects are triaged when found
• If defect must be fixed as part of current release, it is injected into current iteration
38Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
Conclusion
39Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
Conclusion
• It can be difficult to be Agile with many products, all of which continue to evolve over time
• Agile often does not address product maintenance
40Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
Conclusion
• Successful solution should balance the needs of the Customer and the Technical Resources
41Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
Conclusion
• Releasing product with few defects is crucial
• Release brings closure and allows all to move forward
• Low defect rates prevent backsliding
42Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
Conclusion
• Automated testing is essential
• Fast pace of Agile development makes manual regression testing impractical
• Must be done at both the Unit and the Acceptance level
43Tuesday, October 12, 2010
L i m a , P e r ú – 4 a l 7 d e O c t u b r e 2 0 1 0
Copyright©2010 Robert Walsh - All Rights Reserved
Questions?¿Pregunatas?
44Tuesday, October 12, 2010
Top Related