Presentation by anjali mogre

17
Effective CMMI Implementation in Agile Environment with Fresh Team – Atos, India 1 Mant Mana Anjal

Transcript of Presentation by anjali mogre

Page 1: Presentation by anjali mogre

Effective CMMI Implementation in Agile Environment with Fresh Team – Atos, India

1

Mantra for Entrepreneurial Project Management

Anjali Mogre

Group Manager

Atos

Page 2: Presentation by anjali mogre

Effective CMMI Implementation in Agile Environment with Fresh Team – Atos, India

Title of Paper

Effective CMMi Implementation in Agile environment with fresh team

Authors

Anjali Mogre, AtoS India, Sujata Salunkhe, AtoS India

[email protected], [email protected]

Theme:

Mantra for Entrepreneurial Project Management

Keyword:

Customized Agile Methodology, CMMi for Agile, Agile with Fresh team

Abstract

By design, Agile manifesto advocates flexibility, high customer involvement and mature team, while CMMi

helps to lay down a structured process centric approach, which is flexible in the initiation phase, however

becomes specific in the implementation phase. In CMMi, the customer involvement could be minimal and

the process addresses the team maturity and skill issues to ensure the project performance is not

impacted, while Agile expects high customer involvement with matured team.

The spirit in which both the systems are evolved are same; both are designed to deliver software that

meets customer requirements leading to customer delight; however it is perceived that both the

methodologies cannot go hand in hand. CMMi model and Agile Manifesto; both has examples of

successes as well as failures. Some failures could be due to misinterpretation and misuse of the

approach. The objective of this paper is to demonstrate a practical method that uses the best of both

models to address the challenges of the dynamics of software developments; this approach is used in a

software development for a finance vertical having a large team size.

The paper elaborates the method used along with templates, guidelines published with supporting data,

trends and analysis. Agile approach helped us to improve the efficiency, while CMMi principles helped us

to institutionalize the process, scale up deployment and make the success repeatable and predictable.

The quick wins are; Happy customer, less pressure on the team, Improved Quality, Maintainable code

and Repeat business.

2

Page 3: Presentation by anjali mogre

Effective CMMI Implementation in Agile Environment with Fresh Team – Atos, India

Contents

Title of Paper............................................................................................................................................... 1

Authors................................................................................................................................................... 1

Theme:.................................................................................................................................................... 1

Keyword:................................................................................................................................................ 1

Abstract....................................................................................................................................................... 1

Introduction.................................................................................................................................................. 3

Need of blending Agile and CMMi...............................................................................................................3

About the project.......................................................................................................................................... 3

Challenges in Agile Implementation.............................................................................................................4

Customization in the Agile Methodology to blend Agile & CMMI.................................................................5

Customized Estimation process:.................................................................................................................5

Agile with distributed team:.......................................................................................................................... 6

The results: Improvements in KPI’s after Agile implementation...................................................................8

Team Feedback........................................................................................................................................... 9

Conclusion................................................................................................................................................. 11

References................................................................................................................................................ 12

3

Page 4: Presentation by anjali mogre

Effective CMMI Implementation in Agile Environment with Fresh Team – Atos, India

Introduction

The waterfall method of software development is ingrained in our minds;therefore it is not easy to adopt a

different methodology. Software development team feel that adopting different methodology is a risk, as

the new methodology may hamper the confidence of meeting the project KPI’s.

In Atos, the management has decided to take the risk of adopting Agile methodology in place of

traditional waterfall methodology, considering the advantages thatAgile methodology offers. Although on

paper there are numerous advantages of using the Agile methodology, implementing Agile

methodology;and really feel the difference and reap benefits of the Agile methodology is not easy,

especially with large projects and fresh teams.

Every software methodology has its own benefits and pitfalls. The optimized approach is to customize the

methodology that best suits the project environment.In Atos, we have customized the Agile methodology

for a large project in finance vertical. The challenge is to use Agile methodology with geographically

distributed team with significant portion of fresh debuts.

Need of blending Agile and CMMi

An organization with CMMi certification MUST sustain the CMMi processes to reap the benefits of CMMi

implementation. But in certain scenario’s the implementation of Agile methodology becomes essential.

Sometimes client mandates to use Agile methodology or for some new technologies like mobile

computing – Agile approach is best approach. Product development, especially when there is a High Risk

of evolving requirements Agile methodology is more suitable

Once it is agreed that there is a need to implement Agile and sustain CMMi, the organization need to

blend both the approaches so that the project can derive optimum benefits of bot the methodologies

About the project

The project where we have started using Agile is a Payment &e-Commerce solution based on SOA

architecture, which aims to provide 11 different services (functional & technical) with user friendly

graphical user interface. The project is to build a customized online shopping portal and its administration.

The technology used is JAVA with Business Logic (BL). The GUI projects are comparatively more

complex that the non GUI projects as there are multiple options to present the same information.

Objectives of Adopting Agile methodology

To focus on delivering the highest business value in the shortest time

To rapidly and repeatedly inspect actual working software (typically every three weeks)

4

Page 5: Presentation by anjali mogre

Effective CMMI Implementation in Agile Environment with Fresh Team – Atos, India

To take a Go, No-Go decision at the end of each sprint

Before Implementation Agile

Typical challenges that we faced in the project before implementation of Agile are

Quality: Unanticipated Issues

Delays

Integration issues

Customer anxiety

In waterfall model, we had faced situation where unanticipated, unforeseen issues occurred in systems

testing and / or user acceptance phase resulting in a lot of rework. These issues at the end of the project

have burnt a lot of weekend and increased time pressure in the team. For example, when we are

expected to extend certain services, in the initial phase the service seems extendable, however as we are

actually trying to extend the service, we have realized that certain variable, links that are required are not

present, making extension of service unfeasible.

With the Agile implementation it is possible to anticipate these issues beforehand and make appropriate

design change to avoid further catastrophes.

Before Agile Implementation

The project is in the finance vertical and is expected to interface with various other applications. In

waterfall model, we have faced huge costs at the time of integration. The customer has given different

applications to different teams, and the modules get developed in silos resulting in integration issues,

which could result in a lot of additional work and frustration in team and obviously customer

dissatisfaction.

In waterfall model, although the requirements are written, reviewed and approved by the customer. There

is no intermediate method to validate whether the requirements are correctly understood by the

developer. There were some instances where the developer has misinterpreted the requirements, which

is not necessarily the developers fault. Frequent deliveries in Agile ensure that the requirements are

correctly understood by the development team.

Challenges in Agile Implementation

Implementation of Agile methodology threw the following challenges:

Sustain CMMi and simultaneously implement Agile

Junior / Fresh Team

Distributed Team

5

Page 6: Presentation by anjali mogre

Effective CMMI Implementation in Agile Environment with Fresh Team – Atos, India

Attrition

Quality and Integration Issues

Standardization

Estimation Process

Meet and exceed customer expectations

Customization in the Agile Methodology to blend Agile & CMMI

Agile methodology is based on two main assumptions that team is co-located and mature enough to

execute the project in Agile mode.

In India, projects are executed in onsite – offshore model, where a team geographically together is a

remote possibility. There is also a pressure to provide cost effective solution, which puts constraints on

the experience of the team members. We are forced to include junior members as well as debuts in the

team.

We have customized the following in Agile methodology, and adopted Atos specific approach for Agile

implementation.

Developed an estimation model

Appointed 2 Scrum masters for one sprint

Special attention of Documentation and test plan preparation

Automated testing

Mandatory pair programming on one debut and one experience programmer

Customized Estimation process:

Estimation model for Agile projects has been developed based upon the historical data for the projects

where Agile methodology is used for more than 6 months and have delivered at least 300 MD of work

using Agile methodology.

For each of the user stories in scope of a Sprint, project team needs to be determining the complexity in

terms of story points. The story point is a relative measure that can be used for Agile estimation of size.

The team decides the size of each story as per Fibonacci series;by assigning one of the following

numbers to each story: 1,2,3,5,8 or 13. The numbers are in Fibonacci sequence.

The efforts are estimated as 3,6,9,12,27,36 Hours based on historical data.

Once the team has decided the size of the story in step 1 above, the effort required to complete all the

backlog items in the scope of a Sprint can be determined using the mapping below

6

Page 7: Presentation by anjali mogre

Effective CMMI Implementation in Agile Environment with Fresh Team – Atos, India

Story

Point(s)

Efforts

(Hrs)

1 3

2 6

3 9

5 12

8 27

13 36

The efforts in the table above include the efforts for Coding, Unit Testing and Peer Review

The PM efforts [standard: 10% of the efforts derived from step 2. Can be configured as per project needs]

are added to the estimation above

Agile with distributed team:

Agile manifesto suggest the co-located team of the project. In the Indian context, the teams cannot be

co-located. As per Agile methodology we have tried with 1 scrum master, howeverstarted facing

communication issues because of the split team. To handle communication issues, wehave increased the

sprint duration from 2 weeks to 3 weeks, but still problem could not be resolved.We conducted a

brainstorming session within the team and decided to divide the team into two parts Part A and Part B.

Part A sits in one city and Part B sits in other city.

Principally, there should be one scrum master for each sprint. To address the issue of distributed team,

we have divided team into two parts and appointed two scrum masters for each sprint. User stories are be

logically divided into 2 parts. One part is handled by Part A and other is handled by Part B. Two scrum

mastershelpedto bridge the communication gap. Integration of Part A and Part B functionalities isdone

before the demo on the same server. Before the each delivery, the two part of the same sprint are

integrated on the same server ensuring that the customer gets the same experience as he/she will get

with co-located teams.

7

Page 8: Presentation by anjali mogre

Effective CMMI Implementation in Agile Environment with Fresh Team – Atos, India

Implementation of tools Jira / Grasshopper / Sonar Dashboards have largely helped us to address the

challenges of fresh and distributed teams.

Documentation

Although Agile methodology do not expect us to maintain the detailed documentation, we so invest effort in

maintaining the scope details, test plans and definition on ‘done’. Detailed documentation helps us to address the

issue of Distributed teams, debuts in the team, and attrition. Retrospective documentation containing Lessons

learnt are discussed with customer as well as team and is preserved. Appropriate actions are taken based on lesson

learnt in the consecutive sprint.

Automated testing

Automated testing approach has been adopted to ensure the product is thoroughly tested.

Pair programming

As mentioned earlier, mandatory pair programming with one debut and one experienced resource has been

implemented. Although it looks easy to say that implement mandatory pair programming, the implementation

itself has its own challenges, which we had overcome with disciplined approach. Pair programming has helped us

to groom debuts faster and to make them productivity within a month.

Gains made in ecommerce project:

Apart from the benefits that Agile offers, we also felt the following additional benefits.

Self-organizing team

Each team member carries a lot of responsibility. A new team member can be groomed very quickly

Completely developed and tested features in short iterations

Simplicity of the process

Improved communication and complete transparency between development team and customer

A high level of visibility to the client

After Agile Implementation

Implementation of Agile methodology has helped us to address most of the challenges we have faced in

the traditional waterfall methodology.

Frequent deliveries in the Agile methodology have helped us ensure that customer and developers are

moving in the same direction. The customer is very well aware of the product that is getting developed.

8

Page 9: Presentation by anjali mogre

Effective CMMI Implementation in Agile Environment with Fresh Team – Atos, India

We had scheduled 1 demonstration to customer every 3 weeks to demonstrate the progress of the

project. These frequent deliveries ensured that

The developer has correctly understood the requirement

Issues (if any) for integrating the product with other applications surfaced well in advance to take

appropriate action

The team could focus on packaging the working version by continuous integration of the different

elements resulting in almost zero integration issues.

Because of small work packages, we could adopt the approach« fail quickly but re-orient faster «,

which resulted in early detection and correction of defects resulting faster and smoother project

delivery.

The development team could focus on value-add rather than on the technical improvement

The team could adopt a proactive approach rather than working in the reactive mode, which was

very well appreciated by the customer.

The results: Improvements in KPI’s after Agile implementation

The conscious effort on customization of Agile methodology has reflected in the project KPI’s. We could

see improvement in almost all KPI’s. A few examples are given below.

The Quality of deliverables has significantly improved. As described in the following table the number of

defects and the % rework has significantly reduced.

Efforts

(Person

Days)

No. Of

Defects

Rework Effort

(Person Days) Defect Density

%

Rework

Before Agile

Implementation 1200 145 216 0.121 18%

After Agile

Implementation 250 10 8 0.040 3%

Productivity Improvement

The productivity of the team has demonstrated improvement. The productivityin terms of hours per simple

screens has improved to 13.26 hours / screen as compared to 14.11 hours / screen before Agile

9

Page 10: Presentation by anjali mogre

Effective CMMI Implementation in Agile Environment with Fresh Team – Atos, India

implementation. As the Agileimplementation gets stabilized, we anticipate significant improvement in

productivity. Be

fore

Agi

le Im

plem

et...

After

Agi

le Im

plem

eta.

..

1010.5

1111.5

1212.5

1313.5

1414.5 14.11

13.26 Productivity - Hours / Simple Screen

Because of reduced rework, the projects schedule variance has reduced, improving the customer

satisfaction as well as team motivation.

With the Agile implementation, the teams get self organized, each team member carries a lot of

responsibility and a new team member can be groomed quickly. The process has become simple.

Improved communication and transparency between development team and customer have taken the

customer as well as team on a higher level of maturity.

Team Feedback

To understand what are the benefits that the team has realized while implementation of agile, a survey

has been conducted, where the team has been asked to rate the feedback on 5 point scale.

▶ Positive Feedback

▶ Improvement in the Communication

▶ Encouraging collaborative approach

▶ Provides early warning of the problems

▶ Customer is happy

▶ Productivity has improved

10

Page 11: Presentation by anjali mogre

Effective CMMI Implementation in Agile Environment with Fresh Team – Atos, India

▶ Negative Feedback

▶ Increased in time pressure frequent deliveries

▶ Less time spent in design could result in rework.

▶ Rework has increased - as customer is not very clear about the ideas

▶ Work can’t be managed with less experienced team

Results of the Survey

11

Page 12: Presentation by anjali mogre

Effective CMMI Implementation in Agile Environment with Fresh Team – Atos, India

Conclusion

In IT industry, Agile implementation has resulted in mixed result. The cautious customized Agile

methodology implementation approach adopted in Atos; adhering to CMMi model, provides a tailor made

process that suits the project needs.

Agile and CMMi should co-exist. The project will gain a lot of value over long term when Agile and CMMI

synergies.

The customized approach has not only resulted in improved project KPI’s and customer satisfaction but

also helped the team to address challenge of using distributed team with debuts.

The feedback from the team confirms that the customized Agile methodology helped the team to perform

better even though the team has significant number of debuts and is geographically distributed

The blended approach of Implementation of Agile and CMMi is now published as a Global Process in

Atos. Any team following the Global Agile process will automatically gets benefits of both; CMMi & Agile

approaches.

12

Page 13: Presentation by anjali mogre

Effective CMMI Implementation in Agile Environment with Fresh Team – Atos, India

References

Liz Hines ([email protected]), Program Director, IBM

Scott Baldwin ([email protected]), ScrumMaster and Software Engineer, IBM

Mark Giles ([email protected]), Development Manager, IBM

Juan Peralta ([email protected]), Development Project Manager, IBM

Management challenges to implementing Agile process in traditional development organization

Barry Boehm: University of Southern California

RuchardTurner : Systems and software consortium

Biography of authors

Anjali Mogre:Anjali is currently heading the Operational Excellence team Atos India. She is primarily responsible for data analysis, identification of area for process improvement and Productivity Measurement.  Anjali has Master degree in Statistics along with CSQA, PMI, Six Sigma certifications. She has experience in project delivery, quality processes and design of e-learning systems. She is especially interested in carrying out process improvement experiments and implementation on wider scale. Prior to Atos, Anjali has worked at Tata Institute of Fundamental research, Tata Consultancy Services, Silverline, Aptech and Syntel.

Sujata SalunkheSujata is currently leading Atos Worldline (AWL) projects of Atos India. She is working as a Sr. Manager for AWL since past 4 years.Sujata has done her engineering along with BCA degree. She is Scrum certified.She has proactively contributed to key global/organization level initiatives (CMMi and PCMM) and acted as an ATM member for CMMi level 3 ‘SCAMPI A’ assessment.  She has total 22 years experience in the areas of Service Delivery Management, Project Management, Project & Test Plan Review, Client Relationship Management, Application Support, and Hardware Engineer etc.Sujata has worked earlier in Syntel India ltd and TechMahindra   

13