Introducing Agility: The Manager’s Guide

If you’re a manager or team lead, you need to start by getting the team all on board. Make it clear that agile development is supposed to make things easier for the developers. This is primarily for their benefit (and ultimately, the users and the organization as well). If it isn’t easier, then something is wrong.

Go slowly. Remember that every little motion a leader makes is magnified by the time it hits the team.[43]

As you introduce these ideas to the team, be sure to lay out the ground rules for an agile project as described in Chapter 2, Beginning Agility. Make sure everyone understands that this is how the project will be run—it’s not just lip service.

Start with the stand-up meeting (see Schedule Regular Face Time). That will give you an opportunity to get the team talking to each other and synchronized on major issues. Bring any isolated architects into the group and have them roll up their sleeves and participate (see Architects Must Write Code). Start informal code reviews (Review Code), and make plans to get the customer/users involved (Let Customers Make Decisions).

Next you need to get the development infrastructure environment in order. That means adopting (or improving) the fundamental Starter Kit practices:

  • Version control

  • Unit testing

  • Build automation

Version control needs to come before anything else. It’s the first bit of infrastructure we set up on any project. Once that’s set up, you need to arrange for consistent, scripted local builds for each developer that run any available unit tests as well. As that’s coming online, you can start creating unit tests for all new code that’s being developed and adding new tests for existing code as needed. Finally, add a continuous build machine in the background as a “backstop” to catch any remaining problems as soon as they occur.

If this is unfamiliar territory to you, run to the nearest bookstore (or http://PragmaticBookshelf.com), and get yourself a copy of Ship It! A Practical Guide to Successful Software Projects [RG05]; that will help you get the overall mechanics set up. The Starter Kit series can help with the details of version control, unit testing, and automation in specific environments.

With this infrastructure in place, now you need to settle into a rhythmic groove. Reread most of Chapter 4, Delivering What Users Want, to get a feel for the project’s timings and rhythms.

By now you have all the basics in place, so you just need to tune the practices and make them all work for your team. Review the material in Chapter 5, Agile Feedback, as you’re setting up, and then take another look at Chapter 6, Agile Coding, and Chapter 7, Agile Debugging, for agile approaches to daily issues.

And last, but by no means least, start introducing brown-bag lunches and the other practices as outlined in Chapter 3, Feeding Agility. Work on the practices in Chapter 8, Agile Collaboration, to make sure the team is working together well.

Every so often—perhaps at the end of each iteration or each release—hold a project retrospective. Get feedback from the team: what’s working well, what needs tuning, and what things just aren’t making it. If a practice you’ve tried isn’t working out, review the What It Feels Like and Keeping Your Balance sections for that practice, and see whether there’s some aspect that has fallen out of balance and can be corrected.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.144.222.239