If you are an organization that is considering moving to Agile, especially a larger one, there is an Ugly Truth that Agile consulting firms don't want you to know: You don't need coaches to come in full-time to help you on your journey......
Sure you can spend a ton of money on people who will come in and tell you how you should be doing standup, scrum, retrospectives, etc....Try to get everyone to do the same thing across your organization. The Truth? In successful Agile organizations everyone can be different, that's ok. Yes you want some consistency but doing things by rote doesn't get you where you want to go.
In the coaching world we talk about organizations Doing Agile who never get to Being Agile. What's the difference?? Everything.
Yes the basics of Agile include things such as standup, retros, sprint planning and release planning, but those are the basics that can make you feel like you are Agile, but that's about it.
Agile IS transformative process and one that if you as an organization buy into, will receive great value from in the form of valued delivered in a more consistent manner.
I remember years ago when I was managing a technical project that required that I purchase some hardware and though I had found a better deal with a different vendor, my boss told me to buy the IBM hardware (at a much higher price) with the advice - 'You don't get fired for buying IBM'.
I think that many large organizations fall into this mindset and when trying to move to Agile They fall into the mistaken belief that if you hire one of the large Agile coaching groups or hire Agile consultants, that you will ensure success or at the very least not get fired because you hired 'Agile professionals'.
Yes you do need people who can provide support in the important areas that Agile truly needs to have in order to bring the value you desire from it:
- Automation - Develop, implement and improve your test automation frameworks. This includes unit, integration and functional areas. You MUST make this investment and you need to get to high levels of automation, because without it you cannot go fast, time for testing will hold you back.
- Planning and Estimation - An area that is very much overlooked when moving your product development teams to Agile is the need for these teams to form a strong working relationship and learn how to plan in estimate in Agile. The notion, especially for larger organizations, that you don't need to do some level of up front planning is a sure way to fail and fast.
- Organizational change - Probably more than anything you need to understand that your organization will change, significantly in many ways, when you move to Agile. You need to prepare your managers to let go and let their teams own their deliverables (trust me if you give this to people they will own it). You as an organization need to understand that your management group will change, you will need fewer managers (sorry folks that is a reality). Though in reality many of your current managers were placed in these roles as more as a retention means over a true management track that the organization has defined. These people need to move into your Tech Lead roles, they run their scrum teams, own the technical and architectural elements of their product code. Managers will oversee several Scrum Teams and will be focused on larger concepts such as technical roadmaps, cross organizational planning and staff development.
So the Ugly Truth is that you don't need to spend hundreds of thousands of dollars on coaches who will tell your teams what to do. Instead hire people who have been on the ground, who can help your teams learn the skills they need such as TDD, BDD, User Story Mapping and Estimating.
Start small and grow the process into the organization. You need to get your processes working on a small-scale and then move outwards into the organization. The people who are successful in your pilot groups become your sales people for the next groups. Trust me, I listen to the people who actually do the work more than I ever do people who try to provide me basic information that I can find anywhere online.