Test of the PPT Title

Post on 24-May-2015

528 views 0 download

Tags:

Transcript of 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)

© 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