Development Methods

Get Started. It's Free
or sign up with your email address
Development Methods by Mind Map: Development Methods

1. RAD

1.1. The Rapid Application Development Model (RAD) is a form of the waterfall model and targets developing software within a short time span. It focuses on an input-output source and destination of the information. Projects can be divided into smaller pieces within a project within this model. Its main features focus on the reuse of templates, tools, processes and codes.

1.1.1. Advantages: flexible and adaptable for changes; useful when overall project can be at risk; easier to transfer information like scripts, abstractions, and intermediate codes that are used; coding can be reduced through generators and code reuse; there is a lesser possibility for defects because of prototyping in nature; phases delivers the highest priority functionality to the clients; productivity can be increased due to less people within short amounts of time.

1.1.2. Disadvantages: isn't best for smaller projects; is not compatiable with all applications; not suitable when technical risks are high; projects can fail if software delivery is not done in a timely matter; features can be pushed to later versions to finish projects in short periods due to time boxing; reduced scalability; problems can be hard to track because of no documentation that demonstrates what has been done; requires highly-skilled developers.

2. Agile Development

2.1. Agile Model: With this model, customers are able to see their results and understand their satisfactions with the developments. This model consists of short weekly meetings and extreme programming for practical usage.

2.1.1. Advantages: corrections are implemented in the developing process to incorporate competitiveness; split in between short and transparent iterations; risks are minimized because of flexible change processes; product version are released quickly.

2.1.2. Disadvantages: hard to measure the final cost because of permanent changes; teams need to be highly professional and client oriented; requirements can conflict with preexisting architecture; projects can exceed expected times based on correction and changes.

3. The Joint Application Development (JAD) is a technique that extends facilitated workshops. This involves collaborations between systems analysts and stakeholders which help identify the needs and the requirements in focused and concentrated efforts. Its process starts at the define session where a purpose, scope, and objective is defined, a team is selected where they are committed to attend and schedule sessions from appropriate stakeholders. The next step is to research the product. In order to become more familiar with the service or product, information need to be stored by obtaining any related models. After information is gathered, the information is prepared by using visual aids, developing agendas, and gathering all sources needed. The next step is conducting the session by following a premade agenda that gathers the documents and requirements the project needs. Equal treatment should be given to all participants to ensure what is important during the process. The final process is to draft the documents. The information should be recorded in the JAD session so it can then be refined and opened up to any questions or issues that could be discovered through the final document when it is reviewed for validation.

3.1. Advantages: grants gatherings anf consolidating of large amounts of information; produces a significant amount of high-quality information within a short amount of time; conflicts can be resolved instantly with the help of a facilitator; you can view one topic based on multiple points by exploring a forum that is already provided.

3.2. Disadvantages: requires a good amount of planning and scheduling; also requires a good amount of time and effort through the stakeholder; requires trained and experience for recordings and facilitation.

4. SDLC

4.1. Process: SDLC is a framework the defines the performed tasks for every step within the software's development process. This contains a thorough plan of describing, maintaining, and ways of replacing specific softwares. This is to help improve the quality of the software itself and the overall developmental processes. SDLC contains planning which is one of the most important software developments. This is where information is gathered and requirement analysis are done by the software engineers. SDLC also has implementation where software engineers write code conforming to their clients. It also tests the software to help find any defects and/or bugs that could have been formed in the software. Every step is documented for reference in the future and to help improve the software overall. Design documentation can also consist of the application programming interface (API). The software is then replaced when it has been improved for released through maintenance. The software is constantly improving with new requirements.

4.1.1. Waterfall Model: This is a cascade model of SDLC which is a step by step process of phases in which of the development process. These phases include analysis, projecting, realization, testing, implementation, and support. This is a strictly documented and predefined with characteristics that fit to every phase of the software development.

4.1.1.1. Advantages: This is simple to use and easy for everyone to understand; every phase has it's own designated result and process review; the development stages go one by one; works great for small or medium sized projects; easy to locate the key points within the development stage; easy to prioritize tasks.

4.1.1.2. Disadvantages: Software is only available after the final stage is over; it has high risks and uncertainty; is complicated for complex and object-oriented projects, also isn't best fit for long-term projects; hard to measure stage progress while still developing; doesn't give the option to see problem in advance since integration is done at the end.

4.1.2. Iterative Model: This process is based on repetition to allow new versions of a product to be made for every new cycle. These cycles can last between two to six weeks and includes developing separate components of a system followed by the component being added to the function that was developed earlier. overall, this model is used for the realization of sequential approximation and gradually plans a final product shape.

4.1.2.1. Advantages: Some functions can be quickly developed; parallel developments can be applied; easily measurable; its easier to test and debug stages when shorter; high-risks tasks are completed first for risk controls; problems can be defined and prevented in one iteration; it is easily flexible for any changes in the requirements.

4.1.2.2. Disadvantages: Requires more resources than waterfall model; requires constant management; all requirements can't be seen in the short planning stage which can cause issues with design; not best for small projects; process can be difficult to manage; risks can't be completely determined; highly-qualified specialists are required for risk analysis.

4.1.3. Spiral Model: This model is a combination of the iterative model and waterfall model. It is used to introduced by basing statistical data that is received during previous projects.

4.1.3.1. Advantages: Higher concentration leads to finishing phases earlier to address threats; is scalable for changes even though processes are precisely documented; changes can also be made and new additions of functionality during late stages; because of the prototype works flaws are easily pointed out.

4.1.3.2. Disadvantages: can be expensive; risks controls need highly-skilled professionals; are not as effective for small projects; require excessive documentation based on the large number of intermediate stages.

4.1.4. V-Shaped Model: Also called the "Validation and Verification Model", this model is an expansion of the waterfall model based on testing stages for every development stage. Stages can only go underway after the previous stage is fully completed. Each stage has a current process control that converts to the next stage.

4.1.4.1. Advantages: Each step has strict results making it easy to control; tests and verification take place at every stage; works for small projects.

4.1.4.2. Disadvantages: is not that flexible; has somewhat of big risks.

5. JAD