Font Size: a A A

An Agile Estimating And Planning Method Based On Iterative Historical Data

Posted on:2013-02-17Degree:MasterType:Thesis
Country:ChinaCandidate:W R YangFull Text:PDF
GTID:2248330371988311Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Since the1960s, there has been a rabid development of the software industry. As software requirement gets more complicated, the size and complexity of software are increasing constantly. Software management is also facing greater challenges. With management not scientific enough, many software projects are more likely to be beyond consignation time and budget. One of the main problems of overrun is that software estimation is not sufficient enough. Agile software processes attempt to minimize the negative effects of insufficient estimation accuracy by assuring that the most important functionality is developed first in a incremental way. However, accurate estimate is still needed for supporting staffing and planning. Planning poker is one of the popular agile planning methods. It depends on subjective judgment of developers to a certain degree, so it may not be able to provide sufficient accuracy in some cases.As agile software development works in an iterative way, we propose a estimating and planning method that works based on iterative historical data of the current project. The usage of historical data may be able to provide objective reference to estimating and planning of the upcoming iteration. Main algorithms involved are fuzzy logic and one-dimensional linear regression. The methods for estimating user story of release planning and task of iteration planning are a little different in detail. The basic idea are as follows:1) Fuzzy logic is used for size estimation and its scale of size are VS(Very Small), S(Small), M(Middle), L(Large) and VL(Very Large).2) Refer to the relative-size table which is based on historical data for average elapsed time of the size.3) Count the amount of story or task with same size, and then multiple average elapsed times. As last, add the total elapsed time of different size to get the total elapsed time.With iterative historical data, estimating and planning of agile software development may improve iteration by iteration.Fuzzy logic is chosen as proxy instead of story point to lower difficulty in estimation and with historical data the accuracy of estimation is also improved. Meanwhile, differing from other estimation method like PSP in which fuzzy logic is used to estimate subjects of implementation phase like class or data models, we use fuzzy logic to estimate user story in planning phase which is still ambiguous to make plans adaptive to changes.
Keywords/Search Tags:Agile Software Process, Estimation, Linear Regression, Fuzzy Logic
PDF Full Text Request
Related items