Implementing Agile : Do's and Don'ts

42
Implementing Agile Do's and Don'ts Anay Narendra Kamat PresentSoft Technologies http:// www.presentsoft.co.in

Transcript of Implementing Agile : Do's and Don'ts

Page 1: Implementing Agile : Do's and Don'ts

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

Takeaway

• Learning from mistakes• Confidence from success stories

Page 3: Implementing Agile : Do's and Don'ts

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

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

Why to be Agile?

Page 6: Implementing Agile : Do's and Don'ts

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

Do perfectly agile teams really exist?

Page 8: Implementing Agile : Do's and Don'ts

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

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

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

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

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

Quotes

Page 14: Implementing Agile : Do's and Don'ts

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

Do’s and Don’ts

Page 16: Implementing Agile : Do's and Don'ts

Focus Areas

• Project planning• Project management• Development• Quality analysis• Documentation• Skill enhancements

Page 17: Implementing Agile : Do's and Don'ts

Project planning

Page 18: Implementing Agile : Do's and Don'ts

Duration of sprint matters

Page 19: Implementing Agile : Do's and Don'ts

Try to have high bus number

Page 20: Implementing Agile : Do's and Don'ts

Have a story wall

Page 21: Implementing Agile : Do's and Don'ts

Involve entire team in estimation meetings

Page 22: Implementing Agile : Do's and Don'ts

Follow continuous integration

Page 23: Implementing Agile : Do's and Don'ts

Design the deployment strategy well in advance.

• And make it scripted

Page 24: Implementing Agile : Do's and Don'ts

Project management

Page 25: Implementing Agile : Do's and Don'ts

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

Encourage innovative ideas

Page 27: Implementing Agile : Do's and Don'ts

Ensure learning from “Yesterday’s weather” is implemented

Page 28: Implementing Agile : Do's and Don'ts

Development

Page 29: Implementing Agile : Do's and Don'ts

Do not design too much in detail

Page 30: Implementing Agile : Do's and Don'ts

Reuse, Reuse and Reuse

Page 31: Implementing Agile : Do's and Don'ts

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

Quality analysis

Page 33: Implementing Agile : Do's and Don'ts

Put efforts to understand real user behavior

Page 34: Implementing Agile : Do's and Don'ts

Reduce manual work through automation tools

Encourage test automation right from the beginning

Page 35: Implementing Agile : Do's and Don'ts

Do not use “Number of defects identified” as matrix to measure

QA effectiveness

Page 36: Implementing Agile : Do's and Don'ts

Documentation

Page 37: Implementing Agile : Do's and Don'ts

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

Example : Using Cucumber

Page 39: Implementing Agile : Do's and Don'ts

Skill enhancements

Page 40: Implementing Agile : Do's and Don'ts

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

Questions ……

Page 42: Implementing Agile : Do's and Don'ts

Thank you

ContactEmail: [email protected]

Twitter: http://twitter.com/kamatanay