0% found this document useful (0 votes)
69 views

Agile Framework Broken-Down

This document provides information about agile modeling and different agile methodologies. It begins with an overview of agile modeling, outlining the typical phases: requirements gathering, design, construction/iteration, testing, deployment, and feedback. It then discusses several specific agile methodologies in more detail, including dynamic systems development method, adaptive software development, feature driven development, scrum, kanban, lean development, and extreme programming. For each methodology, it provides a brief description and illustration of the typical process.

Uploaded by

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

Agile Framework Broken-Down

This document provides information about agile modeling and different agile methodologies. It begins with an overview of agile modeling, outlining the typical phases: requirements gathering, design, construction/iteration, testing, deployment, and feedback. It then discusses several specific agile methodologies in more detail, including dynamic systems development method, adaptive software development, feature driven development, scrum, kanban, lean development, and extreme programming. For each methodology, it provides a brief description and illustration of the typical process.

Uploaded by

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

MBARARA UNIVERSITY OF SCIENCE

AND TECHNOLOGY
FACULTY OF COMPUTING AND INFORMATICS
DEPARTMENT OF INFORMATION TECHNOLOGY
Course unit: Systems Analysis And Design

GROUP I
Group members
1. MUGABE ISAAC 2020/BIT/069/PS
2. NONO P STUART 2020/BIT/133/PS
3. NINSIIMA BRENDA 2020/BIT/086/PS
4. NAHURIRA BABRA 2020/BIT/081/PS
5. MUHAMMAD MUSA 2020/BIT/011
6. MWERU BRIAN 2019/BIT/074/PS
7. AGABA EBONS BRANDON 2020/BIT/161/PS
8. KAYESU SHAROT
9. TWINOMUJUNI AMOS
10. TURYAHEBWA BARBRA
Agile Modelling 2.Design the requirements.
Once you have identified the project
Agile modelling is used for parameters, work with the stake holders to
modelling and documentation of define the requirements
software systems, it involves 3.Construction/ Iteration/Development.
software values, principles and
After the team defines and designs the
practices which lead to software requirements, the real work begins.
development in a more flexible Product , Design and Developer teams
manner. Agile modelling breaks start working on related projects,
down tasks into smaller iterations, ultimately deploying a project or service
each of which lasts for a short time that is not static.
frame( 1 to 4 weeks) in the overall 4.Testing.
process model. The quality assurance team examines and
The phases can be seen below in their evaluates the products performance,
order; looking for bugs and other flaws.

1.Requirements gathering. 5.Deployment.


The team deploys the product in a
This phase includes explaining
working environment.
business opportunities and planning
6.Feedback/Review.
the time and effort required for the
project. Once you quantify this Once the product is released, the team
information, you can evaluate the receives feedback about the product and
handles any issues that may have arisen.
technical and economic feasibility of
Illustration of Agile modelling
Agile modelling methods
Agile methodology is an approach to project management which helps to respond to
the unpredictability of building software through incremental, iterative work
cadencies known as sprints. This methodology was developed to deal with a situation
where the waterfall model fails.
 Examples of methods or frameworks that fall under the Agile software development
methodology include but are not limited to the following;
1. Extreme programming
2. Scrum
3. Kanban
4. Feature Driven Development
5. Lean software development
6. Agile Unified process
7. Dynamic Systems Development Method
8. Adaptive Software Development

Detailed information on the methods above can be seen in the slides below;
1. Dynamic Systems Development Method (DSDM)
Dynamic Systems Development Method is based on Rapid Application Development (RAD)
and can be used for projects that have tight schedule and budget. Dynamic Systems
Development Method works on a pareto principle- 18/20 rule i.e. 80% of the business benefit
comes from 20% of the system requirements.
Therefore DSDM starts implementing this first 20% of system requirements to meet 80% of the
business needs and then it progresses to cover the rest of the requirements.
This method consists of five phase life cycles that include ;
 Feasibility study
In this phase, the problem is defined and technical feasibility of the desired application is verified.
 Business study
In this phase the overall business study of the desired system is done. The business requirements are
specified at a high level and the information requirements out of the system are identified.
 Functional model iteration
The main focus in this phase is on building a prototype iteratively and getting it reviewed from the
users to bring out the requirements of the desired system.
 Design and build iteration
This phase stresses upon ensuring that the prototypes are satisfactory and properly engineered to suit
their operational environment.
 Implementation
This is the last and final development stage in this methodology. In this phase, the users are trained
and the system is actually put into the operational environment.
The figure below shows an illustration of the Dynamic System Development Method;
Illustration Of Dynamic systems Development methods(DSDM)
2. Adaptive Software Development
Adaptive software development works on the principle of continuous adaptation.
ASD is used to make teams more adaptable to changing customer demand,
requirements and market needs. It does this by promoting lightweight planning and
on-going learning through a three phase process that is ;
 speculate
 collaborate
 learn
The three phases above reflect the dynamic and fluid nature of Adaptive Software
Development which was designed to beyond a mere change in the project lifecycle
to a deeper change in management style. The Adaptive Software Development
phases are non-linear and they overlap:
 You cannot collaborate without learning or learn without collaborating.
 You cannot speculate without learning or learn without speculating.
 You cannot speculate without collaborating or collaborate without speculating.
So if you feel like you are performing all three phases of Adaptive Software
Development at the same time, you probably are!
An illustration of Adaptive Software Development can be seen below;
Illustration of Adaptive software
development
3. Feature Driven Development
The main purpose of Feature driven Development is to deliver
tangible, working software repeatedly in a timely manner.
The development process involves five phases that are built
largely around discrete feature projects, the phases include ;
1.Develop an overall model
2.Build a features list
3.Plan by feature
4.Design by feature
5.Build by feature
Milestones are identified and progress is tracked on basis of
achievement of the milestone. This framework is widely used
particularly in larger organizations.
An illustration of this method can be seen below;
Illustration of Feature Driven
Development(FDD)
4. Scrum Framework/Method
Scrum is characterized by cycles or stages of development
known as sprints, and by maximization of development time for
a software product. It is usually used in the management of
development projects, but it can also be used in a business-
related context. Every day there are small 15-minute meetings,
the daily scrum, that take the role of synchronizing activities
and finding the best way to plan the workday.
In scrum, a list of all the deliverables for the project named
backlog is identified and continuously updated. The project
which is divided into small units called sprints usually last 2-4
weeks generally. Deliverable which is visible and usable
increment is decided for each sprint. Active communication in
the team and follow up using the backlog help and ease the
development.
An illustration of phases in the scrum method can be seen
below;
Illustration of Scrum framework
5. Kanban Agile Method
The word Kanban is of Japanese origin and its means is linked to the time
concept, “just in time”. In practice, the Kanban method exists in a board or
table (Kanban board), divided into columns that shows every flow of the
software production. As the development evolves, the information contained
in the table changes and when a new task comes into play, a new “card” is
created.

The Kanban method requires communication and transparency so that


members of a team can know exactly at what stage the development is and can
see the status of the project at any time.

Kanban is an eminently visual workflow management approach, famous


amidst lean teams, that can be employed for visualizing and thoroughly
maintaining the making of products, it focuses on continual delivery of the
product, but is not making stress to the entire software development life cycle.
An illustration of the Kanban method can be seen below;
Illustration of Kanban Method

Some advantages of this method Kanban method include;


• Ability to view all tasks of one project(for example; completed, in
process or in testing)
• It is possible to limit the number of running tasks
• Focus on the duration of a cycle
• Allows continuous deliveries
6. Lean Development
Lean development is a methodology that comes directly from lean manufacturing,

created by Toyota and applied to software development. This method offers a

conceptual framework and follows values, principles and good development

practices that can be applied to an agile development approach. The principles

followed are;
 Eliminate waste i.e. anything that does not add value to the customer.
 Amplify learning by doing and testing things rather than documenting them and
then implementing.
 Decide as early as possible thus keeping all possible options open as long as
possible in the life cycle.
 Deliver as fast as possible. It works on basis of the fact that sooner the end
product is delivered, sooner is the feedback received and sooner it is
implemented in the next iteration.
 Empower the team by keeping people motivated.
 Build integrity in by keeping the code simple and avoiding repetitions.
 Optimise the whole, the development sequence has to be perfected enough to be
able to delete errors in the code in order to create a flow of true value.
Illustration of the Lean development
method
7. Extreme Programming
Extreme programming works on the principle of simplicity,
communication, feedback, courage and respect. It prioritizes
customer satisfaction over everything else. The application is
designed such that it is adaptive to changing requirement and is
simple.
Lots of client interaction and communication in team are key
factors which help in the development of adaptive applications.
This methodology offers trust to the developers by motivating
them to accept changes in the customer’s requirements, even if
they arrive in a later stage of the development life cycle.
Team work is extremely important in Extreme programming
since when there is a problem, it is solved by the whole team of
managers, developers or customers.
An illustration of the phases in extreme programming can be
seen below
Illustration of Extreme programming
8. Crystal Agile framework
Crystal agile framework is people-centric and focuses on enhancing the work
of people involved. Crystal recognises that different teams will perform
differently depending on team size, criticality and priority of the project and
encourages users to adapt the framework for their individual situation.

The crystal framework logic is to start with small tasks and the build them up
into larger ones. The overhead activities are reduced and efforts are diverted to
work building. It’s a collaborative process involving tracking and iterations.
In crystal teams are categorized by colour according to the number of people in
the project;
 Crystal clear- Teams with less than 8 people
 Crystal Yellow- Teams with between 10 and 20 people
 Crystal orange- Teams with between 20 and 40 people
 Crystal red- Teams with between 40 and 80people
 Crystal maroon-Teams with between 80 and 200 people

An illustration of the crystal framework can be seen below;


Illustration of Crystal agile framework

In conclusion, all Agile frameworks have a specified, defined iteration


duration, a lightweight approach that allows self-organized teams to
better adapt to business needs and they all use iterative and
incremental development.

You might also like