Lean Forecasting In Software Projects - Pedro Manuel Costa Miranda (2020)
When developing a software project, it's recognisable that accurate estimations of development effort play an important part in the successful management of the project. Although this process is so important, developers and experts can't usually estimate accurately the effort, time and cost of a project to be developed. This is inherit to the uncertainty that underlies their activity. After the first estimation of the effort, the project may, with some likelihood, need to adapt to evolving circumstances, which may lead to changes in its scope, and consequently lead to managers putting pressure in the developers to respect delivery dates. In the end, the project's development will, probably, get delayed and this delays not only affect the development team but also other parts of the company, such as staffing or marketing. This could, in some situations, lead to the company losing time and in many times the trust of the stakeholder. Even if the estimate is accurate enough so that delivery dates are respected, methods that relay on Human estimation are, often, time consuming, what can represent a problem when teams waste precious time in making estimations. In order to mitigate this problems, we will seek to identify the motivations and forces playing in a accurate estimate and determine which forecast method could provide the bet- ter accuracy with some generalization, in order to satisfy the existing variety of software projects. We will focus on forecast methods because of their automatability, that will help reduce the time teams waste on estimations, still delivering accurate results. This method must also be easy to understand, implement and use, so the number of inputs required and the difficulty to collect this inputs should be low. The output of the method should contain a certain level of uncertainty, in order to better represent the problem. In order to validate this method, a tool based on it will be developed, tested in terms of effective- ness and accuracy against other existing methods, and it will be integrated with software development management tools to validate it's ability to be used in real projects during their development phase. Following this lines, the main goal of this dissertation is to help reduce the time wasted in estimations, while maintaining or even increase the accuracy of the prediction made and maintaining the understandability and usability easy for the teams and developers using it.