Agile Development: 5 Lessons Learned

Working in software development can be challenging and tricky without the right plan in place, especially without a plan that caters to your employees’ work styles. Here at SoftArtisans our development team follows the agile dogma and we’ve discovered several lessons along the way. Wondering if agile development is right for your team? See below for 5 things to keep in mind when implementing this work style.

1. You absolutely need backup from higher-ups.

Too often I have seen or heard of departments that were “going agile,” but management was not behind them. No matter how enthusiastic about it the developers were, their plans were ruined every time management expected something to be “like it used to.” Managers who don’t give things time to adjust create developers who don’t give things time to adjust, and then everything is doomed to fail.

2. Retros are vital.

One important thing about agile is that you can change things quickly when you need to. This applies to the direction the software is taking, but it also applies to the processes and mindsets of team members. This is what retrospectives are for. A good team will be able to be honest about what’s working and what isn’t and subsequently make changes for future sprints.
This whole process is much easier when…

3. Retros don’t include higher-ups.

Management usually wants to know what’s going on, and that’s great, but retros are not the place for it. Developers will be much more hesitant to speak up about some problems if managers are present – even if generally there is a very good relationship between the two.  Management has different priorities, and it’s possible the retro will start to revolve around that instead of what development needs. All of this becomes much worse if management doesn’t buy into agile to begin with.

4. You need to give it time.

Agile doesn’t make a lot of sense at first, especially to people who have been working in waterfall for years. Everything is different, up in the air, prone to change – how can people work like that?! What are these “points?” They don’t mean anything!

Agile is all about the team figuring out what works for them. Point values, processes – everything will start off in a strange vacuum and slowly settle down to making sense.

This is one of the biggest problems I’ve seen, and it relates back to previous points.  Management doesn’t give it time because it’s new and different. Veteran developers don’t give it time because it doesn’t make sense to them.  And it all gets dropped long before it would be able to do any good.

5. A good product owner is invaluable.

The product owner is the doorway between developers and customers. They decide what will be worked on and when. They help the scrummaster keep management off developers’ backs. They make sure everything is pared down into the smallest possible stories. And when they don’t do these things, everything falls apart. Find a product owner who gets the product and the idea of stories and hold onto them.  Appreciate them.

Still uncertain if agile is the right fit for you? Kelly Water’s “All About Agile,” provides a nice overview of agile development and outlines 10 key principles to see if implementing it is right for your teams and company. HackerChick also has a nice comparison between agile and lean development. Any key points we’ve missed or stories from working under the agile methodology you’d like to share? We’d love to hear from you in the comments section below.

Related posts: