How to Improve Your Development Process Using the Indicator of Productivity
Eduardo de Oliveira · Auerbach Publications eBooks · 2012
The usage of computer-based systems has become paramount in today’s modern world and one cannot think of this planet without computer applications even in their wildest dreams. Computer systems encompassing a variety of applications in 722 leading cutting edge technologies in domains such as defense, banks, telecom, aerospace, insurance, healthcare, manufacturing, oil, and energy is the present-day norm. The marketplace is becoming very tough with aggressive competitors on one end and multifarious and extremely sophisticated requirements from the customers on the other side. These complex requirements combined with time-to-market pressures, cost-cutting measures, and issues such as customer data confidentiality create rigorous timelines. Current software outsourcing contracts dictate a variety of stringent specifications and adherence to all the quantitative attributes of the software. Any breach on the agreed contractual obligations might lead to cancellation of the contract, and organizations may end up paying a hefty price as defined in the penalty clause of the contract. In worst-case scenarios, this might either end up in bankruptcy or bring disgrace to the organization’s history. A sample outsourcing contract should include service level agreement targets for software quality in terms of the number of defects, software size in terms of productivity of the organization, and cost in terms of effort and schedule. However, the above-mentioned targets may vary for different contracts based on the domain areas and customers’ expectations. In the case of contractual validity stretching over multiple years, the rigor on the contractual targets set for software productivity, number of defects, and effort consistently increases year on year. Vendor organizations are exploring various avenues, processes, tools, and best practices to make sure they comply with the contract conditions, as none is ready to welcome software failures, effort overruns, and huge delays. To ensure that software development is progressing as per the contractual obligations, the current rate of software development needs to be measured with specific tools, processes, and methodologies. A positive outcome of this analysis results in gaining the confidence of the customer. It also helps in boosting team morale. Early warning of the project lagging behind signals a sense of caution and identifies an urgent need to implement some corrective measures to steer the development work in the right direction to achieve the required goals. This also helps in eliminating major shocks at the end of the development life cycle.