Upload
directi-group
View
8.449
Download
7
Tags:
Embed Size (px)
DESCRIPTION
From the presentation given at Web Innovation 2008 by Bhavin Turakhia and Naresh Jain on adoption of Agile practices at Directi.
Citation preview
Intelligent People. Uncommon Ideas.
Our Journey Down the Yellow Brick Road
(Agile Adoption @ Directi)
By Bhavin Turakhia (CEO) & Naresh Jain (Agile & Community Evangelist)
Directi (http://www.directi.com)
Licensed under Creative Commons Attribution Sharealike Noncommercial
Agenda
• Why Agile is important to us?
• Our Journey
• General Tips and Observations
• The Road ahead
Safeguard Ballistic Missile Defense System
• 1969-1975, 5407 person years
• Hardware designed at the same time as software specs being written
• Late changes in requirements not an option
• The project was delivered according to specifications
• Cost: $25 Billion (not adjusted)
‘By the time the 6-year anti-missile system project was completed, the new missiles were faster than the anti-
missile missiles’
Operational for 133 days - Project terminated in 1978
reqmts20 %
design20 %
code &unit test
18 %
integrationtesting42 %
In Conventional Software Development Processes
• Features are fixed
• Release spec is fixed
• .. and in theory ... time and cost is fixed
• Feature creep is a bad word
QualityQuality????
Cost/Resource
TimeSc
ope
The Reality is – Change is the only Constant
• Agile as the word suggests Acknowledges that uncertainty and change exist Recommends being open to change and evolving Is feedback driven Encourages ongoing and open communication Discourages over-engineering Encourages lean thinking KISS, DRY, YAGNI
Introducing Agile …
Agile is not a process. It is a philosophy / set of values
Our Journey
• Observations Maintain a heartbeat of the project Serve as quicker feedback loops (what works / doesn’t work) Maintain deadlines and focus / minimize timeline deviations Identify hurdles quickly Create a sense of urgency Demonstrate progress Motivate members Get a sense of performance amongst team members Communicate and trickle down vision regularly Create a sense of team ownership and collectiveness .. and they take almost no time
• Challenges Common time
Daily Stand up meetings
Weekly Iterations & Monthly Releases
• Implementation Time box each release to a month Schedule weekly demos Concept of iteration and completeness
• Observations Regular Stakeholder participation Reduces Business Risk Enables adaption to avoid delays Effective Prioritization Focus / Clear Targets Motivation Long enough to get stuff done Short enough to maintain predictability
• Challenges Chances of Burn out, lack of slack
eXtreme Programming• Implementation
TDD Refactoring Continuous Integration
• Observations Code coverage - safety net Drives better design Taking baby steps The last 5% doesn’t end up taking 95% time Early Feedback Reusable Test framework (Safety Net) Lets face it ... manual testing is boring Tests as Training documentation Lower cumulative testing cost
• Challenges Learning curve Easy to fall back to older habits
Add a TestAdd a TestAdd a TestAdd a Test
Run the Run the TestTest
Run the Run the TestTest
Make a Make a little little
changechange
Make a Make a little little
changechange
Run the Run the TestTest
Run the Run the TestTest
RefactorRefactorRefactorRefactor
Fail
Pass
Fail
Pass
Release Retrospective • Implementation
Discuss macro lessons learnt / process evolution / challenges
• Observations What worked / What didn’t work / What needs improvement Inspect and adapt Process evolution
• Challenges Not everyone is comfortable speaking up
Raising the Bar
• People matter *much* more than process
• Pair Programming during Interviews
• Very high focus on technical excellence / communication skills
• Diversity in skill-sets
We spend extra time in making sure we hire the RIGHT people,
so we don’t have to spend time in making sure the job gets done RIGHT
General Tips / Observations • Tips
You need local champions/ambassadors for percolation Don’t start out with 100% adoption - prioritize the practices Requires changes to your infrastructure and facilities Cross-functional agile adoption vs dev team only Only buy-in not sufficient / dedicated involvement and
commitment required Embrace tools Learn by Activity / Knowledge Percolation strategies
• Observations A fundamental shift in thought process Everyone is really excited!! (Moral Boast / Motivation) Higher visibility / greater transparency through the
organization
The Road ahead
• Pair Programming
• Automated Acceptance Testing
• Identify right metrics to measure
• Informative Work-spaces and Information Radiators
• User Stories or Clarity in terms of Feature Granularity
• Regular Cross Pollination and Rotation of Team members across different products
• Less Cubical more Dinning Table style seating arrangements
What’s been your experience?
Intelligent People. Uncommon Ideas.
Questions??
[email protected] [email protected]
http://directi.comhttp://careers.directi.com
Download slides: http://wiki.directi.com