Team performance and how to improve it can be viewed through a lot of different lenses: the AMP principle, storming/norming/performing, tribal knowledge, avoiding dysfunction, and so on. Those are all valid perspectives and powerful ones, and we – at Informulate – love our reading! That said, sometimes the most obvious basic truths remains unsaid – so lets cover those foundational aspects here because you can’t build high performing teams without a strong foundation.
Five basic truths of high performing software development teams
Here are 5 basic truths you already know but for some reason haven’t been able to really dial it in:
- Complimentary skills and personalities: Yes, culture is important but if you have honesty and a desire to grow – you will naturally absorb the culture around you. But more than unity you need diversity in skills and personality. 2 front end and 2 back end developers sounds good in theory but what if the front end devs don’t have graphics experience? Or the back-end devs are more middle tier guys and weak on database architecture? Knowing the sub-specializations is key. Same with personality: you can’t have all introverts or everyone thinking big and missing important details. Know what you need and hire/train for it.
- Estimation: Ooh, some of you just got tingles because that is a SCARY word for developers. Giving an estimate that you are held to – what is this – medieval times? But that is the basics of project execution and I don’t care how much of an Agilista you are (we love Agile btw) – you need to be able to make commitments and keep them.
- The 80-20 rule: Immature teams can act like mature teams – for a while. Sometimes a long while, depending on the size of the project. Many well-meaning but immature teams will look at a project scope, and rush to deliver the low-hanging fruit and leave the hard stuff for the end when they blow the budget and timeline because its too late to add resources or change scope. Easy features are more predictable, and burning time on low-uncertainty work will leave less time for high risk work. We front load risk – through technical Proofs of Concept or minimalist workflows we de-risk the project early so that mid-way through the project we know for sure what tweaks need to be made to hit the delivery targets. This makes a huge difference in project outcomes, which is why we consistently come in on budget and timeline.
- Starting with Why: This is a culture thing but everyone should be empowered and challenged to ask the Why questions. In fact, Agile retrospectives should build that in so that Scrum Masters routinely share the Why of decision-making. If not, the team is left to behave in a request-response fashion. And then you wonder why teams don’t take “ownership”? Its because they haven’t been treated like owners. Having the right methodology is what brings everything together. Lean Startup and Design Thinking offer powerful methodologies to ensure that the team as a whole is orienting with the customer and their problem as the north star.
- Feedback: Feedback is like fiber in the diet. Most people don’t like it, but everyone needs it. Without high trust and emotional safety though, feedback can make things toxic and be used in political battles. But in organizations with the right culture, feedback accelerates growth and continuous improvement to levels where in a year or two the team is on a different level. Radical Candor is a great book – and its principles are what we aspire to here at Informulate.
Get the basics tight
At the end of the day, a team is just a group of people trying to accomplish an outcome. If we start to lose sight of basic things as discussed above, then a team never really jumps from average to high performance. Informulate has helped clients across varied industries and size to maximize their software investment through end-to-end delivery of digital products and transformation through powerful methodology.
Need help with software development and/or best practices? Reach out to us at [email protected] to learn how our assessments can help you get a clear perspective on code quality, architecture, security, functional quality, performance, team best practices and much more.