0% found this document useful (0 votes)
124 views6 pages

Name Reg. No Contact

The document provides an overview of agile software development approaches. It discusses the history and principles of agile development, including the Agile Manifesto. The Agile Manifesto values individuals and interactions, working software, customer collaboration, and responding to change. It also outlines 12 principles of agile development. The document then discusses agile project management and two common frameworks: Scrum and lean software development. Lean development focuses on minimizing waste and maximizing value from the customer perspective.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
124 views6 pages

Name Reg. No Contact

The document provides an overview of agile software development approaches. It discusses the history and principles of agile development, including the Agile Manifesto. The Agile Manifesto values individuals and interactions, working software, customer collaboration, and responding to change. It also outlines 12 principles of agile development. The document then discusses agile project management and two common frameworks: Scrum and lean software development. Lean development focuses on minimizing waste and maximizing value from the customer perspective.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

Running head: AGILE SOFTWARE DEVELOPMENT APPROACH.

Lecturer’s Name: Madam Gladys


Unit: Object Oriented Analysis and Design
Unit Code: DBIT 306
Assignment: One
Due Date: 10th-March-2020.
Student’s Details:

Name Reg. No Contact

Stephen Kasera 19/00473 0705618275

Thomas Njuguna 18/02976 0716795632

Eliud Kiama 19/00483 0795175992

Regina Emanman 18/05952 0729636546

Anita Ndegi 18/06217 0715198436


Agile Method 2

Agile Approach of Software development


Agile approach describes a form of project management technique, primarily used for the
development of applications, in which specifications and solutions emerge through cooperation
between auto-organizing teams as well as cross-functional clients (Freedman, R., 2016).
It was developed to respond to the shortcomings of traditional methods of creation such as the
Waterfall approach, based on the values and principles of the Agilian Manifesto. The computing
industry is a very dynamic market because software can be updated continuously. This ensures
that developers have to continually refine and reinvent their apps and keep up to date with the
linear sequential approach to the Waterfall method (Freedman, R., 2016).
A brief History of Agile Approach
In the 1990s, the production of software faced a certain crisis. The sector, referred to as "the
application development crisis" or "application delivery delay," recognized that it was not
able to operate fast enough for customer requirements and demands (Ghani, I., 2016). 
For example, conventional models of production have been based on a timeline approach, in
which development took place consecutively and consumers were unveiled the final product not
until the very final stage. In order to make improvement evaluations and improvements, there
was little room for flexibility. Therefore, it was highly likely that the specifications and
structures of the initial goals of the project would change when an individual task was
performed.
The technical members of the software industry thought it was time for a modern and updated
strategy with resources and energy lost and even some projects scrapped halfway. In 2001, 17
people gathered in a cold, ski lodge in Utah. All of them even had the concept of a modern form
of software development. They all wanted to secure a framework that legitimized the job, so the
Agile Manifesto was created (Ghani, I., 2016). 
Agile Manifesto
The Agile Manifesto is a statement of agile practice values and principles. The aim is to find new
ways to develop apps through a transparent and measurable framework to encourage iterative
growth, team collaboration and acceptance of progress, consisting of four fundamental values
and 12 key principles.
The four main agile Manifesto values
The Agile Manifesto consists of 4 basic values as well as 12 principles that drive Agile method
to the creation of software. Each Agile approach implements the four principles in various ways,
but they are all based on them in order to lead the production and distribution of reliable working
applications. They include:
1. Individuals and Interactions over Processes and Tools: Valuing people more highly
than processes or tools is easy to understand because it is the people who respond to
business needs and drive the development process. If the process or the tools drive
Agile Method 3

development, the team is less responsive to change and less likely to meet customer
needs. 
2. Working Software over Comprehensive Documentation: Agile does not eliminate
documentation, but it streamlines it in a form that gives the developer what is needed to
do the work without getting bogged down in minutiae. Agile documents requirements as
user stories, which are sufficient for a software developer to begin the task of building a
new function. The Agile Manifesto values documentation, but it values working software
more.
3. Customer Collaboration Over Contract Negotiation: The Agile Manifesto describes a
customer as who engaged and collaborates throughout the development process. This
makes it far easier for development to meet their needs of the customer. Agile methods
may include the customer at intervals for periodic demos, but a project could just as
easily have an end-user as a daily part of the team and attending all meetings, ensuring
the product meets the business needs of the customer.
4. Responding to Change Over Following a Plan: Traditional software development
regarded change as an expense, so it was to be avoided. The intention was to develop
detailed, elaborate plans, with a defined set of features and with everything, generally,
having as high a priority as everything else, and with a large number of many
dependencies on delivering in a certain order so that the team can work on the next piece
of the puzzle.

The twelve principles of agile development include:


1. Customer satisfaction through early and continuous software delivery: Customers
are happier when they receive working software at regular intervals, rather than waiting
extended periods of time between releases.
2. Accommodate changing requirements throughout the development process: The
ability to avoid delays when a requirement or feature request changes.
3. Frequent delivery of working software: Scrum accommodates this principle since the
team operates in software sprints or iterations that ensure regular delivery of working
software.
4. Collaboration between the business stakeholders and developers throughout the
project: Better decisions are made when the business and technical team are aligned.
5. Support, trust, and motivate the people involved: Motivated teams are more likely to
deliver their best work than unhappy teams.
6. Enable face-to-face interactions: Communication is more successful when development
teams are co-located.
7. Working software is the primary measure of progress: Delivering functional software
to the customer is the ultimate factor that measures progress.
8. Agile processes to support a consistent development pace: Teams establish a
repeatable and maintainable speed at which they can deliver working software, and they
repeat it with each release.
9. Attention to technical detail and design enhances agility: The right skills and good
design ensures the team can maintain the pace, constantly improve the product, and
sustain change.
10. Simplicity: Develop just enough to get the job done for right now.
Agile Method 4

11. Self-organizing teams encourage great architectures, requirements, and designs:


Skilled and motivated team members, who have decision-making power, take ownership,
communicate regularly with other team members, and share ideas that deliver quality
products.
12. Regular reflections on how to become more effective: Self-improvement, process
improvement, advancing skills, and techniques help team members work more
efficiently.
Agile project management
Agile project management is a methodology that is commonly used to deliver complex projects
due to its adaptive nature. It emphasizes collaboration, flexibility, continuous improvement, and
high quality results. It aims to be clear and measurable by using six main “deliverables” to track
progress and create the product (Harned, D., 2018). 
There are various frameworks within agile project management that can be used to develop and
deliver a product or service. While they each have their own set of characteristics and
terminology, they share common principles and practices. Two of the most popular ones that
support the agile development life cycle are Scrum and lean software development:

Lean software developments

 It’s also known as lean production. Its integrated socio-technical approach is based on the
Toyota Production System

 Lean manufacturing is a methodology that focuses on minimizing waste within


manufacturing systems while simultaneously maximizing productivity.

Principles of lean manufacturing

1. Identify value from the customer's perspective-companies need to understand the value
the customer places on their products and services, which, in turn, can help them
determine how much money the customer is willing to pay.

2. Map the value stream- This principle involves recording and analyzing the flow of
information or materials required to produce a specific product or service with the intent
of identifying waste and methods of improvement.

3. Create flow- Eliminate functional barriers and identify ways to improve lead time to
ensure the processes are smooth from the time an order is received through to delivery.
Flow is critical to the elimination of waste. Lean manufacturing relies on preventing
interruptions in the production process and enabling a harmonized and integrated set of
processes in which activities move in a constant stream.
Agile Method 5

4. Establish a pull system- This means you only start new work when there is demand for it.
Pull relies on flexibility and communication between the customer and the manufacturer

5. Pursue perfection with continual process improvements- Lean manufacturing rests on the
concept of continually striving for perfection, which entails targeting the root causes of
quality issues and ferreting out and eliminating waste across the value stream.

Wastes of lean manufacturing

 Unnecessary transportation;

 Excess inventory;

 Unnecessary motion of people, equipment or machinery;

 Waiting, whether it is people waiting or idle equipment;

 Over-production of a product;

 Over-processing or putting more time into a product than a customer needs, such as
designs that require high-tech machinery for unnecessary features; and

 Defects, which require effort and cost for corrections.

Agile Scrum methodology


Scrum is an agile framework that is used to implement the ideas behind agile software
development. What distinguish Scrum from other agile methodologies are the roles, events, and
artifacts that it is made up of, with which it uses to operate. Here’s what they are:

Scrum team roles

 Product owner: Product expert who represents the stakeholders, and is the voice of the
customer.

 Development team: Group of professionals who deliver the product (developers,


programmers, designers).

 Scrum master: Organized servant-leader who ensures the understanding and execution
of Scrum is followed.
Agile Method 6

Scrum events

 Sprint: Iterative time boxes where a goal is accomplished. Time frame does not exceed
one calendar month and are consistent throughout the development process.

 Sprint planning: Where the entire Scrum team get together  at the beginning of every
Sprint   to plan the upcoming sprint.

 Daily Scrum: 15 minute time boxed meeting held at the same time, every day of the
Sprint, where the previous day’s achievements are discussed, as well as the expectations
for the following one.

 Sprint review: An informal meeting held at the end of every Sprint where the Scrum
team present their Increment to the stakeholders, and discuss feedback.

 Sprint retrospective: A meeting where the Scrum team reflects on the proceedings of
the previous Sprint and establishes improvements for the next Sprint.

References

Freedman, R. (2016). Agile Evolution: More Than Methodology. The Agile Consultant, 19-

34. https://doi.org/10.1007/978-1-4302-6053-0_2

Ghani, I. (2016). Emerging Innovations in Agile Software Development. IGI Global.

Harned, D. (2018). Hands-On Agile Software Development with JIRA: Design and manage

software projects using the Agile methodology. Packt Publishing.

You might also like