Friday, July 30, 2010

Agile Results

How agile helped to achieve Break through Results within a year
My Personal Observations and Learning’s
My way of giving back to community of Learner, we grow by sharing
Where were we a year ago?
We were using traditional approach since last 29 years. We switched suddenly to agile starting with one department.
We started as one team, broken into 3 teams of 7-9 people, added 4 teams & extended agile initiative to other departments within a year.
Now agile journey is on forever and no one likes to go back to traditional approaches.
What were projects?
• 3 different complex Telephony Services projects
What were our challenges?
1. Lagging behind competition
2. Decreased in productivity despite of flexibility
3. Increase in demand for service but cannot deploy services at faster rate
4. Increased cost of delivery due to more number of people on specialized skills like testing, documentation, process compliance etc.
5. Not able to retain sound architecture for future
6. Advancement in complexity and range of function in products
7. Under estimation of work
8. Not able to deliver efficiently while working remotely or distributed across geography
9. It was very difficult to adapt to changed circumstances like business need, project scope, and requirement in short time.
10. Difficulty in collaborating with other teams / poor intergroup & overall communication
11. Poor time management, team bonding, enthusiasm & long time to take decisions
12. Difficult to accurately prioritize work /deliverables
13. Difficulty coordinating code changes across teams
14. New joiner taking long time to come up on speed

Why did we choose Scrum?
• Light weight, transparency, respond to change quickly, feedback loop to improve direction
• Improve Productivity, reduce time to deliver and stay ahead of competition
• Introduce self-management, self organization and increase visibility
• We found Scrum can be Best fit for complex telecom projects after detail analysis of other approaches



What were top things that our team did that made huge difference to the project?

1. Received Management Support for -

a. A mandatory one week agile training for all
b. Selecting Scrum as project management practice after detail analysis of available agile methods
c. Managers showing high trust for every team member
d. Flexibility , deep understanding of issues & quickly resolving impediments
e. Allowing team to become self organize
f. Listening to team and allowing team to take technical decisions
g. Change in project but No change in team members - keeping cohesiveness in teams
h. Onsite agile training and real scrum experience for offshore team lead
i. Well define standard productivity of 6 hrs per person for his/her work day
j. A real capacity planning excluding non working or absent /leave days. Plan 80% of available capacity for each resource for managing unplanned situations for personal or professional work.
k. Be a True or honest chicken in daily stand up
l. Design golden rules for daily stand up.
m. Encouraged retrospectives
n. Reduce time for Sprint demo over a period of time – Converting multiple team demo’s into single demo, if multiple teams works on same product
o. Forced product owner to create prioritize product backlog before start of sprint
p. Creating generalist from specialist – Involving almost everyone including architect in testing
q. Choice of Color for team of 7-9 team members
r. Encourage collaboration between teams and team members, creating environment of openness and true help
s. Create agile book library & exclusive conference room for agile teams
t. Understand sprint fall out and conveying it to upper management / product owners
u. Providing A Proxy to product owner – a must in sprint planning meeting
v. 2 days break between sprint, allowing team to settle and get ready for commitment
w. Making mandatory for product owner to define acceptance criteria for each user story
x. Big charts of agile values, principles and daily stand up guideline in meeting rooms
y. Forcing team to implement one or two team retrospective items in subsequent sprint
z. Snacks during big team meeting and team lunch for bonding





2. Taken Tools and technology Decisions -
• Java for development
• Eclipse As IDE
• SVN for repository
• Wiki for project info
• Hudson for build and CI (Continuous Integration)
• Rally – ALM tool for agile project management with quality manager
• TDD (Test Driven Development) – Training from object mentor for developers , tester & Implementing TDD
• Fitnesse for acceptance testing – Column fixture to Scenario fixture
• Open source with paid technical support
• Independent clusters for each development team
• SQL Developer for schema design
• Conference bridge, chat , smart board , live meeting for effective communication
• Automated scripts for network or machine upgrade
• Automated build

3. Implemented below Mandatory compliance for Daily Scrum Guidelines
1. Everyday come on time and be prepared
2. You always have a status
3. In the building in the room
4. Working remote on the bridge
5. If you know in advance that you cannot attend a Scrum provide status/commitments via proxy
6. Only one person talks at a time, everyone else listens
7. Track questions via paper/pen
8. Be concise on status/commitment
9. Cell phones on mute during scrum
10. Speak loud and clearly

4. Used Expertise and Created Respect for Human values
• Developers with domain knowledge
• Respect for everyone
• Love, passion, knowledge sharing, & continuous focus on committed work / sprint goals
• True – TEAM (Together Everyone Achieves More) Spirit




What was one earlier failure we had that made us nervous that made us think *May be this isn’t for us*?
• Total design change for a product that we developed
• Changing the entire direction of product that was previously developed in few sprint
• Sudden increase in expectations to deliver drastic change with quick turnaround time
How did we over come early disappointment?
• Management added new and additional resources to team
• Everyone took it as a challenge to proceed with it as one Team
• Negotiated scope for release
• Requested product owner to freeze thought for a release
What were end results?
• Over 2575+ user points completed
• Over 450+ user stories accepted
• 3000+ tasks completed
• 1500+ test cases have passed and
• 130+ defects have been closed
• Received good support from outside team & improved communication
• We are able to make decisions quickly & Increase in enthusiasm
• We accomplished sprint goals despite of all interruptions and distraction
• Meet our commitment every single time
• Improved team motivation, bonding & team work to get tasks done
• Very well defined acceptance tests in beginning of sprint
• Efficient time management & accuracy in estimation
• Adapting to Agile: less stressful, less impediments & quick learning curve
• Improved sprint planning and work started on same day of planning
• More generalist, high morale, improved skill set, & can define realistic goals
• Good decisions to pick flows so it touches all parts of architecture
• Improved on time delivery of testable product
• Clarity in product description and product vision
• We stop over or under commit

No comments:

Post a Comment