12 very good ideas that may help you be agile
- Rename “agile” to “common sense”
- What matters is the quality of the team…
- Go for simplicity, make it a habit
- Get trained but not by anybody
- Not everybody can be agile in the timeframe of your project
- Do completeness from the first user story
- Software test strategy: make it the responsibility of the team
- Rename “Scrum Master” to “Scrum facilitator”
- Think big, start very small
- Use ideas and concepts that provide a holistic approach
- Mono-tasking: art of getting things done
- Learn, learn and learn
1. Rename “agile” to “common sense”
•“Agile cannot apply to all projects!” becomes: “Common sense does not apply to all projects”… “Could you repeat that?”
•“Agile is just a fad” becomes “Common sense is just a fad!”… “Oups! Is it?”
“Agile” may not be the right word, so use a more meaningful word ?
2. “What really matter is the quality of the team
•… The rest is just an optimisation”
•Having worked for a great team using waterfall, we just became agile because:
–They were Highly Skilled engineers
–They were Quality-focused
–They had Common sense
Fundamentally, this is all about the quality of team
3. Go for simplicity, make it a habit
•People like the abstract world, mainly because it feels better: “Wow, you are doing complicated stuff!”
–Use examples, models, rewrite and rethink until you have captured the essence of business needs
•Good user stories are more than “As a … I want … so that…” but they are a still a good conversation!
–If you don’t understand something, this “something” might be your problem soon
–Dare aim for simplicity and be very concrete (use examples)
Simplicity is an art
4. Get trained but not by anybody
•Agile is about not compromising on Quality so get the right trainers i.e. aim for the best!
•Mike Cohn and Ken Rubin are very good
Quality in each and every aspect!
5. Not everybody can be agile in the timeframe of your project
•“Common sense is anything but common”: you have to acknowledge some people will be obstacles so if this is your project, better out of your way that in your way!
Agile is not for everybody, be tough!
6. Do completeness from the first user story
•Your Definition of Done is the key success of your project
•So make sure that even for the first user story, you have tackled your non-functional requirements
–Add tests to measure performance, data quality, load testing etc
Is your first story really, really shippable if you had to ship it?
7. Software test strategy: make it the responsibility of the team
Mainly because of historical reasons, software design and software development are the responsibility of the dev team and software testing of the test team headed by a test manager who is the person to come up with the test strategy, although test engineers are now part of the scrum team.
With new techniques and tools are appearing (e.g. BDD), new ideas or ideas are evolving (see testing quadrants by Lisa Crispin or the Forgotten Layer of the Test Automation Pyramid by Mike Cohn, “test engineering” requires a tailored approach to your project including a good understanding of the product, the requirements (user stories) and the design (taking testing into consideration when designing your product helps get a better design): and who is most capable to provide that approach? Yes, the team! As design is emergent, testing is too.
Tailor your test strategy: make it the responsibility of the team, they will provide the right one!
8. Rename “Scrum Master” to “Scrum team facilitator”
•I understand scrum master is the master of the scrum process/framework but some people really only hear “Master”
•The scrum master is a team facilitator: find the people who have facilitating skills to be your scrum masters!
Look for facilitators to help your teams!
9. Thing big, start very small
•Always keep the big picture in mind and implement small user stories first
•Engineers always under estimate the effort so ask them to do the simplest thing that can work and help them do it well
Really, don’t hesitate to do less and do it well
10. Use ideas and concepts that provide a holistic approach
•User stories, BDD et DDD have lots in common:
–Based on conversation
–Reflect business inputs
–Supplement each other
•All together provides a cohesive approach
Holistic approach = coherent people
11. Mono-tasking: art of getting things done
•Too often, engineers get involved in doing too many things at once
•Limit work in progress (WIP) in your « in progress » column of tasks
Mono-tasking is great discipline
12. Learn, learn, learn
•New concepts are coming along, BDD, DDD, FDD etc: don’t be afraid: behind these concepts, there are simple ideas
•Learning new things and once you have passed the learning curve will motivate you!
Nobody was born an agile coach…
In a nutshell , Apply common sense and use simplification to drive change!