Are you able to control and improve your productivity… without sacrificing quality?
Business requirements. That is the basic goal of custom software development: to satisfy business needs in order to be competitive in a tough market environment. To cover the most number of business needs as soon as possible is one of the key factors of custom software development. This is what drives us to measure and, therefore, be able to manage the productivity of software development.
Whether you develop new applications or you maintain your existing ones, you still need to measure the productivity for both types of projects. While, for new applications, what you want to know is how much of the functionality is developed in a given period of time, for maintenance you need to know how many problems are fixed in a frame of given time. So, basically, the productivity is the rate of stuff you produce within a given period. This is fairly easy. Cold numbers.
Now, to really measure, compare and manage productivity, you have to look into the quality of the development deliverables; how can you compare productivity numbers of two different software factories if the quality of the delivered software by one of them is far from meeting minimum standards?
Historically, we have the perception that quality and productivity are incompatible concepts. That if I increase one of them, the other one will automatically decrease. In Optimyth, we think this is far from true. Imagine a development department responsible of the maintenance of an application. They fix the reported bugs without worrying about the quality of the change they introduce because of the overhead that implies. This team is highly productive by the numbers; they fix several bugs a day. But this productivity is ephemeral since not controlling the quality may, for example, reduce the overall maintainability of the application and, little by little, next changes will be harder to do. Like a time bomb, the productivity of the maintenance team will decrease over time. And not only them; the productivity of other teams that have to evolve the application will be impacted as well.
This case illustrates how productivity is related to quality and how the control of productivity requires watching the quality of the development.
The Optimyth’s increase of productivity solution allows a combined control of all the variables involved in the productivity of software development teams and the quality of the deliverables.
With Optimyth’s solution you can automatically obtain the lines of code (LoC) and the function points of your applications, either with backfiring techniques or IFPUG methodology. At the same time, you can get the time of development tasks, bug fixes and their states and any other relevant information from 3rd party management tools. With all these, you can calculate productivity indicators like function points/day or bug fixes/day and correlate them with the quality indicators defined in a quality model that sets the minimum standards of quality for your development. You can, for example, calculate deviations between effort and application size estimates and real values after the development is finished.
Using the Optimyth’s integrated portal, you will have a holistic view of the productivity and quality of your development process and teams, allowing you to find the balance between productivity and quality.
You can benefit from a centralized and accurate control of developed applications and other factors of the development process, obtaining information to help estimate time, effort and technology suitability of future development projects. You will have the possibility of comparing productivity by team, software factories, technology or any other category that can help in the decision making.
So, make your teams more productive but don’t sacrifice quality. It pays off.
Related products: checKingQA