Font Size: a A A

Research Of Way To Improve Agile Software Development And Tools To Support It

Posted on:2007-08-12Degree:MasterType:Thesis
Country:ChinaCandidate:L ChenFull Text:PDF
GTID:2178360185961499Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
Due to lack of practical guidelines, many of software projects failed during 60's and 70's. In order to pass the Software's Crisis, several software process models have been developed since 80's. People try to use all kinds of models, principles, methods and restrictions to manage the activities of software development.Software processes are generally divided into two categories: heavy weight process and light weight process. The idea of heavy weight process is try to involve restriction in software development, which is used to reduce the change. But practically, people find that changes in software development are difficult to avoid, in some extend, even impossible. And those restrictions obviously will raise the cost of development. Especially to the small or middle size of project, the rising cost is unacceptable.The magnum opus of light weight process is Agile Software Development. And other examples of light weight process such as SCRUM, Crystal, Feature Driven Development, eXtream programming and Adaptive Software Development emphasize on the adaptability, flexibility, just enough, cooperation and communication.But there is no measurement in ASD (Agile Software Development). The improvement of ASD mostly depends on the experience and feelings. That means it is difficult to achieve continue and stable software process improvement.In the meanwhile, fewer tools exist are designed to support ASD originally. But ASD has its own characteristics, which provides a viable way to design support tools to help to improve the performance of it. For example, ASD accepts changes in any stage of the development procedure, so obviously testing will take a large part of ASD to ensure the high quality of the products. That what improves the performance of testing will definitely improve the performance of ASD globally. So to support ASD with the automated testing will make it more effective, and also can solve many of problems what manual way occurs.Here, the author tries to develop a suit of tools to support ASD corresponding to its particular characteristics. The suit of support tools is used to solve the problems of ASD and to make ASD more effective and robust. Firstly the author reveals the fact that the characteristics of product are correlated with the characteristics of software process. And also researches on how to collect these characteristics with very low cost (even no cost) to make it possible that ASD's process improvement could be made based on the objective data.Secondly, and most importantly, the author provides a method of automated testing on the Object Oriented software. By using this method, it could not only improve the performance and quality of ASD, but also could apply the way of Spec Driven Development.Finally, the implement of the above ideas on the Visual Studio platform is described. And the whole suit of the support tools is named as - SolidDev.
Keywords/Search Tags:Agile Software Development, Software Process Improvement, Software Metric, formal predicates, formal specifications, SPEC#, Visual Studio Extension, test automation
PDF Full Text Request
Related items