implementing agile : do's and don'ts
TRANSCRIPT
![Page 1: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/1.jpg)
Implementing Agile Do's and Don'ts
Anay Narendra KamatPresentSoft Technologies
http://www.presentsoft.co.in
![Page 2: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/2.jpg)
Takeaway
• Learning from mistakes• Confidence from success stories
![Page 3: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/3.jpg)
All the teams and people mentioned in this talk are real and as such, could resemble to the people living or dead and the teams existing in organizations.
![Page 4: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/4.jpg)
The Prime Directive
Regardless of what we discover, we understand and truly believe that everyone did the best job they could, given what they knew at the time, their skills and abilities, the resources available, and the situation at hand.
![Page 5: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/5.jpg)
Why to be Agile?
![Page 6: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/6.jpg)
What does it take to be Agile?
Agile manifesto:Individuals and interactions over processes and tools
Working software over comprehensive documentationCustomer collaboration over contract negotiation
Responding to change over following a plan
![Page 7: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/7.jpg)
Do perfectly agile teams really exist?
![Page 8: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/8.jpg)
TEAM A
• BA formed the list of stories based on the requirements given by the client only.
• PM managed the team without getting into micro-management.
• Team provided and received updates during stand-ups.• Every member of the team was allowed to communicate
with the client• Dev followed PP, good design pattern, TDD and Continuous
Integration• QAs used automation tools to run tests• Deployment was automated as well
![Page 9: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/9.jpg)
TEAM B
• Product owner had delegated the responsibility of requirements and communication to one of his trusted person
• BA formed the stories based on the requirements given by the client only
• Only PM and BA were allowed to communicate with the client
• Teams shared updates through stand-ups• Team followed PP, good design patterns, TDD and CI• QAs used automation tools• Deployment was automated
![Page 10: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/10.jpg)
TEAM C• Team members had attended SCRUM trainings• Each team managed the leave requests of their members• Requirements/Stories were written by a different team• Estimates were done in ideal days• Duration of sprint was 3 weeks• Long stand-ups• Code reviews were done by members of another team.• Team did not follow TDD, PP, CI• QA members belonged to a different team• Requirements changed frequently• Team never delivered all the stories planned in the sprint.
![Page 11: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/11.jpg)
TEAM D• All the stories were written and updated in project management tool
directly by the client.• Team relied heavily on email communication• Only few senior members were allowed in client call updates• Estimates were done in story points mapped to idea days• Team did not follow TDD, code was completely procedural, CI was not
used• Team members were divided in specialized groups• QA members belonged to a different team• Deployment procedure was separate for production and stage
environments• Only few people were able to handle deployment activities on
production
![Page 12: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/12.jpg)
TEAM E
• Client had no time to give or finalize requirements. BA had to judge most of the requirements on his own.
• Only PM, BA and Architect was allowed to communicate directly with the client
• Long stand-ups. Stand-up was driven by the Project Manager.• Development used to start for the stories which were not
completely defined• Design decisions were taken completely by the architect• No strict code reviews. OO was not followed since
management was of the opinion that it was too advanced for the team members.
![Page 13: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/13.jpg)
Quotes
![Page 14: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/14.jpg)
Quotes
• It’s been 3 months since we started following scrum. We don’t see any improvement, but situation has definitely become worst – A team member
• On estimates done using story points over the scale of 2 - 3 - 5 - 8 (and 13), team of 12 people cannot achieve velocity of more than 10 points – Scrum expert of one organization
• Let’s start with the estimates, 2 point is for the story taking 1.5 days, 3 point for the stories taking 4 days … – A team lead from one organization
• We learnt a great thing. Remember it, and you can implement in your next project . – PM
![Page 15: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/15.jpg)
Do’s and Don’ts
![Page 16: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/16.jpg)
Focus Areas
• Project planning• Project management• Development• Quality analysis• Documentation• Skill enhancements
![Page 17: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/17.jpg)
Project planning
![Page 18: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/18.jpg)
Duration of sprint matters
![Page 19: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/19.jpg)
Try to have high bus number
![Page 20: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/20.jpg)
Have a story wall
![Page 21: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/21.jpg)
Involve entire team in estimation meetings
![Page 22: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/22.jpg)
Follow continuous integration
![Page 23: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/23.jpg)
Design the deployment strategy well in advance.
• And make it scripted
![Page 24: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/24.jpg)
Project management
![Page 25: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/25.jpg)
Do not micro-manage
• Ensure that team understands the goal and the big – picture and is not dependent on stories.
• Be with the team
![Page 26: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/26.jpg)
Encourage innovative ideas
![Page 27: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/27.jpg)
Ensure learning from “Yesterday’s weather” is implemented
![Page 28: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/28.jpg)
Development
![Page 29: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/29.jpg)
Do not design too much in detail
![Page 30: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/30.jpg)
Reuse, Reuse and Reuse
![Page 31: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/31.jpg)
Be responsible
• Ensure you are not breaking existing features• Use automated unit tests. It helps a lot.• Every feature needs to be “Deployable”
![Page 32: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/32.jpg)
Quality analysis
![Page 33: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/33.jpg)
Put efforts to understand real user behavior
![Page 34: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/34.jpg)
Reduce manual work through automation tools
Encourage test automation right from the beginning
![Page 35: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/35.jpg)
Do not use “Number of defects identified” as matrix to measure
QA effectiveness
![Page 36: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/36.jpg)
Documentation
![Page 37: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/37.jpg)
Documentation
• Prefer following over text based documentation/comments:– Automated Unit Tests– Automated Functional Tests– Deployment scripts– Story description and discussions from project
management tool
![Page 38: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/38.jpg)
Example : Using Cucumber
![Page 39: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/39.jpg)
Skill enhancements
![Page 40: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/40.jpg)
Skill enhancements
• Pair programming helps• Encourage training within the team• Encourage and reward implementation of
innovative ideas• Discourage forming of specialized groups
within the team
![Page 41: Implementing Agile : Do's and Don'ts](https://reader035.vdocuments.us/reader035/viewer/2022062313/559180781a28ab12538b45bd/html5/thumbnails/41.jpg)
Questions ……