Mais conteúdo relacionado Semelhante a Effective Product Development Using Agile Methods (20) Effective Product Development Using Agile Methods2. Agenda
• Introduction to Cúram
• New product development process
• Agile methods come to rescue – Best Practices
• Lessons learnt 3. Cúram – World Leader in SEM
• Cúram
– Gaelic for “Care and Protection”
– Is a Commercial-Off-The-Shelf (COTS) Business Application
Suite for Social Enterprise Management.
– Is specifically designed for social enterprises such as Human
Services, Labour, Health, Social Security, Workers
Compensation and Veteran’s Affairs etc.
– Supports both welfare and insurance business models
– Based on a Buy and Build philosophy
– Uses J2EE and related technologies. XML, Web Services and
UML used extensively
– Has a workflow engine, code generators and rules engine as
part of the framework
– Runs on Windows, Unix and Mainframes
© Copyright 2006 Cúram Software Limited 4. What is SEM?
• Social Enterprise Management
– A business and technology blueprint that supports the
transformation from a Program-driven business model to a
client-centered, integrated service delivery model
Military &
Human Social Security
Labor Health Veterans
Services & Pensions
Affairs
TANF Medicaid Income Support Disability Services
UI Benefits
UI Tax Food Stamps WIC Disability Services Return to Work
Employment Medicaid Mental Health Pensions Workers’
Services Compensation
Child Welfare Adult Services Workers’
Workers Compensation Loans
Child Support EIS
Compensation
Contributions
Child Care Disability Services
Loans
© Copyright 2006 Cúram Software Limited 7. The Team
• Product Management Team
• Product Development Team
– Application Development Team
– Technical Product Management Team
– Technical Infrastructure Team
– Testing Team
© Copyright 2006 Cúram Software Limited 8. Team Interactions
Technical
Infrastructure
Technical Product
Technical Product
Management
Management
Team
Team
Requirements documentation,
Support, Handovers
Product
Product
Development
Management
Engineering Resources
T
(Brainstorming Workshops)
Reviews
Support,
Identification
Scenarios,
& retesting of
Reviews
bugs
Release builds,
Bug Fixes,
Support
Test
© Copyright 2006 Cúram Software Limited 9. Development Process
• Requirements Analysis and Elaboration
– Q&A Sessions
– Workshops with all Stakeholders: Business,
Development, Quality And Deployment
– Functional Specifications
© Copyright 2006 Cúram Software Limited 10. Development Process
• Release Level Planning – Agile process
– Stories
– Release Level Estimates
– Define Iterations
– Release Wall
© Copyright 2006 Cúram Software Limited 11. Development Process
• Iteration Level Planning
– Stories
– Iteration Level Estimates
– Backlogs
– Bugs
– Iteration Tracker Wall
© Copyright 2006 Cúram Software Limited 12. Development Process
• Tracking
– Master Story List on SharePoint
– Release Tracker Wall
– Iteration Tracker Wall
– Daily Stand-ups
© Copyright 2006 Cúram Software Limited 13. Development Process
• Testing
– On Developers machines
– On Integration box (BAs - Bangalore)
– Testing Environment (Testers – Dublin)
– Tracking
– Harp – the online bug tracking system
– Weekly Status Reports on Bug Status
© Copyright 2006 Cúram Software Limited 14. Development Process
• Different phases of development
– Ready To Play
– In Progress
– Development complete
– BA Testing Complete
– Testing Complete
– Testing Signoff
© Copyright 2006 Cúram Software Limited 15. Development Process
• Change Control and Issue Resolution
– Defined process
– Product Management team logs issues in “Change Control” document
and posts it on Sharepoint
– Developers review and agree upon requirement changes which are
scheduled and implemented in subsequent iterations
– Issues are resolved by constant communication with BAs on the
floor and conference calls with Product Management team
© Copyright 2006 Cúram Software Limited 16. Development Process
• Retrospectives are held at the end of every iteration
• Prime Directive
– Regardless of what we discover, we understand and truly
believe that everyone did the best job they could, given what
they knew at the time, their skills and abilities, the resources
available, and the situation at hand
• The Four Key questions
– What did we do well, that if we don’t discuss we might forget?
– What did not go well?
– What should we continue to do?
– What should we change?
© Copyright 2006 Cúram Software Limited 18. Project kick-start hiccups
• Planning and Estimation
• Framework-related technical issues
• Setting up new development stream
• New team
• Functional dependencies
• Integration Testing
© Copyright 2006 Cúram Software Limited 19. Best Practices – Agile Process
• Visual Cues – Everyone is in the loop!
– Release Tracker Wall
© Copyright 2006 Cúram Software Limited 20. Best Practices – Agile Process
• Visual Cues – Everyone is in the loop!
– Iteration Tracker Wall
© Copyright 2006 Cúram Software Limited 21. Best Practices – Agile Process
• Visual Cues – Everyone is in the loop!
– Retrospective Wall
© Copyright 2006 Cúram Software Limited 22. Best Practices – Agile Process
• Story Cards
© Copyright 2006 Cúram Software Limited 23. Best Practices – Agile Process
• Task breakup of stories and estimation based on such
tasks
© Copyright 2006 Cúram Software Limited 24. Best Practices – Agile Process
• Daily Stand-ups
© Copyright 2006 Cúram Software Limited 25. Best Practices – Agile Process
• Iterative Development – 2 Weeks Iterations
• Focus on delivering value
• Collaborative Code Ownership (up to an extent)
• Plan such that developers are not overloaded
(occasional burn-outs are expected to meet
deadlines)
• Infrastructure
• Design Reviews
© Copyright 2006 Cúram Software Limited 26. Best Practices
• Functional Test Scenarios
• Design Discussions
• Involve developers in end-to-end work
• Tightly coupled team (Business Analysts and
Developers) empowered to take ownership and
deliver
• Requirements Workshops
© Copyright 2006 Cúram Software Limited 27. Best Practices
• Winning Trust of ALL stakeholders
– Critical factor for success in distributed software development
– Can be achieved through establishing transparency in
development process
– Our team effectively used Sharepoint for “information-at-your-
finger-tips”
– In addition to this, we had weekly status meetings
– Set right expectations with ALL stakeholders
© Copyright 2006 Cúram Software Limited 28. Best Practices
• Transparency achieved through Sharepoint
© Copyright 2006 Cúram Software Limited 29. Best Practices
• Master Story List updates (status of Release/Iteration)
© Copyright 2006 Cúram Software Limited 30. Best Practices
• Daily Status updates (also used for timesheets)
© Copyright 2006 Cúram Software Limited 31. Best Practices
• Team Outings
© Copyright 2006 Cúram Software Limited 32. Best Practices
• Build leadership to drive self-empowered teams
© Copyright 2006 Cúram Software Limited 34. Lessons Learnt
• A well defined “Change Control Process” helps to review and
implement changes in a systematic way
• Testing of cards by BAs as soon as they are done (instead of
piling them up)
• Unit Testing should be planned along with development of story
cards
• External dependencies can be resolved by scheduling weekly
calls with respective teams
• Common vocabulary
© Copyright 2006 Cúram Software Limited 35. Lessons Learnt
• A process for bug fixing should be defined to NOT to break the
code of current development
• Refactoring is required to make code-base stable
• Pair signups for reading specs and peer review
• Pre-IPM for better planning
• Small teams are extremely useful in resolving coordination
issues
• Build knowledge base with tech-pool, tech discussions, tech-
forums
© Copyright 2006 Cúram Software Limited 36. Recap
• Agile Manifesto works for Product Development too!
– Individuals and interactions over processes and tools
– Working software over comprehensive documentation
– Customer collaboration over contract negotiation
– Responding to change over following a plan
• Customize agile methods to suit your needs
• Continuous feedback is the key
• Empower the teams 37. Thank You
Q&A
baps@curamsoftware.com
rtakkar@curamsoftware.com