Software development is challenging. It is normal for software developers to find some problems with their software design, especially during their beginner days. This usually involves simple and repetitious defects which subtly hamper their overall productivity. Defect-driven development (DDD) is a concept proposed to tackle such problems. DDD utilizes the benefits of software defect knowledge base by collecting defects data from experienced programmers and teach beginners to avoid these problems. In this way, the beginners can proactively prevent the defects and subsequently produce more high-quality software. DDD concept can be efficiently adapted to either traditional software development such as the Waterfall and Spiral model, or the more modern concepts such as Scrum or Test-driven Development. This research implemented the DDD concept on undergraduate students and compared their performance with the generic personal software process. A total of seventy-seven undergraduate students from information technology departments participated in this experiment. The experiment was organized in 3 batches in order to minimize potential discrepancies in the results. The result unanimously reveals that the students who implemented DDD had a significantly higher yield on defect removal. Although the time spent to finish each project in the DDD group were higher as expected, they were surprisingly not statistically different from the students who implemented a generic process. This suggests that DDD is a promising concept of software development.
Software testing is a necessary process to ensure quality of software. Unfortunately, it is usually perceived as a very difficult process for inexperienced software developers. Defect-driven Development (DDD) is a novel development concept which aims to bridge such gap. DDD helps inexperienced developers to automatically generate essential test cases and scripts from defect information collected from a knowledge base. This research describes an implementation of the concept as well as its performance evaluation. The result suggests that this technique helps beginners to create an equivalent effectiveness level of unit test compared to experts in both term of time used and defect density.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.