Are you able to consistently deliver value every 2 or 3 weeks? Does your team frequently bite off more than they can chew in a single iteration? Does your team keep falling into old patterns and habits instead of focusing on delivering minimum viable product?
One of the biggest challenges in adopting agile software development is educating the customer about what they should expect every iteration. Historically your team likely worked hard for several months, driving to deliver a suite of features while your customer waited. Then, once delivered, your customer would review and likely have to live with the results.
Agile software development works differently. Every 2 or 3 weeks (1 iteration), you deliver potentially shippable product This is only possible if you reduce the scope of what you are delivering. Minimum Viable Product (MVP) allows us to reduce scope so we can deliver value each iteration. Without focusing on MVP, scope tends to become overblown and we are faced with being unable to deliver at the end of a iteration. Teams new to agile find this principle difficult. The first challenge is that product owners/customers are not used to your development team delivering value every 2-3 weeks, so they are expecting software that is fully functional instead of minimum viable product. It is the development team’s responsibility to train the product owner/customer to expect a new release every 2-3 weeks, even if the release isn’t production ready.
In addition, your software development team needs to grow accustomed to thinking about delivering MVP. What functionality is absolutely needed to deliver value, so your customer can see progress? A customer is more willing to accept MVP when you are consistent at delivering value every 2-3 weeks. It is up to the development team to build confidence with the product owner/customer and it’s up to the product owner/customer to understand that the development team can only deliver every 2-3 weeks if they are able to focus on MVP.
As your development time adopts agile practices, focus on MVP. Make sure your team avoids the habit of increasing technical complexity in a single iteration. Once you’ve developed a feature for an iteration, it’s better to focus your efforts on delivering another user story than pursuing ways to technically improve an already finished feature. Wait until the next iteration.
(Original article appeared in June 24th 2015 edition of The Tempo)