• Seilevel Team

    Here’s the Team

    Welcome to our Seilevel Photo Op.

Development Best Practices Needed to Support Agile Transitions

As teams are continuing to adopt agile, part of my focus has been to get the entire team on board with the change, not only the Product Owners and BAs. Working with my teams I have heard some consistency of the major struggles they continue to have within the transition to agile. One of those is getting the development team on board as well. For my teams specifically, we have a lot of focus and training for the POs and BAs, but not as much for the development team. Instead, we seem to have more mandates, such as “testing needs to be completed within a given sprint” and other rules such as this. How do we expect the development teams to come up-to-speed on the necessary tools and practices? It seems as though the onus is more or less on themselves. Instead, I’m advocating to have in-depth training for these people as well.

Within agile development, development teams are expected to at least do the following:

  • Have their own fork for no more than 1 full day
  • Continuously integrate their code into the build
  • Build is automated
  • Test before integrating their code so they do not break the build
  • Write test cases before they code so they code only to satisfy the test

 

There are also specific tools that the development team should be adopting, such as JUnit, Jenkins, and Cucumber. These tools make it easier to adopt more agile practices. JUnit enables unit testing, Jenkins enables continuous integration, and Cucumber enables automated testing from the Given/When/Then statements provided in acceptance criteria. All of this gives us higher quality code and less overall technical debt when we’re really getting the project started.

As expected, there are consequences for the development team to not adopt agile practices. If we do not continuously integrate then developers who code their own areas may not realize the difference in interpretation of user stories, they may not realize they’re overlapping with someone else, additional defects may be found later than when they could have been found, and it’s more difficult to measure daily progress. In order not to have these issues, the above recommendations, at a minimum, should be followed. Additionally, you should conduct your own research and updating of best practices to continue to improve upon this baseline set of recommendations.

As discussed, these are minimum suggestions for a development team to adopt in the path to becoming an agile team. I’m making these recommendations based on my experiences coaching agile teams and what we find as issues while adopting agile. Comment below the issues you’re seeing with agile adoption and where you think your teams could improve.

One Response to Development Best Practices Needed to Support Agile Transitions

  1. Michael March 15, 2016 at 3:56 pm #

    Thanks for the post. Though you have listed general best practices and expectations for developers to start transitioning over to Agile, I see a few aspects that I would like to hear your thoughts on. To your point, I agree that we generally forget to acknowledge the importance of DevOps in supporting the transition, as well as ensuring that we develop our products in a responsible and fluid way.

    What’s also important is training up the development and the product team to have the right amount of empathy to make cooperative commitments that make sense. Learning how to properly estimate stories and understanding how these estimates are unique to each development team is crucial for a Product Manager and also crucial for the development team. These numbers can serve in the capacity of ensuring that the product team can properly judge when items can be done, while ensuring that the development team does not over-commit or cut any corners. In addition, giving transparency and access to information will drive better decision making and open the doors to more productive communication.

Leave a Reply

Your email address will not be published. Required fields are marked *