As software leaders, we are constantly striving to automate the processes around software quality, but what about the quality of our teamwork? After 25 years forming, storming, norming, and leading software teams for some of the most innovative technology companies, I was left with one question: how can we optimize teamwork to improve efficiency and productivity?
Business demands increase as the supply of software engineering talent tightens. Teams grow in size but struggle with the overhead of onboarding new developers. The organization expands but the cross-talk of concurrent initiatives makes it difficult to align priorities. Teams continue to take on more scope but timelines remain the same.
Does any of this sound familiar? The duties of a software leader are immense but one of the most important parts of our job is to provide the right tools for our teams to operate efficiently.
Define High Performance
Many software leaders focus on velocity as a KPI but my personal experience has proven cycle time is a much more wholistic indicator of team health. The reason is the subtle detail that velocity is tied to an arbitrary number (points) but cycle time measures how long on average it takes a team to complete a story. By eliminating the arbitrary part of the equation you now have a metric to assess the overall efficiency of the team and their ability to break down work into the smallest piece of working functionality. The cycle time metric thus calculates how long it takes a team to complete a unit of work, which is an effective gauge of the efficiency of the team’s working model.
So how do we decrease cycle time? In order to do that, we need to optimize the team’s communication channels – acceptance criteria, context/architecture, UX design, code review/validation, fewer meetings/interruptions – and the right tools to support their process.
Can We Optimize Communication?
Throughout the day we are bombarded with messages via Slack and required to join meetings via Zoom. While these are vital synchronous communication tools, by definition they impact our productivity by interrupting our work stream.
Jira and Github are wonderfully asynchronous because we can update them at our own convenience; however, typing an update is not only time consuming to write but much is lost in translation to the reader.
In other words, we need to marry the power of our synchronous tools like Zoom and Slack with the convenience of our asynchronous tools like Jira and Github so we can communicate effectively in the software development world without the constant interruption.
Asynchronous Enabled Agile Ceremonies
Here are some key Agile ceremonies and how asynchronous communication can make them more effective for teams.
Make your stand-ups more available to team members who missed out or are in different time zones by making the recordings automatically available.
Share showcases with stakeholders and leadership to keep them in the loop. Share with other teams to acquaint them with your current projects.
Share a screen flow of your feature or fix with UX, product management, and other developers using a screen recorder, so they can confirm that everything looks correct and behaves how it’s supposed to. This enables product managers to sign-off more quickly, with more context, and on their own their own schedule.
Preserve evidence of functionality at a particular point in time or convey defects to developers by recording a screen flow of testing scenarios.
Brown Bag and Knowledge Transfer Sessions
Enable self-serve knowledge sharing by recording design, demo, and code review sessions. New developers can watch the videos instead of having to ask others to repeat the information.
Scale your team without creating additional load on existing team members. Record pertinent information sessions and provide them to new hires so they can get up and running quickly.
Capture user reviews and usability sessions so developers can watch and gain empathy around customer interactions.
Documentation serves a purpose but it’s very time consuming.. Outside of legal and regulatory applications that require documentation, video is far more effective at conveying an idea to more people with less effort. A video takes much less time to record so you can update it whenever the need arises.
Are You Ready to Create a More Agile Team?
We’re here to help and share the best practices we have learned from working with development teams that are delivering consistent value to billions of users (yes billions!). We would love to share with you and your teams to help make your projects more fun and efficient – with asynchronous communication.
Ready to learn more?