I've always been a believer of Agile development.
But like with any change, you can't just go from 0% to 100% in one day. At my current position when I first started I knew a lot of change had to occur. The organization was used to do doing massive amounts of requirements planning, to long development cycles with little involvement of the end user, and the result was users felt they didn't get what they wanted.
Borrowing on some of the philosophies of Agile methodologies, I focused on changing the Systems Development Life Cycle to use very short iterative development cycles where the project was broken down into small phases where the code could be released on a phase by phase basis.
And that proved to be very successful as we involved the customer/end-user during the development of these phases, allowing them to steer things in the right direction. At the same time it's easier for people to adapt to a small series of changes vs. one massive change, teams are able to digest and estimate more accurately on smaller sets of requirements, and you're able to mitigate the risk of change on an incremental level.
Recently I was fortunate enough to review an up and coming book entitled Becoming Agile, which is part of the MEAP program (Manning's Early Access Program where you can download the book while it's being written).
The book totally inspired me. A lot of my readings on Agile from back in the day were very theoretical and high level at the same time. But Becoming Agile helps take you to the next level by going beyond the theory and into the nitty gritty practicality of employing the Agile approach. So it was very energizing having the game plan laid out in front of you, as well as the hurdles you'll encounter and how to overcome them.
It's one thing for developers to believe in being Agile, but you need managers, product managers, and project managers to buy into it as well. This book does a great job of giving you that foundation and knowledge to sell the concepts and changes needed.
I really like the writing approach as well – they go into storytelling narratives to setup examples and cases which are interesting to read, and at the same time very relatable. The book helps you evaluate where you're at today, helps you identify things that you're already doing that are good, and the areas that will need to change.
Developing is not just about writing code. Becoming Agile teaches you that in order to be successful you'll need changes in process, team structure, and other elements such as executive sponsorship and a plan that factors in change as a reality of development.
This book is a great asset to not only Developers, but technology Managers, Project Managers, and Product Managers.