People Factor As Failure Reason Of Agile Adoption


Published on

Slides from Mikalai Alimenkou talking at Agileee conference 2009, Ukraine

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

People Factor As Failure Reason Of Agile Adoption

  1. 1. People factor as failure reason of Agile adoption Alimenkou Mikalai 19.09.2009
  2. 2. Background <ul><li>Java Technical Lead/Scrum Master at Zoral Labs </li></ul><ul><li>5+ years in software development </li></ul><ul><li>3+ years of working by Agile methodologies </li></ul><ul><li>Expert in Agile engineering practices </li></ul><ul><li>Agile coach (TDD, Testing, Planning) </li></ul>
  3. 3. Agenda <ul><li>Introduction </li></ul><ul><li>Why people are so important in Agile </li></ul><ul><li>Agile team member responsibilities </li></ul><ul><li>How people factor causes failures in Agile adoption </li></ul><ul><li>Ways of preventing failures </li></ul>
  4. 4. Some thoughts about Agile… <ul><li>There is no ideal formula of success in software development </li></ul><ul><li>Agile is not for everybody </li></ul><ul><li>If you fail with Agile it is not just your failure </li></ul>Why it doesn’t work?
  5. 5. How to fail fast with Agile? <ul><li>Don’t pay attention to people factor </li></ul><ul><li>Build Agile team from nothing </li></ul><ul><li>Choose inappropriate time and conditions </li></ul><ul><li>Have internal or external resistance </li></ul><ul><li>Don’t understand Agile values </li></ul><ul><li>Don’t have Agile leader or coach </li></ul>
  6. 6. Agile is built around the people <ul><li>Individuals and interactions over processes and tools </li></ul><ul><li>Build projects around motivated individuals </li></ul><ul><li>The best architectures, requirements and designs emerge from self-organizing teams </li></ul><ul><li>Business people and developers must work together daily throughout the project </li></ul>
  7. 7. Why people are so important?
  8. 8. What is the main goal? How to build right product? How to build product right? Scrum XP
  9. 9. Scrum doesn’t tell us how to ... <ul><li>Write high quality code </li></ul><ul><li>Deploy the system </li></ul><ul><li>Test the system </li></ul><ul><li>Architect the system </li></ul><ul><li>Support the system </li></ul><ul><li>Maintain the code base </li></ul><ul><li>Work with legacy code </li></ul>
  10. 10. May be try XP? It is so complex …
  11. 11. Ideal Agile developer’s life Communicate! Do pair programming! Do continuous integration! Do unit testing! Do TDD! Do acceptance testing! Make architectural decisions!
  12. 12. Dialog with Agile manager <ul><li>- Who is an architect in your team? </li></ul><ul><li>- Whole team! </li></ul><ul><li>- Who is a QA in your team? </li></ul><ul><li>- Whole team! </li></ul><ul><li>- Who is a manager of your team? </li></ul><ul><li>- Whole team! </li></ul>
  13. 13. “ Agile” team behavior “ Architect!” We don’t need upfront design! Nobody like your architectural documents!
  14. 14. Agile team member should … <ul><li>Be ready for self-organizing </li></ul><ul><li>Have high communication skills </li></ul><ul><li>Make architectural decisions </li></ul><ul><li>Build high quality product </li></ul><ul><li>Have enough technical experience to do engineering practices </li></ul><ul><li>Have deep understanding of Agile values </li></ul>
  15. 15. You are lucky if your team is ... <ul><li>Self-organizing </li></ul><ul><li>High motivated </li></ul><ul><li>Very efficient </li></ul><ul><li>Experienced enough </li></ul><ul><li>Technically skilled </li></ul><ul><li>Responsive to changes </li></ul><ul><li>Able to communicate easily and effectively </li></ul><ul><li>Working together for a long time </li></ul>
  16. 16. If not so lucky? <ul><li>Developers write bad code </li></ul><ul><li>QA can’t control quality, but just find bugs </li></ul><ul><li>Nobody is manageable, chaos in the team </li></ul><ul><li>Technical dept is coming </li></ul><ul><li>Communication is very difficult </li></ul><ul><li>Expectations of the customers are failed </li></ul><ul><li>Releases and deadlines are missed </li></ul>
  17. 17. But … <ul><li>If you have a high motivated, </li></ul><ul><li>self-organizing team of skilled </li></ul><ul><li>and efficient professionals </li></ul><ul><li>you don’t need process at all. </li></ul><ul><li>They will build it themselves! </li></ul>
  18. 18. Why most of us are not lucky? <ul><li>Not all team members may become Agile team member </li></ul><ul><li>Time and hard work are needed to become an Agile team member </li></ul><ul><li>Team is just a set of people </li></ul><ul><li>Lack of self-education </li></ul><ul><li>Lack of Agile leaders or coaches </li></ul><ul><li>Misunderstanding of Agile values and approaches </li></ul>
  19. 19. You can’t clone people 
  20. 20. Self-education survey <ul><li>How many of you have read at least 3 technical books this year? </li></ul><ul><li>How many of you have tried at least 3 new frameworks this year? </li></ul><ul><li>How many of you have visited at least 2 trainings or conferences this year? </li></ul>
  21. 21. What to do? <ul><li>Have enough (at least 50%) technically experienced team members </li></ul><ul><li>Use full set of engineering practices </li></ul><ul><li>Be patient and give team enough time </li></ul><ul><li>Prepare comfortable working conditions </li></ul><ul><li>Improve communication skills </li></ul><ul><li>Use team building </li></ul><ul><li>Make sure that everyone understands and commits to Agile values </li></ul>
  22. 22. Way of the developer <ul><li>Produce less but high quality code </li></ul><ul><li>Continuous self-education (books, trainings, blogs and forums, conferences and technical meetings) </li></ul><ul><li>Improve architectural skills </li></ul><ul><li>Improve communication skills </li></ul><ul><li>Share knowledge and experience (pairing, games, brown bags) </li></ul>
  23. 23. Way of the QA <ul><li>Think about QA but not QC </li></ul><ul><li>Prepare to be a full functional team member </li></ul><ul><li>Learn new frameworks and approaches </li></ul><ul><li>Participate in all stages of development </li></ul><ul><li>Continuous self-education (books, trainings, blogs and forums, conferences and technical meetings) </li></ul><ul><li>Leave old habits in the past </li></ul>
  24. 24. Way of the manager <ul><li>Try to build self-organizing team </li></ul><ul><li>Forget about “command and control” methods </li></ul><ul><li>Read and analyze full flow of new ideas and approaches </li></ul><ul><li>Inspect and adapt </li></ul><ul><li>Motivate people </li></ul><ul><li>Listen to people and help them to be efficient </li></ul><ul><li>Help people to improve their skills </li></ul>
  25. 25. And of course… Hire right people!
  26. 26. Conclusion <ul><li>People are the heart of any organization and </li></ul><ul><li>Agile process, so invest in them and don’t </li></ul><ul><li>forget about people factor making important </li></ul><ul><li>decisions … </li></ul>
  27. 27. Any questions? Email me: [email_address] Read my blog: Visit my website: