Test of the PPT Title

39
© 2000-2005 HCL EAI Services Pvt. Ltd. All Rights Reserved. Project management: Adapting Agile/Scrum Krishna Prasad GM (Technology) HCL EAI Services (Formerly Aalayance)

Transcript of Test of the PPT Title

Page 1: Test of the PPT Title

© 2000-2005 HCL EAI Services Pvt. Ltd. All Rights Reserved.

Project management: Adapting Agile/Scrum

Krishna PrasadGM (Technology)

HCL EAI Services (Formerly Aalayance)

Page 2: Test of the PPT Title

© 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

Page 3: Test of the PPT Title

© 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

Page 4: Test of the PPT Title

© 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

Page 5: Test of the PPT Title

© 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

Page 6: Test of the PPT Title

© 2004-2005 HCL EAI Services Pvt. Ltd.

All Rights Reserved. Slide 6

Illustrating XP and SCRUM

Page 7: Test of the PPT Title

© 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

Page 8: Test of the PPT Title

© 2004-2005 HCL EAI Services Pvt. Ltd.

All Rights Reserved. Slide 8

XP and SCRUM in action

Page 9: Test of the PPT Title

© 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

Page 10: Test of the PPT Title

© 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

Page 11: Test of the PPT Title

© 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

Page 12: Test of the PPT Title

© 2004-2005 HCL EAI Services Pvt. Ltd.

All Rights Reserved. Slide 12

Typical Scrum product backlog

Page 13: Test of the PPT Title

© 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?

Page 14: Test of the PPT Title

© 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?

Page 15: Test of the PPT Title

© 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

Page 16: Test of the PPT Title

© 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

Page 17: Test of the PPT Title

© 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

Page 18: Test of the PPT Title

© 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

Page 19: Test of the PPT Title

© 2004-2005 HCL EAI Services Pvt. Ltd.

All Rights Reserved. Slide 19

Tool for code analysis: Fxcop

Page 20: Test of the PPT Title

© 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

Page 21: Test of the PPT Title

© 2004-2005 HCL EAI Services Pvt. Ltd.

All Rights Reserved. Slide 21

TDD: Process

Page 22: Test of the PPT Title

© 2004-2005 HCL EAI Services Pvt. Ltd.

All Rights Reserved. Slide 22

Tools for TDD: Nunit and NunitASP

Page 23: Test of the PPT Title

© 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

Page 24: Test of the PPT Title

© 2004-2005 HCL EAI Services Pvt. Ltd.

All Rights Reserved. Slide 24

Tool for build automation: Nant

Page 25: Test of the PPT Title

© 2004-2005 HCL EAI Services Pvt. Ltd.

All Rights Reserved. Slide 25

Tool for continuous build integration: Cruisecontrol.net

Page 26: Test of the PPT Title

© 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

Page 27: Test of the PPT Title

© 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

Page 28: Test of the PPT Title

© 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

Page 29: Test of the PPT Title

© 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

Page 30: Test of the PPT Title

© 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?

Page 31: Test of the PPT Title

© 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

Page 32: Test of the PPT Title

© 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

Page 33: Test of the PPT Title

© 2004-2005 HCL EAI Services Pvt. Ltd.

All Rights Reserved. Slide 33

Typical burndown chart

Page 34: Test of the PPT Title

© 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

Page 35: Test of the PPT Title

© 2004-2005 HCL EAI Services Pvt. Ltd.

All Rights Reserved. Slide 35

Typical sprint release

Page 36: Test of the PPT Title

© 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

Page 37: Test of the PPT Title

© 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

Page 38: Test of the PPT Title

© 2004-2005 HCL EAI Services Pvt. Ltd.

All Rights Reserved. Slide 38

[email protected]

Page 39: Test of the PPT Title

© 2004-2005 HCL EAI Services Pvt. Ltd.

All Rights Reserved. Slide 39