Development Models

L13: "Your Choice" Mind Map of Development Methods

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

1. Joint Application Development (JAD)

1.1. "JAD is a more collaborative process that SDLC and involves the end-user throughout the design and development of the project through a series of JAD sessions." (Debra Geoghan, 2016) "JAD (Joint Application Development) is a software development approach that engages the client and/or the end-users to design and develop the system."(W3Schools)

1.1.1. Process

1.1.1.1. Define Specific Objectives

1.1.1.2. Session Preparation

1.1.1.3. Session Conduct

1.1.1.4. Documentation

1.1.2. Advantages

1.1.2.1. Improved Delivery Time

1.1.2.2. Cost Reduction

1.1.2.3. Improved Quality

1.1.2.4. Better Understanding

1.1.2.5. allows key users to participate effectively

1.1.2.6. Produces a more accurate statement of system requirements

1.1.3. Disadvantages

1.1.3.1. Different opinions within the team make it difficult to align goals and maintain focus

1.1.3.2. may require a significant time commitment.

1.1.3.3. more expensive

1.1.3.4. cumbersome/difficult if group is too large

1.1.3.5. produces a requirements model not a new system

1.1.3.6. not a complete development methodology

2. System Development Life Cycle (SDLC)

2.1. "The traditional model for system development is known as the SDLC" (Debra Geoghan, 2016) "This life cycle is often a waterfall model as it cascades from feasibility study, systems analysis, design, implementation, testing, and finally to install and maintenance." (Bydrec, 2020)

2.1.1. Process

2.1.1.1. Planning

2.1.1.2. Analysis

2.1.1.3. Design

2.1.1.4. Implementation and Testing

2.1.1.5. Maintenance

2.1.2. Advantages

2.1.2.1. "This life cycle is often a waterfall model as it cascades from feasibility study, systems analysis, design, implementation, testing, and finally to install and maintenance." (Bydrec, 2020)

2.1.2.2. makes it clear what the problem or goal is

2.1.2.3. project is designed with clarity

2.1.2.4. proper and sufficient testing before install

2.1.2.5. provides tight manager control with well documented paper trails

2.1.3. Disadvantages

2.1.3.1. Increased development time and cost

2.1.3.2. System details should be specified beforehand

2.1.3.3. The volume of documentation increases with time

2.1.3.4. Inflexibility when it comes to changes

2.1.3.5. Outdated processes

2.1.3.6. Testing may not be suitable for all development teams

3. Rapid Application Development (RAD)

3.1. "RAD is an interactive process that uses prototyping and user testing of the designs."(Debra Geoghan, 2016) "AD methodology is a powerful alternative for the traditional waterfall model of development that isn’t always the most effective. From the very beginning, rapid application development came from the spiral model. But over time, rapid application development changed. It was adapted to fit developer time constraints while retaining some core development guidelines. The RAD meaning becomes clearer when you see that speed is always of the essence where this model is concerned. " (Vaniukov, 2020)

3.1.1. Process

3.1.1.1. Requirement planning

3.1.1.2. Prototype cycle

3.1.1.2.1. build

3.1.1.2.2. demonstrate

3.1.1.2.3. refine

3.1.1.3. Design construction and testing

3.1.1.4. design implementation and release

3.1.2. Advantages

3.1.2.1. Faster time to market

3.1.2.2. Allows user to accommodate changes

3.1.2.3. Fills gap between user content and data

3.1.2.4. Instantly connects disparate systems

3.1.2.5. Enhances existing IT systems

3.1.2.6. Keeps costs down

3.1.3. Disadvantages

3.1.3.1. Requires skilled developers and designers

3.1.3.2. high dependency on modeling skills

3.1.3.3. complex to manage compared with other models

3.1.3.4. suitable for systems that are component-based and scalable

3.1.3.5. User requirements throughout the lifecycle

3.1.3.6. object-oriented

3.1.3.7. not designed to work well with smaller projects

3.1.3.8. Features are often eliminated to fit time limits

3.1.3.9. ittle to no documentation

4. Agile Development

4.1. "Agile Development is an incremental and iterative process that uses short iterations or sprints, with the project team stopping and reevaluating the direction of the project every two weeks" (Debra Geoghan, 2016) "This approach produces many release cycles where each iteration is tested, issues are addressed, and feedback is obtained from stakeholders throughout the process. It involves evolutionary development, continuous improvements, and flexible in the face of any changes." (Intellectsoft US, 2021)

4.1.1. Process

4.1.1.1. Brainstorm

4.1.1.2. Design

4.1.1.3. Development

4.1.1.4. Quality Assurance

4.1.1.5. Deployment

4.1.2. Advantages

4.1.2.1. Enables fast development and testing

4.1.2.2. Issues are detected and fixed quickly

4.1.2.3. Accommodates changes or enhancements

4.1.2.4. Face-to-face communication and continuous feedback

4.1.2.5. Less emphasis on design and documentation

4.1.2.6. Scalability

4.1.3. Disadvantages

4.1.3.1. Employees need prior experience in agile software development

4.1.3.2. Less emphasis on design and documentation

4.1.3.3. A project manager with experience in agile software development is required

4.1.3.4. No perspective on how the final product will shape up at the start of development