Software Development Methods

There are seven different software development models that all work differently. The seven models are the Waterfall model, V model, Incremental model, RAD model, Agile model, Iteritive model, and the Spiral model. The waterfall model has a waterfall effect from requirements, to design, then implementation, to verification, and ending with maintenance. There are some advantages a business could take use of when using the waterfall model. It is pretty easy to use and understand. Each level has specific tasks that everyone in a business can understand. Each level is completed at one time so you can track where you are. This is mostly used for small projects. It also has its disadvantages. Since you do each level at a time, once it is finished it is hard to go back and change something that doesn’t work. Also the software is created toward the end of the process, which leaves a lot of risk and uncertainty. This model also isn’t ideal for complex, long lasting projects that may be subject to change.

The v model is a model that starts with a business case and ends with its release test. Once you have the business case it then gets its requirements then finds its system specification. After this the system and component are designed then the component is constructed. Once it is constructed it goes through a series of testing then is finally released. The advantages of using this model are that it is easy to use and there are multiple tests that are ran before the coding so there is a better chance for success. It also catches defects early on and is helpful for small projects. There are also some disadvantages. It is not as flexible and since the software is produced through later testing, if changes are made then many other changes in the process have to be changed.

The incremental model starts with a project’s requirements then has three different builds that are designed, developed, tested and implemented. The advantages to this model are that it develops software quickly and early in the cycle so that making changes are easier and cheaper. Since there are three builds, it can be implemented and tested faster and get response from customers. The disadvantages are that it needs a lot of planning and design. The whole end picture has to be seen before you can start the work. It is also more expensive overall.

The RAD model is somewhat similar but instead of three different builds, there are three different teams. Within these teams they have a business model, get the data for the model, process and apply it, then test it and take in turnover. This is all done within 60-90 days. The advantages of this model are that there is reduced development time and the components that are used can be reused if changes are made. This model also encourages customer feedback promptly. The disadvantage of this model is that you must have a very skilled team of developers and designers.

The Agile model has the same concept of choosing a project, then initiating it, then constructing it and working on its release then sending out the release and supporting it then lastly retiring it. This allows customers to be more satisfied because there is constant release of useful software by focusing more on people and interactions. There is a close relationship between the developers and the people to constantly make changes they need. The downfall is that at the beginning of the process you may not know how much work it will actually take because the project can easily go off track if the customer doesn’t know what they want.

The iritative model has the same concept but there is feedback after every step and is highly managed. This allows it to detect defects and receive user feedback on what can be fixed early on and throughout the whole process. This can be costly though because of the extra changes that may need to be made.

The spiral model also has the same concept but risk is highly anticipated and reviewed before the project. This is useful for large and critical projects so it is highly controlled. The downfall is that it is costly and needs people with special expertise. It is also very dependent on the risk analysis.

Each of these models could be applied to business projects depending on what the business needs. Although these models talk about the process to build software, it really is general steps a business can take to take on small and big projects depending on the requirements of the ending goal. It takes a team to analyze the risk, test a theory or product and then implement it.

Software Development Methods

Leave a comment