The three known basic patterns in software development are the waterfall, spiral, and prototyping. A software development method is a method you used in software development. This is known as software or software lifecycle process called.
Software Development Methodologies
Why are there so many software development methodologies? The answers vary, but many companies have difficulties in their software development projects within time and budget to complete. Are circulating even estimated that 50% of the software goes wrong. A well-known, road pricing mistake. Therefore one is looking for a method that works. For decades they try to find predictable processes to improve productivity and quality. Some models try to systematize and formalize software development. Others apply project management techniques to writing software.
Various Software Development Methods
Perhaps the most common (and oldest) method is the waterfall method. It is based on the image of the waterfall, where you can not
return. The steps are sequential and the process through from top to bottom. It has the following steps:
Information analysis, requirements analysis, requirements analysis
design / documentation.
programming, construction or development
Sometimes management is still seen as a phase
Not every step has to be done. After each step is continued to the next step. Like building a house after the construction of the walls nothing done to the foundation. If no iteration is included in the planning can not in principle be returned to a previous step to correct mistakes. One of the drawbacks of this method is that it takes a long time before any results are visible, and if they are visible, they are difficult to repair. It is an excellent method if the (internal) customer / user in the analysis may well tell you what she wants.
Models based on the waterfall method
Jackson System Development
Iterative Software Development Methods
Iterative development or iterative application development (IAD) describes a method to the steps of a project to repeatedly go through in order to prevent a project ends in failure because of problems or faulty assumptions. Iterative methods are preferred for a client who can not exactly describe what he wants. If the customer is able to describe exactly what he wants is the waterfall method is suitable. An example is rapid application development.
Agile Software Development Method
Agile software development processes are based on the principles of iterative development. On top of this base, they have a more people-oriented perspective than traditional approaches. Agile processes use feedback, rather than as a planning base. The feedback is provided by regular testing and evolving the software.
Agile processes seem to be more efficient than older ‘traditional’ approaches, they have less programming time to a higher quality product to deliver, but they have the disadvantage that it is not possible to deal with such a long-term planning process models. It means that they provide best value for money, but you never know when you get where you …
Extreme Programming (XP) is the best known agile method. See also Adaptive Software Development with many prototyping
Software Development Project Management Methods
Software development is often done within a project, so the usual project management methods are useful, such as PRINCE2, SPICE, and Six Sigma.
Formal methods are mathematical approaches to software and hardware problems at the level of requirements, specifications and designs. Examples of some formal methods Petri nets and VDM.
Other Software Development Methods
Feature Driven Development