agile model new (1) (1)
agile model new (1) (1)
3
2.1 Definition ............................................................................................................ 3
2.2 Detail of Phases................................................................................................... 3
2.3 Diagram .............................................................................................................. 4
2.4 Pros and Cons ..................................................................................................... 4
3. Kanban .................................................................................................................... 5
3.1 Definition ............................................................................................................ 5
3.2 Detail of Phases................................................................................................... 5
3.3 Diagram .............................................................................................................. 6
3.4 Pros and Cons ..................................................................................................... 6
4. Extreme Programming (XP) ........................................................................................ 7
4.1 Definition ............................................................................................................ 7
4.2 Detail of Phases................................................................................................... 7
4.3 Diagram .............................................................................................................. 8
4.4 Pros and Cons ..................................................................................................... 8
5. Feature-Driven Development (FDD) ........................................................................... 9
5.1 Definition ............................................................................................................ 9
5.2 Detail of Phases................................................................................................... 9
5.3 Diagram ............................................................................................................ 10
5.4 Pros and Cons ................................................................................................... 10
6. Lean Software Development .................................................................................... 11
6.1 Definition .......................................................................................................... 11
6.2 Detail of Phases................................................................................................. 11
6.3 Diagram ............................................................................................................ 12
6.4 Pros and Cons ................................................................................................... 12
7. Crystal Clear .......................................................................................................... 13
7.1 Definition .......................................................................................................... 13
7.2 Detail of Phases................................................................................................. 13
7.4 Pros and Cons ................................................................................................... 14
8. Dynamic Systems Development Method (DSDM) ...................................................... 15
8.1 Definition .......................................................................................................... 15
8.2 Detail of Phases................................................................................................. 15
8.3 Diagram ............................................................................................................ 16
8.4 Pros and Cons ................................................................................................... 16
9. Summary ............................................................................................................... 17
10. References of Topics ............................................................................................. 19
1. Introduction
Agile software development methodologies are widely adopted frameworks aimed at delivering high-
quality software iteratively and collaboratively. This document explores prominent Agile models
including Scrum, Kanban, Extreme Programming (XP), Feature-Driven Development (FDD), Lean
Software Development, Crystal Clear, and Dynamic Systems Development Method (DSDM). Each
model is detailed with its phases, diagrams, advantages, disadvantages, and relevant questions.
2.Scrum
2.1 Definition
Scrum is an iterative and incremental Agile methodology that focuses on delivering small, working
pieces of software through time-boxed sprints. It relies on a framework of roles, events, and artifacts
to ensure continuous delivery and improvement. The Scrum model is an agile framework for
managing and completing complex projects, typically used in software development but applicable
to other fields. Scrum focuses on iterative progress through short, time-boxed periods known as
sprints, where teams work on specific features or tasks. It emphasizes collaboration, adaptability,
and delivering value incrementally
1. Sprint Planning: The team collaborates to define the tasks and objectives for the sprint,
typically lasting 2-4 weeks. A clear sprint goal is set.
2. Daily Scrum: A daily 15-minute stand-up meeting where team members discuss progress,
challenges, and plans for the day. It ensures alignment and transparency.
3. Sprint Execution: The team works on the tasks defined in the sprint backlog, adhering to the
sprint goal.
4. Sprint Review: The completed work is demonstrated to stakeholders for feedback and
approval, fostering collaboration.
5. Sprint Retrospective: The team reflects on the sprint to identify successes and areas for
improvement, enhancing future iterations.
2.3 Diagram
• Pros:
o Enhances communication through regular meetings.
o Frequent feedback ensures alignment with stakeholder expectations.
o Iterative testing improves overall product quality.
• Cons:
o Requires consistent team commitment and collaboration.
o Challenging to implement for teams new to Agile principles.
o Success depends heavily on team dynamics and expertise.
3. Kanban
3.1 Definition
Kanban is a visual workflow management methodology that emphasizes continuous delivery and
adaptability. It focuses on limiting work in progress (WIP) to optimize efficiency and reduce
bottlenecks. Unlike Scrum, which uses time-boxed sprints, Kanban is more flexible and operates on
a continuous flow basis. The primary goal is to improve the flow of work by identifying bottlenecks
and reducing cycle times. Here’s an overview of the key components of Kanban
1. Visualize Workflow: Create a Kanban board with columns like "To Do," "In Progress," and
"Done." Tasks are moved between columns as they progress.
2. Limit Work in Progress: Define a maximum number of tasks allowed in each column to
prevent resource overload.
3. Manage Flow: Continuously monitor the movement of tasks to ensure a smooth workflow
and identify bottlenecks.
4. Feedback Loops: Conduct regular meetings to review the efficiency of the workflow and
make necessary adjustments.
5. Continuous Improvement: Use data from task tracking to implement incremental
improvements.
3.3 Diagram
• Pros:
o Transparent workflow provides clarity for all team members.
o Adaptable to changing priorities without disrupting ongoing work.
o Minimizes idle time and maximizes throughput
• Cons:
o Requires a disciplined approach to maintain WIP limits.
o May lead to delays if not properly managed.
o Less structured, making it unsuitable for complex projects.
4. Extreme Programming (XP)
4.1 Definition
Extreme Programming (XP) is a disciplined Agile methodology that emphasizes technical excellence
and frequent delivery. It focuses on practices like pair programming, continuous integration, and
test-driven development (TDD) to produce high-quality code. Extreme Programming (XP) is an agile
software development methodology that emphasizes customer satisfaction, flexibility, and high-
quality code. XP aims to improve the software development process by focusing on engineering
practices that enhance collaboration, encourage continuous feedback, and promote sustainable
practices. It is particularly suitable for projects with rapidly changing requirements and were
delivering high-quality, functional software quickly is crucial.
1. Planning: Define user stories and prioritize them based on customer needs. Develop release
plans with clear deliverables.
2. Design: Focus on creating simple, efficient designs. Employ design patterns to enhance
scalability and maintainability.
3. Coding: Use pair programming and collective code ownership to write clean, efficient code
collaboratively.
4. Testing: Conduct continuous testing, including unit, integration, and acceptance tests, to
ensure code quality.
5. Release: Deliver small, functional increments frequently to gather feedback and adapt as
needed.
4.3 Diagram
• Pros:
o High-quality code due to rigorous testing.
o Encourages frequent customer feedback and adaptation.
o Promotes team collaboration and knowledge sharing.
• Cons:
o Resource-intensive due to continuous testing and pair programming.
o Requires a disciplined team with strong technical skills.
o Less suitable for large, complex teams.
5. Feature-Driven Development (FDD)
5.1 Definition
1. Develop Overall Model: Create a high-level model of the system by collaborating with
stakeholders to understand requirements.
2. Build Feature List: Break down the system into a comprehensive list of features based on
the model.
3. Plan by Feature: Prioritize features and develop a detailed schedule for their
implementation.
4. Design by Feature: Create detailed designs for each feature, ensuring alignment with
system architecture.
5. Build by Feature: Develop and test features iteratively, integrating them into the system.
6. Large-Scale Projects: It works well for larger teams or projects where the complexity
of the system requires clear organization and planning.
7. Stable or Well-Defined Domains: FDD is ideal for projects where the domain is
relatively stable or well-understood, allowing for a detailed domain model and
feature list to be created upfront.
5.3 Diagram
https://newline.tech/.
• Pros:
o Structured approach with clear deliverables.
o Scales effectively for large teams and projects.
o Focuses on client needs and feature-driven progress.
• Cons:
o Requires extensive upfront planning and modeling.
o Developer-focused, less emphasis on end-user interaction.
o Less adaptable to rapidly changing requirements.
6. Lean Software Development
6.1 Definition
• Pros:
o Minimizes waste and optimizes resource utilization.
o Promotes collaboration and team engagement.
o Accelerates delivery of value to the customer.
• Cons:
o Requires a cultural shift and strong leadership to implement effectively.
o May not be suitable for highly regulated environments.
o Can be challenging to balance speed with quality.
7. Crystal Clear
7.1 Definition
Crystal Clear is a lightweight Agile methodology designed for small teams working on
projects with low criticality. It emphasizes frequent delivery, personal communication, and
reflective improvement.
Crystal Clear is one of the methodologies in the Crystal family of agile software
development approaches, created by Alistair Cockburn. It is designed to be lightweight,
adaptable, and easy to implement, with a strong emphasis on communication, simplicity,
and close collaboration. The methodology is based on the idea that different projects have
different needs, so it provides flexible guidance that can be tailored to the size and
complexity of a given project.
1. Project Chartering: Define the project’s goals, constraints, and success criteria,
ensuring alignment among all stakeholders.
2. Cyclic Delivery: Deliver functional increments in short cycles, maintaining
adaptability to changing requirements.
3. Iteration Reviews: Reflect on the work completed during an iteration, gathering
feedback to improve future cycles.
4. Wrap-Up: Finalize and deploy the product while documenting key learnings and
improvements for future projects.
5. Frequent Delivery: Just like other agile methodologies, Crystal Clear encourages the
frequent delivery of working software. This ensures that stakeholders can provide
regular feedback, and the project can be adjusted as needed to meet their needs.
7.3 Diagram
GeeksforGeeks. Accessed December 31, 2024. https://www.geeksforgeeks.org/.
• Pros:
o Highly adaptable to team size and project needs.
o Encourages transparency, collaboration, and communication.
o Simple to implement and manage.
• Cons:
o Limited scalability for larger teams or complex projects.
o Relies heavily on team dynamics and individual contributions.
o Lacks formal structure, which may lead to inconsistencies.
8. Dynamic Systems Development Method (DSDM)
8.1 Definition
DSDM is an Agile framework that emphasizes active user involvement and iterative
development. It focuses on delivering a functional system aligned with business needs
within tight deadlines and budgets.
1. Feasibility Study: Assess the project’s technical and financial viability, ensuring it
aligns with organizational goals.
2. Business Study: Define business requirements, objectives, and priorities, engaging
key stakeholders.
3. Functional Model Iteration: Develop prototypes and gather user feedback to refine
requirements and functionality.
4. Design and Build Iteration: Design, build, and test the system iteratively,
incorporating feedback from users and stakeholders.
5. Implementation: Deliver the final system to users, ensuring it meets business needs
and expectations.
6. Business Sponsor: The person responsible for providing the funding and overseeing
the project's strategic alignment with business goals. This role ensures that the
project meets business needs and priorities.
7. Business Visionary: This individual is responsible for defining the overall business
objectives and ensuring that the team stays focused on delivering value.
8. Project Manager: The person responsible for overseeing the project's progress,
ensuring that the project is delivered on time, within scope, and on budget. The
Project Manager is also responsible for managing risks and issues.
8.3 Diagram
• Pros:
o Strong emphasis on user involvement and stakeholder engagement.
o Ensures alignment with business goals and priorities.
o Flexible and adaptive to changing requirements.
• Cons:
o Requires significant user and stakeholder commitment.
o Resource-intensive, making it challenging for smaller teams.
o May not suit projects with rigid deadlines or fixed scopes.
9. Summary
References of Diagram
• 30, Grorapid labsNovember, and Grorapid labs. “Custom Software Development
• Admin. “Home.” Custom Web & Mobile Development Company - New Line
https://decode.agency/.
2024. https://appinventiv.com/.
https://www.youtube.com/channel/UCqXINvmzjxJ9yCyhtqP4SDQ.