The global recession has had a strong impact on the software development industry. These effects can be felt by anyone speaking to a development executive. The outcry is similar–“How can I do more with the same resources?” In order to address this need, there are two common objectives software development teams must embrace.
The global recession has strongly impacted the software development industry, including companies that develop software to support their traditional services. Anyone speaking to a development executive can feel these effects. The outcry is universal: “How can I do more with the same resources?” The need to be innovative, competitive, and cost effective has never been stronger than it is today. If necessity is the mother of invention, then current world economy is the mother of necessity. Nearly every CIO or VP of R&D that I speak with is struggling to improve their time to market while increase the number of features delivered within stagnant or shrinking budgets. Two common objectives of software development teams address this need:
- Improve predictability
- Optimize productivity
Perhaps a third common objective should be to increase innovation. While I will not address innovation directly in this article, there is an indirect relationship between predictability, productivity, and innovation. The more productive and predictable the team, the more capacity and latitude it has to put into innovative development.
Being able to accurately estimate software deliverables in terms of schedule, scope, and quality is a prized objective for software development teams and management. Any company that relies on software to help drive revenue, either directly or indirectly, needs to be able to trust the estimation capability of its software development group. Business leaders directly correlate revenue projections to software features, so delivering on time with committed scope and quality will provide better budget projections to the company and its stakeholders.
I’ve been involved with large software development companies whose business departments do not trust the development organizations, and it was not pretty. There is a lot of contention, blame, and general dysfunction in organizations like this.
Once your business stakeholders can count on your commitments, they will think that you are not doing enough (how could you if you are delivering on time?), and they will quickly focus on getting even more functionality to the end-users. Not only is this a significant challenge for most organizations, but available methods for improving predictability and productivity features over time not readily available to most technology leaders. I like to use the word "effectiveness" to describe both predictability and productivity. The more productive and predictable a team is, the more effective they are. Effective development organizations can accurately predict their delivery in time, scope, and total quality while continuously finding ways to improve their productivity.