Post on 24-May-2015
© 2000-2005 HCL EAI Services Pvt. Ltd. All Rights Reserved.
Project management: Adapting Agile/Scrum
Krishna PrasadGM (Technology)
HCL EAI Services (Formerly Aalayance)
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 2
Agenda
Describe my experiences in Executing an ODC Developing and adapting best
practices in Technology Process Management
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 3
This talk will cover Examples from our experience in executing
an ODC Limitations of certain project management
techniques How we overcame these limitations
This talk will not cover Basics of project management Compare and contrast each model
Scope of this talk
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 4
How the talk is structured
Introduction to our business context Illustration of XP and SCRUM
Introduction to XP and Scrum Requirements best practices Design and implementation best practices Delivery best practices Project tracking best practices
Our lessons and experiences Q & A
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 5
Client profile Products: 7 products including Web time sheet, Vacation
tracking and Resource management product Business model: Point and click downloads of different
products Users: Small to medium businesses
Characteristics of the products Focused solutions No hassle experience Quarterly releases
ODC should goals Rapid product delivery cycle Launch web and integration products Maintain the launched products Manage professional services group
Business context
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 6
Illustrating XP and SCRUM
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 7
What is XP/Scrum?
Definitions XP: Extreme Programming. Set of best practices for
software development User Stories, pair programming, test driven
development, refactoring, frequent integration Agile: A set of best practices in project management
Iterative incremental project management Scrum: A specific variant of Agile
Characterized by Scrum meetings, product backlogs, Sprints, burn down charts
Primarily managing the chaos Adapted for rapid cycles
Scrum:PM :: XP:Development As release cycles were frequent we used XP and
Scrum in all the phases
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 8
XP and SCRUM in action
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 9
Requirements gathering: XP and Scrum way
Requirements gathering What is it? How did we XP/Scrum? Lessons learnt using XP in requirements
gathering How we overcame the challenges? Summing up our experiences
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 10
Identify the needs Elaborate on the requirement Document and prioritize features
Software requirement specification (SRS) Living document Maintains a list of requirements Prioritizes these requirements
Identify performance and throughput requirements
Requirement gathering: Definition
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 11
Scrum product backlog: Requirement tracking List of requirements to be completed for the
release Super set of wish lists from product
stake holders Maintained and prioritized by one person Anyone can request for new requirement
to be added User stories: Problem definitions of
requirements
Best practices: Documenting requirements
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 12
Typical Scrum product backlog
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 13
XP mandates: Domain expert should be part of development team
In our ODC this was not the case How did it go?
Requirements were not finalized quickly Delivery dates were getting impacted
What is the lesson? Requirement should be least 70% complete
before development starts
Where else we used XP? What lesson we learnt?
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 14
Identify strong sponge, Who can absorb the requirement in 2-3
weeks short term onsite visit Writes detailed problem definition before
the design/implementation starts Will return offshore and translate problem
definition to technical implementation We followed water fall model in this phase
How we over came the challenges?
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 15
Summing up our experiences
Waterfall model worked better for requirements gathering in our ODC.
Requirements should be as close to completion as possible
We used XP for documenting requirements
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 16
Design and implementation: XP way
Design and implementation What is it? How did we use XP? How did we use other best practices? Summing up our experiences
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 17
Map domain to technical requirement Identify
Technological choices: ORM, frameworks, objects, entities, relationship, dataflow
Resource: People with right skill composition Tools: Right IDE
Setup Infrastructure: Nightly build and release, bug tracking Process: Code walk through, code analysis, code coverage Development environment: Unit testing framework,
continuous build integration frameworks Implementation
Coding: Completing the functionality Test plans: Document and execute functional test cases Test automation: Implement test automation framework
Design and implementation: Definition
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 18
Best practices: Development
XP mentor pair programming Problem it solves
Truck factor and code walk through enforcement problems
Juniors learns the best practices if paired with seniors XP refactoring
Problem it solves Complex code base Over engineering of the system
Refactor mercilessly to make the code easier to understand, modify, and extend
Tools: Eclipse, Reshaper XP code to standard
Problem it solves Coding standard enforcements
Keeps the code consistent and easy to read and refactor Tools: Eclipse, Fxcop
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 19
Tool for code analysis: Fxcop
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 20
XP test driven development (TDD) Problem it solves
Ad-hoc unit testing
Focuses meeting design with requirements, not on testing
Each unit test corresponds to a requirement Provides a consistent way of refactoring TDD follows the below rhythm
Pick a test to implement Write a failing test Quickly, make the test green Refactor to eliminate duplication
Best practices: Unit testing
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 21
TDD: Process
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 22
Tools for TDD: Nunit and NunitASP
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 23
Best practices: Build automation
XP continuous integration Problem it solves
Broken builds Additional resource for integration build
Build automation needs to be implemented Tool: Nant
Build happens after developer checks in code Cruisecontrol keeps tab on integration quality by
Compiling latest source code Creating Database Running Unit/regression test Deploying onto Test web server
Tool: Cruisecontrol.net
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 24
Tool for build automation: Nant
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 25
Tool for continuous build integration: Cruisecontrol.net
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 26
Design Layered design
Presentation Business Data access
Domain driven design ORM for Database connectivity Framework-based approach
Example: Mapping framework in integration module
Best practices: Others
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 27
Delivery Code complete: Complete all functionality Code freeze: Test the functionality and bug
fixing Regression testing: Rigorous testing all
platforms Basic health test: Smoke testing before
release by onsite team Release: Internal and external release
process
Best practices: Others - continued
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 28
Summing up our experiences
XP provides the best practices in product development
It help in solving challenges we face during development
Tools facilitates XP way of development
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 29
Project tracking: Scrum way
Project tracking What is it? How did we use Scrum? Summing up our experiences
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 30
Focuses on what and when to deliver Aware of
Tasks to be completed Current state Inter dependency Challenges and issues
Plan for delivery date Tool: MS project
What is project tracking?
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 31
Best practices: Status meeting
Scrum meeting Problem it solves
Difficulty in forcing decisions due to status quo Improper participation from team members
Daily 30 minutes meeting Conversation is restricted to
What is done since the last Scrum meeting? What are the challenges to complete a task? What is planned between now and the next Scrum
meeting? Scrum master
Makes decisions immediately Notes impediments to be resolved externally
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 32
Best practices: Project tracking
Burndown chart Problem it solves
Scope creeps Incorrect estimate
Monitor progress during a sprint Provide an intuitive feel for the progress In a chart
Remaining work: Y axis Time: X axis If tasks are completed, line slopes down
If scope creeps happens the chart slopes upward
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 33
Typical burndown chart
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 34
Best practices: Release management
Sprint release Problem it solves
Frequent release due to scope creeps Cross functional team consists of around 9
members Focus on
30 days release cycle Deliverables as per the goals set by the team
Sprint team Determines what can be delivered Restart the sprint if they are working on wrong tasks
Scrum master: Decides to include new item if it will enhance the viability
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 35
Typical sprint release
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 36
Summing up our experiences
Scrum solved challenges related to status meeting, it improved the effective communication in meetings
Scrum helped in effectively tracking the product delivery
Scrum helped in rapid delivery of products using sprints
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 37
Conclusion
We found inadequacies in various project management techniques
We evolved an hybrid from various project management processes and practices Requirement gathering: Used waterfall model, by
sending a business analyst for 2-3 weeks and getting fully baked requirements during inception phase
Requirement documenting: Used user stories Design and implementation: Used XP techniques like
TDD, pair programming, continuous integration, code to standard
Scrum: project tracking Just having this best practices in place is not
enough, we need to constantly enforce it
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 38
pkrishna@aalayance.com
© 2004-2005 HCL EAI Services Pvt. Ltd.
All Rights Reserved. Slide 39