Agile Framework Broken-Down
Agile Framework Broken-Down
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.
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.
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