Written By: Andrew Fruhling, Chief Operating Officer at Calavista
It’s great to hear someone reference a book that you have recently read. It gives an instant level of rapport and usually several good conversation topics. I recently had this experience with two of our customers as they mentioned an excellent software development book called Accelerate: Building and Scaling High Performing Technology Organizations by Nicole Forsgren, PhD, Jez Humble, and Gene Kim. This book outlines software development best practices and should be, in my opinion, a starting point for anyone who wants to have a high performing software development team or organization. High performance software development does not occur by chance. Repeatedly delivering high value, high quality software requires a combination of:
1) Strong organizational discipline,
2) proven LEAN Agile-based methodology with automation wherever possible,
3) significant talent and experience that executes consistently, and
4) a commitment to continually improve process and tooling.
My oldest son is starting to apply to universities and will be taking some standardized tests over the next few months. What if we had a standardized test for high-performing software development teams? Perhaps you are thinking “His mind is starting to wander after too much binge-watching TV shows” OR perhaps you are thinking “This is great time for software development leaders to survey their team’s effectiveness and look for areas to improve.“ Either way, I thought it would be fun to turn the information from the book into a simple standardized test that anyone on the team could complete in a few minutes.
In Appendix A, the authors identify 24 key capabilities of high performing software development organizations. These capabilities are classified into the following 5 categories:
Continuous Delivery: Consists of 8 key indicators around software development tools and automation (aka Continuous Integration and Continuous Delivery or CI-CD). This is really the basic foundation of high-performing teams and worth 40 points on the test.
Architecture: There are only 2 indicators in this critical area. While CI-CD is the foundation for high-performing teams, Architecture is the foundation for the actual software the team is building.
Product and Process: Consists of 4 indicators that gauge the interactions with key product stakeholders around product and process.
Lean Management and Monitoring: With 5 indicators, this section looks for sophistication and efficiency in your operations with monitoring, dashboards and LEAN methodology.
Cultural: The last section moves further up the needs hierarchy with 5 questions on the leadership and culture of the organization.
Converting each of these capabilities into a question creates a simple, standardized test and allows us to have a little fun. Answer each question with a value from 0 to 4 where:
0 = Not happening today, i.e. “It’s on our To Do list, but not there yet!”
1 = Occurs occasionally in some areas, i.e. “Some people do this individually, but not standard practice.”
2 = Occurs periodically on some parts of the team, i.e. “Many team members are aware and have good intentions, but it is not happening on a regular basis.”
3 = Usually, but not always, i.e. “It’s part of our standard process, but we still seem to miss it at times.”
4 = Almost always, i.e. “It’s part of our DNA and just how we operate.”
Once you have answered all the questions, sum the points per category and enter this value on the category title line. To get an overall grade, total the points for all sections and add 4 bonus points just for taking the test. This will give you an overall score from 0 to 100 with 4 easy points for just taking the test! Give yourself a grade using the standard schoolwork approach of “C” for scores in the 70s, “B“ for scores in the 80s, and an “A” for scores in the 90s. If you scored less than 90% on any category, you may want to review the sections of the book that are most relevant for that category.
How many software development teams score an “A” on this assessment? Whether your team scored an “A” or a “B” or perhaps something much lower, we can all find ways to improve our teams across these capabilities. We do well across each of the categories, but I would like to see us improve our automation and dashboards around the performance metrics.
Let us know your thoughts on this test. It would be great to hear feedback on areas where teams are doing well and where we as an industry need to improve!