So this is the first in a multi-part entry where I am going to talk about what I think is the ideal approach to the Agile SDLC for use in the a large corporation. This is particularly important for me because that is the focus of this blog; Agile in large corporate America. Why the distinction? Because I think Agile can, and is being done, somewhat differently at small companies, pure tech companies and successful (or soon to be successful) startups. But if you are working in a mid to large corporation like I am then this is the approach that I feel makes the most sense. Large being defined in this case as more than a hundred people and revenue north of 300M per year.
So here goes:
This, Agile as a software development methodology, is easy to understand but it is hard to implement well. It is especially difficult for the development management team, Team/Tech leads and product managers.
Why? Because there is nowhere to hide and no way to not be transparent. It is designed to optimize the amount of time each developer has to work, undisturbed and unobstructed on developing and optimizing code that translate into features.
Only features that have business value should be worked on. The term “value” will vary greatly from one organization to another and must be defined up front by the “Agile team” as a whole. This is a difficult level of consensus to achieve. Because the “Agile team”, is not just the management team or the product owner. It is everyone involved in the development of a feature. This includes management, product managers, program managers, development management and SME’s (subject matter experts) from the development and QA teams.
Agile teams are self-organizing but not self-leading, so it is up to all of us to take position of leadership. And convincing everyone involved to take responsibility and act like a leader is very, very difficult.
At this point the average reader is going to be asking, “Why do I care”? Because when you can do Agile well it is a beautiful and rewarding thing. So hang in there with me and I’ll try to walk you through how to get there.
Next time we’ll tackle part 2 of this post. Defining the steps in the Agile process