0% found this document useful (0 votes)
39 views16 pages

Agile Development Models Overview

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views16 pages

Agile Development Models Overview

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

Dr.

Ambedkar Institute Of Technology

Subject : Software Engineering And Project Management


Topic :Agile Development Models

Name: Varshitha G.A


USN : 1DA21CS159
Submitted To:
Dr . Praveena M.V
Assistant Professor
Agile Development Model
 The meaning of Agile is swift or versatile .
 Agile process model refers to a software development approach based on iterative development.
 In Agile model , the project scope and requirements are laid down at the beginning of the development
process.
 Plans regarding the number of iterations, the duration and the scope of each iteration are clearly defined in
advance.
 Each iteration is considered as a short time "frame" in the Agile process model, which typically lasts from
one to four weeks.
 The division of the entire project into smaller parts helps to minimize the project risk and to reduce the
overall project delivery time requirements.
 Each iteration involves a team working through a full software development life cycle including planning,
requirements analysis, design, coding, and testing before a working product is demonstrated to the client.
Some of Methodologies of Agile Developmental
Model

 Scrum
 Kanban
 Lean Software Development
 Extreme Programming (XP)
 Feature-Driven Development (FDD)
 Dynamic Systems Development Method (DSDM)(Atern)
 Crystal Methods
 Unified Process
Scrum
 Scrum is a popular agile framework that is used whenever we want to develop complex products
 Ken Schwaber and Jeff Sutherland are the people who developed Scrum.
 Scrum is a management framework that teams use to self-organize tasks and work towards a common goal.
 It is a framework within which people can address complex adaptive problems while the productivity and
creativity of delivering products are at the highest possible value.
 Scrum allows us to develop products of the highest value while making sure that we maintain creativity and
productivity.
 The iterative and incremental approach used in scrum allows the teams to adapt to the changing
requirements.
Silent features of Scrum
• Scrum is a light-weighted framework
• Scrum emphasizes self-organization
• Scrum is simple to understand
• Scrum framework helps the team to work together
Lifecycle or Workflow
• Sprint: A Sprint is a time box of one month or less. A new Sprint starts immediately after the completion of the
previous Sprint.
• Release: When the product is completed, it goes to the Release stage.
• Sprint Review: If the product still has some non-achievable features, it will be checked in this stage and then
passed to the Sprint Retrospective stage.
• Sprint Retrospective: In this stage quality or status of the product is checked.
• Product Backlog: According to the prioritize features the product is organized.
• Sprint Backlog: Sprint Backlog is divided into two parts. Product assigned features to sprint and Sprint
planning meeting.
Crystal
 The crystal method is an agile framework that is considered a lightweight or agile methodology that focuses
on individuals and their interactions.
 The methods are color-coded to significant risk to human life.
 It is mainly for short-term projects by a team of developers working out of a single workspace.
 The crystal method was developed by an American scientist named Alistair Cockburn who worked at IBM.
How Does Crystal function ?

 Crystal Clear- The team consists of only 1-6 members that is suitable for short-term projects where
members work out in a single workspace.
 Crystal Yellow- It has a small team size of 7-20 members, where feedback is taken from Real Users. This
variant involves automated testing which resolves bugs faster and reduces the use of too much
documentation.
 Crystal Orange- It has a team size of 21-40 members, where the team is split according to their functional
skills. Here the project generally lasts for 1-2 years and the release is required every 3 to 4 months.
 Crystal Orange Web- It has also a team size of 21-40 members were the projects that have a continually
evolving code base that is being used by the public. It is also similar to Crystal Orange but here they do not
deal with a single project but a series of initiatives that required programming.
 Crystal Red- The software development is led by 40-80 members where the teams can be formed and
divided according to requirements.
 Crystal Maroon- It involves large-sized projects where the team size is 80-200 members and where
methods are different and as per the requirement of the software.
 Crystal Diamond & Sapphire- This variant is used in large projects where there is a potential risk to human
life.
Properties of Crystal Agile Framework:
 Easy access to expert users- It enhances team communication with users and gets regular feedback from
real users.
 Focus- Each member of the team knows exactly what to do, which enables them to focus their attention.
This boosts team interaction and works towards the same goal.
 Technical tooling- It contains very specific technical tools which to be used by the software development
team during testing, management, and configuration. These tools make it enable the team to identify any
error within less time.
 Incremental development – The framework promotes incremental development, enabling the team to
deliver working software frequently, and adapt to changes as they arise.
 Automated testing – The framework emphasizes on automated testing, enabling the team to detect and fix
bugs early, reducing the cost of fixing errors at later stages.
 Customer involvement – The framework emphasizes on involving customers in the development process,
promoting customer satisfaction, and delivering products that meet their needs.
 Continuous learning – The framework emphasizes on continuous learning, enabling team members to
acquire new skills and knowledge, and apply them in their work.
Feature-Driven Development
 It is an agile iterative and incremental model that focuses on progressing the features of the developing
software.
 The main motive of feature-driven development is to provide timely updated and working software to the
client. In FDD, reporting and progress tracking is necessary at all levels.
Characteristics of FDD
• Short iterative: FDD lifecycle works in simple and short iterations to efficiently finish the work on time and
gives good pace for large projects.
• Customer focused: This agile practice is totally based on inspection of each feature by client and then
pushed to main build code.
• Structured and feature focused: Initial activities in lifecycle builds the domain model and features list in the
beginning of timeline and more than 70% of efforts are given to last 2 activities.
• Frequent releases: Feature-driven development provides continuous releases of features in the software and
retaining continuous success of the project
• Build overall model FDD Lifecycle
• Build feature list
• Plan by feature
• Design by feature
• Build by feature
Extreme Programming (XP)

 Extreme Programming (XP) is an Agile software development methodology that focuses on delivering
high-quality software through frequent and continuous feedback, collaboration, and adaptation.
 XP emphasizes a close working relationship between the development team, the customer, and stakeholders,
with an emphasis on rapid, iterative development and deployment.
Basic Principles of Extreme programming
 Coding: The concept of coding which is used in the XP model is slightly different from traditional coding.
Here, the coding activity includes drawing diagrams (modeling) that will be transformed into code, scripting
a web-based system, and choosing among several alternative solutions.
• Testing: The XP model gives high importance to testing and considers it to be the primary factor in
developing fault-free software.
• Listening: The developers need to carefully listen to the customers if they have to develop good quality
software. So, the programmers should understand properly the functionality of the system and they have to
listen to the customers.
 Designing: Without a proper design, a system implementation becomes too complex, and very difficult to
understand the solution, thus making maintenance expensive. A good design results elimination of complex
dependencies within a system. So, effective use of suitable design is emphasized.
 Feedback: One of the most important aspects of the XP model is to gain feedback to understand the exact
customer needs. Frequent contact with the customer makes the development effective.
Life Cycle of Extreme Programming (XP)
 Planning: The first stage of Extreme Programming is planning. During this phase, clients define their needs in
concise descriptions known as user stories. The team calculates the effort required for each story and
schedules releases according to priority and effort.
 Design: The team creates only the essential design needed for current user stories, using a common analogy or
story to help everyone understand the overall system architecture and keep the design straightforward and
clear.
 Coding: Extreme Programming (XP) promotes pair programming i.e. developers work together at one
workstation, enhancing code quality and knowledge sharing. They write tests before coding to ensure
functionality from the start (TDD), and frequently integrate their code into a shared repository with automated
tests to catch issues early.
 Testing: Extreme Programming (XP) gives more importance to testing that consist of both unit tests and
acceptance test. Unit tests, which are automated, check if specific features work correctly. Acceptance tests,
conducted by customers, ensure that the overall system meets initial requirements. This continuous testing
ensures the software’s quality and alignment with customer needs.
 Listening: In the listening phase regular feedback from customers to ensure the product meets their needs and
to adapt to any changes.

You might also like