David A. Bartmess, Christina Noll, JT, Manraj Kahlon, Ryan Gee
June 2, 2015
Software Development: Quality Assurance and Procedures Software development is no simple task and it requires a lot of precise planning. Most software development will follow some type of software process model, which consists of various phases. There are many different models that are used based on the software being developed but they all share similar phases. The main phases of a software project are inception, planning, requirements analysis, design, implementation, testing, and maintenance. Inception is when the idea is conceived and planning is the phase when things such as the project plan are developed. In this phase things such as the schedule and budget are created. The scope of the project is determined and requirements for the software are gathered. In requirements analysis there are more requirements gathered and more detailed. This can be done through methods such as interviews. The design phase is when the architecture is defined as well as when the detailed design of the software is created. The implementation phase is when the code is written to build what was design and then the built system will be tested thoroughly in the testing phase. The maintenance phase is general updating, enhancing, and repair. Quality assurance is something that is done throughout the software development process. There are aspects of quality assurance in the various phases of development. Just like we create a project plan for development there is also a quality assurance plan. The quality assurance plan contains information on guidelines for quality as well as information on policies and procedures. There are many various activities carried out for quality assurance during software development. Some quality assurance activities include inspections, reviews and audits, defect management, process management, and risk management. Inspections are like a review of different project artifacts such as requirements early on or program code from the implementation phase. During inspections inspectors will look for defects as well as collect and analyze metrics. Reviews and audits are like inspections but someone external does them. Reviews are like a walkthrough that has been schedule whereas audits are not scheduled. During reviews and audits the reviewers may do things such as participate in meetings or review documents related to the project. Defect management is the manner in which defects are handled. Defect management involves classifying defects by severity and priority. Defect management also deals with tracking defects. Process management deals with measuring how effective certain processes are. Process management sees that process are adapting to new technologies and other factors. During process management processes are analyzed and updated or improved. Testing is a phase of software development but it is also a big part of quality assurance. Along with individual unit testing, modular testing, system wide testing, and beta testing there is acceptance testing. Quality assurance standards will be taken into consideration when testing is done.
Alternative Development Methods
There are several methods when it comes to alternative development models. They were created to define order and the frequency of phases in a project.
The waterfall process is one of the oldest and the most widespread one in use today. “The waterfall process is characterized by documents generated by the time each phase is completed. These include requirements specification and design specification, for example. Also, there are usually entrance and exit criteria between phases to ensure that a phase is completed successfully before moving on.” The waterfall pattern follows sequentially as the output of one becomes the input of the next. It is accepted that there is some overlap between adjacent phases but it is