Session Title : Agile Implementation in distributed teams
Session Overview:
Abstract: This topic is evolving around implementation of Agile methodology in distributed and inexperience team . I will discuss about before and after agile implementation scenarios.
This will give idea about how can we customized Agile processes. We faced challenges working with debuts as Agile expects experience team. We overcome these challenges by customizing Agile processes in my projects.
Key Takeaways
* People may learn how can they adopt Agile way of working when they have distributed team and the team which has more freshers.
2. 2
05/11/2012
For Internal useAgenda
Agile methodology - Challenges
The Project
Customization in Agile Process
The results of the customization
Feedback from Project team
Conclusion
6. 6
05/11/2012
For Internal useAbout the project
Client
• Giant Player in
European market
• Specialized in
electronic
payment services
for financial
markets
• eServices for
customers and
citizens
• 6 year
relationship with
ATOS India
Scope of
work
• Analysis &
Design
• Development,
Unit test
• Release
Integration test
• Enhancements,
Evolutions
• Maintenance and
Support
Geography
• France (4
different cities)
• Germany (2
cities)
• Belgium
• India – 3 cities,
Mumbai, Pune,
Bangalore
Technology
• Java
• J2EE
• Oracle
• C
• C++
Size
. Team: 300+
•Duration: > 6
years ..
7. 7
05/11/2012
For Internal useChallenges in the project
(Before Agile implementation)
▶ Challenges faced
– Quality: Unanticipated Issues
– Delays
– Integration issues
– Customer anxiety
8. 8
05/11/2012
For Internal use
Proposed Solution
Implement Agile Methodology
▶ Reach Business Value with better quality, faster)
Better time-to-market of features (ROI = BV / C)
– Deliver Business Value
– Speed-up operational deliveries (continuous integration & testing)
▶ To rapidly and repeatedly inspect actual working software
Strengthened effective collaboration between the client and the project team
– Better synchronisation of functional and technical features
– Constant clarification phases
– Frequent control of the understanding through concrete demonstration
▶ Fasten decision making, make structural decisions easier and better
To take a Go, No-Go decision at the end of each sprint
– Short period = postpone difficult decisions to a time when more information are
available
– You can start without knowing all, you can decide when you know…
9. 9
05/11/2012
For Internal useProposed Solution
Implement Agile Methodology
▶ New Challenges faced
– No estimation model
• difficult to provide budgeted efforts for the development teams
– Organization Policy
• to have certain % of debuts in the team
• to provide location preference for the team resulting in Distributed
locations – the team cannot be in a single location
10. 10
05/11/2012
For Internal useProposed Solution
Customize Agile Methodology
▶ To address challenges enforced by the project environment, the following
customization / tailoring of the agile process is implemented so that we get the
benefits of Agile methodology.
1. Developed an estimation model
2. Appointed 2 Scrum masters for one sprint
3. Special attention of Documentation and test plan preparation
4. Automated testing
5. Mandatory pair programming on one debut and one experience programmer.
11. 11
05/11/2012
For Internal use
Customization in Agile for fresh and distributed team
Customization - 1
▶ Developed an estimation model
– Standardization of Story Point definitions
– Effort estimation based on productivity ratio 7.5 hours / Story point
– Estimation Model adjusted for Multi Location
– Used Fibonacci numbers (1, 2, 3, 5, 8, 13, 21) for estimation models
▶ Actual productivity Ratio
– The project is performing at 7.15 hours / story point
▶ Benefits
– Target efforts required are published at the beginning of sprint
– Productivity ratios calibrated based on actual data
– Process improvements planned for productivity improvement
based on analysis of data
–
12. 12
05/11/2012
For Internal useStory Point Definition
S No User Story Task # Story Points Task Details
1 Search &
List
Search and List
page
5 Search Criteria (<= 8 fields)
List Page
Integration with BL
2 CRUD page Create, Update,
View and Delete
operations
21
Text fields <=10, radio buttons <=5, drop down <=5, check boxes <=5, Zones <= 2, Calendar <=4, Dependent Select <=2
Client/Server side validation on all fields
Buttons - Save and Cancel functionality
Integration with BL
3 CRUD page Create, Update,
View and Delete
operations
13 Text fields <=8, radio buttons <=2, drop down <=2, check boxes <=2, Zones <= 1, Calendar <=2, Dependent Select <=1
Client/Server side validation on all fields
Buttons - Save and Cancel functionality
Integration with BL
4 CRUD page Create, Update,
View and Delete
operations
8 Text fields <=5, drop down <=2, Calendar <=1
Client/Server side validation on all fields
Buttons - Save and Cancel functionality
Integration with BL
5 Tree
Hierarchy
Display tree
hierarchy
8 Tree hierarchy population using KAWWA tree component
Details section
Add, Remove, Edit node functionalities
6 Tree Grid
Hierarchy
Tree Grid
Hierarchy Display
13 Tree Grid hierarchy population
Collapse/Expand functionality
Add, Remove, Edit node functionalities
7 BreadCrum
b
BreadCrumb
Navigation
2
Breadcrumb navigation
8 Tabs Main Tab and Sub
Tabs
2 Main Tab creation and population
Sub Tabs creation and population
9 Popup
Window
Integration
Display Popup
window and
integrate with
parent page
3 Show popup window
Integration with Parent page
Buttons - Save and Cancel functionality
10 Login Page Login Page 2 Login page creation
XA-RM integration (Credentials validation)
11 Issuer
Selection
page
Issuer Selection
page
2 Issuer selection page creation
XA-RM integration (Rights mgmt)
13. 13
05/11/2012
For Internal useEstimation Guidelines
▶ Estimate (hours) = No. of story points * 7.5
– Story points are agreed after discussion (poker game)
▶ Adjusted estimate = Estimate * (1 + drag factor)
– Drag factor is determined by the
• duration of project,
• knowledge of technology
• knowledge of domain
▶ Distributed team,
– Adjusted estimate = Adjusted Estimate * 1.4
▶ Collocated team,
– Adjusted estimate = Adjusted Estimate * 0.6
14. 14
05/11/2012
For Internal use
Customization in Agile process for fresh and distributed team
Customization - 2
▶ Appointed 2 Scrum masters for one sprint (one scrum master for
each location)
▶ Benefits
– Resolved issues of
➢ Communication gap
➢ Distributed team
➢ Loss of Information
➢ Creating backup of Scrum master
15. 15
05/11/2012
For Internal use
Customization in Agile process for fresh and distributed team
Customization - 3
▶ Special attention of Documentation & test plan preparation
(Usage of tools : Jira and Green Hopper)
▶ Details of Story
▶ Definition of “Done”
▶ Test Plans
▶ Lessons Learnt
documents
(Retrospective
Documents)
16. 16
05/11/2012
For Internal use
Customization in Agile Process for fresh and distributed team
Customization - 4
▶ Automated Testing
– Usage of cIBorg (Continuous Integration) and Sonar tool
▶ Save time in
installations &
deployments by
automating them
▶ Continuous build
to reduce tunnel
effect
▶ Earlier detection
of deviations by
counterparts
▶ On line “Project
health” reporting
▶ Detect regression
and bugs
upstream by
automating unit
testing
17. 17
05/11/2012
For Internal use
Customization in Agile for fresh and distributed team
Customization - 5
▶ Mandatory pair programming on one debut and one experienced
programmer.
▶ Benefits
– Grooming of Junior resources effectively
– Less involvement of Senior resources to support juniors
– Juniors start working independently after 2-3 sprints
– On job mentoring is faster and effective
– Reduced Learning curve
18. 18
05/11/2012
For Internal useBenefits realized after Agile implementation
▶ The developer has correctly understood the requirement
▶ For integrating the product with other applications issues 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.
19. 19
05/11/2012
For Internal useThe gains
Improvement in KPI’s (Defect Density & % Rework) after Agile implementation
Total Efforts
(Person Days)
No. Of
Defects
Rework Effort
(Person Days)
Defect
Density
% Rework
(days)
Before Agile
Implementation 1200 145 216 0.121 18%
After Agile
Implementation 250 10 8 0.040 3.2%
▶ The benefits of
Agile
implementation
with the customized
agile process is
clearly visible with
reduction in Defect
densities and %
Rework along with
improvement in
Productivity
Improvement in Productivity after Agile Implementation
20. 20
05/11/2012
For Internal use
The team feedback
▶ A survey was
conducted to
understand the
benefits that the
team realizes
after
implementation
of Agile. Team
has been asked
to rate each
statement on 5
point scale.
21. 21
05/11/2012
For Internal use
The team feedback
▶ The team agreed that
agile implementation
has improved
communication,
encouraged
collaborative approach
and helped to make
customer happy.
The development teams moral has improved, knowledge sharing became easy, making the team more productive and
increased speed of deliveries.
The agile process helped the team to bypass certain process steps that were mandatory in waterfall model, reducing
overall delivery time.
On the negative side, the team felt that frequent deliveries in agile process has increased team pressure
22. 22
05/11/2012
For Internal use
The team feedback
▶ The team agreed approach and helped to make customer happy.
The team did not strongly agree that requirements gathering is simpler and
easier. Although the data shows that % rework has reduced, qualitatively the
team does not feel the same. The estimation model defined is yet to completely
stabilize. Not all team members is aware of the estimation model.
Attrition is still a concern, adoption of Agile methodology has not helped to
reduce the attrition. In some cases, rework has increased and customer are not
very sure about the requirements, however overall % rework has reduced. The
rework could have been much more without implementation of Agile
methodology.
23. 23
05/11/2012
For Internal useConclusion
▶ In IT industry, Agile implementation has resulted in mixed result. The cautious
customized Agile methodology implementation approach adopted in Atos,
provides a tailor made process that suits the project needs.
▶ 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 is geographically
distributed and also consists of debuts.