By Steve Mezak
The term, high-performance software development team has a nice ring to it, but what does it mean, exactly? How do you define high performance within your software development group? One answer is to define your team’s performance and success by the product or solution’s profitability. However, since you can’t really know profitability until there’s a software product to sell or implement, you can use the following practices discovered by high-performing product teams to guide you along the high-performance path.
A recent report, The Study of Product Team Performance, published by Actuation Consulting and sponsored by Accelerance, found that certain performance indicators can determine high-performance software product teams, as they’re mechanics already embraced by high-performing organizations.
Elements of Success
High-performance software engineering or product teams don’t stress about development costs; understand the impact of development methodologies on profit; follow agile/scrum; effectively prioritize; have a clear definition of completion; and believe in automation.
Here, we go into the details of these factors.
Don’t stress development costs when prioritizing requirements; High-performance software engineers and product teams focus on features and value. Teams that prioritize by development cost are more likely to underperform than organizations that prioritize by feature value. Companies look at a lot of criteria when developing software—some market-driven, some internally derived. However, organizations that overemphasize the cost of development in their requirements just don’t do as well, and The Study of Product Team Performance confirms it. A high performing team won’t be distracted by cost arguments. They focus on developing features that deliver the greatest value.
Understand the impact of product development methodologies on product profitability; understanding and adherence to a development methodology leads to higher product profitability and higher performing organizations. The study found that when respondents did not consistently follow a product development methodology, then they were unlikely to be considered a high-performance team or have high product profitability.
Follow agile/scrum methodologies; profitability is a quality often associated with high-performing teams, and teams that advocate the agile/scrum development methodology are often the most profitable, according to The Study of Product Team Performance. Blended methodologies of some waterfall and some agile aspects are a distant second in terms of performance and profitability. Some respondents of the study were unclear of which methodology was actually being used within their team, which suggests that organizations consider what methodology they’re using, and evaluate the agile/scrum development methodology as a path to high-performance and profitability.
Effectively prioritize their backlog; one of strongest indicators of high-performing teams is a well-prioritized backlog. On the other hand, a confusing backlog correlates with not just low performance, but also poor financial results. Teams that operate with a clearly organized, examined backlog efficiently move from task to task. The systematic, step-by-step focus improves their consistency and effectiveness as developers.
Have a clear definition of “done” within the team; teams that own the definition of done tend to outperform their counterparts that don’t have a clear target. A big part of the definition is based on market research and the product road map. All these ingredients go into the vision of what the final result should look like. If you need to do a better job of defining done, here’s a tip—think about what the value the user wants or will gain by using the software. User stories help the team understand the outcome you think users want. Look at the value of each release and understand the desired user experience and capabilities associated with it. Establish a hypothesis for each release so you can test the outcome and know if it’s achieved or not. Confirm and validate after each release against your hypothesis. Otherwise, you’re drifting from one task to another without necessarily delivering value to your users and without a clear direction of when development work is done.
Believe in tools and automation; When software development teams embrace tools, technology, and automation, their development performance tends to be higher. Research confirms that product teams that believe this are found in companies that achieve their financial goals and objectives. Organizations that meet financial goals are successful, in part, because of efficiencies gained through use of technology by their product teams. Successful team leaders follow the technology available to the team and fight for tools to overcome any critical gaps. Effective teams also concentrate on getting the best engineering staff to get the job done right.
Managing Software Development
When you manage software development by these six recognized practices, your chances for success and profitability improve, whether you manage an internal software development group or work with an outsourced team. Make sure you’re on the same page with the rest of your software development team—or leading the charge, in understanding and utilizing these mechanics.
Steve Mezak is the founder and CEO of Accelerance, a U.S.-based outsourcing advisory firm that connects small and medium-sized enterprises looking to outsource software development or add to their in-house teams. He’s also the co-author of Outsource or Else: How a VP of Software Saved His Company and the author of Software Without Borders. Visit Accelerance.com to get a free copy of these books, as well as The Study of Product Team Performance.
May2017, Software Magazine