Effective Product Development Using Agile Methods

  • 8,567 views
Uploaded on

Effective Product Development Using Agile Methods presentation by Baps for Agile Chennai 2007 conference http://agileindia.org/agilechennai07/index.htm

Effective Product Development Using Agile Methods presentation by Baps for Agile Chennai 2007 conference http://agileindia.org/agilechennai07/index.htm

More in: Business , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
8,567
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
630
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Effective Product Development using Agile Methods Bapiraju Nandury Ramchandra Takkar Cúram Software
  • 2. 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
  • 5. Development Process
  • 6. Product Development Overview Source: http://scrumone.typepad.com/
  • 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
  • 17. Best Practices
  • 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
  • 33. Lessons Learnt
  • 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