You are on page 1of 17

CCS356-OBJECT ORIENTEDSOFTWARE

ENGINEERING

AGILE PROCESS
INTRODUCTION TO AGILE PROCESS

The meaning of Agile is swift or versatile."Agile process model" refers to a software


development approach based on iterative development. Agile methods break tasks into
smaller iterations, or parts do not directly involve long term planning. 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.
PRINCIPLES OF AGILE:

• The highest priority is to satisfy the customer through early and continuous delivery of
valuable software.
• It welcomes changing requirements, even late in development.
• Deliver working software frequently, from a couple of weeks to a couple of months,
with a preference for the shortest timescale.
• Build projects around motivated individuals. Give them the environment and the
support they need and trust them to get the job done.
• Working software is the primary measure of progress.
PRINCIPLES OF AGILE:

6.Simplicity the art of maximizing the amount of work not done is essential.
7.The most efficient and effective method of conveying information to and within a
development team is face-to-face conversation.
8.By the amount of work that has been finished, gauge your progress.
9.Never give up on excellence.
10.Take advantage of change to gain a competitive edge.
THE AGILE SOFTWARE DEVELOPMENT PROCESS:
THE AGILE SOFTWARE DEVELOPMENT PROCESS:
• Requirements Gathering: The customer’s requirements for the software are gathered
and prioritized.
• Planning: The development team creates a plan for delivering the software, including
the features that will be delivered in each iteration.
• Development: The development team works to build the software, using frequent and
rapid iterations.
• Testing: The software is thoroughly tested to ensure that it meets the customer’s
requirements and is of high quality.
• Deployment: The software is deployed and put into use.
• Maintenance: The software is maintained to ensure that it continues to meet the
customer’s needs and expectations.
THE AGILE SOFTWARE DEVELOPMENT PROCESS LIFE
CYCLE:

• concept
• inception
• iteration/construction
• release
• production
• retirement
THE AGILE SOFTWARE DEVELOPMENT PROCESS LIFE
CYCLE:
THE AGILE SOFTWARE DEVELOPMENT PROCESS LIFE
CYCLE:

• Step 1: In the first step, concept, and business opportunities in each possible project are identified and the
amount of time and work needed to complete the project is estimated. Based on their technical and
financial viability, projects can then be prioritized and determined which ones are worthwhile pursuing.
• Step 2: In the second phase, known as inception, the customer is consulted regarding the initial
requirements, team members are selected, and funding is secured. Additionally, a schedule outlining each
team’s responsibilities and the precise time at which each sprint’s work is expected to be finished should be
developed.
• Step 3: Teams begin building functional software in the third step, iteration/construction, based on
requirements and ongoing feedback. Iterations, also known as single development cycles, are the
foundation of the Agile software development cycle.
THE AGILE SOFTWARE DEVELOPMENT PROCESS LIFE
CYCLE:

• Step 1: In the first step, concept, and business opportunities in each possible project are identified and the
amount of time and work needed to complete the project is estimated. Based on their technical and
financial viability, projects can then be prioritized and determined which ones are worthwhile pursuing.
• Step 2: In the second phase, known as inception, the customer is consulted regarding the initial
requirements, team members are selected, and funding is secured. Additionally, a schedule outlining each
team’s responsibilities and the precise time at which each sprint’s work is expected to be finished should
be developed.
• Step 3: Teams begin building functional software in the third step, iteration/construction, based on
requirements and ongoing feedback. Iterations, also known as single development cycles, are the
foundation of the Agile software development cycle.
THE AGILE SOFTWARE DEVELOPMENT PROCESS CASE
STUDY

Example of Agile Software Development:


Let’s go through an example to understand clearly how agile works. A Software company named ABC wants to
make a new web browser for the latest release of its operating system. The deadline for the task is 10 months.
The company’s head assigned two teams named Team A and Team B for this task. To motivate the teams, the
company head says that the first team to develop the browser would be given a salary hike and a one-week
full-sponsored travel plan. With the dreams of their wild travel fantasies, the two teams set out on the journey
of the web browser. Team A decided to play by the book and decided to choose the Waterfall model for the
development. Team B after a heavy discussion decided to take a leap of faith and choose Agile as their
development model. The Development Plan of the Team A is as follows:
THE AGILE SOFTWARE DEVELOPMENT PROCESS CASE
STUDY

The Development Plan of the Team A is as follows:


• Requirement analysis and Gathering – 1.5 Months
• Design of System – 2 Months
• Coding phase – 4 Months
• System Integration and Testing – 2 Months
• User Acceptance Testing – 5 Weeks
THE AGILE SOFTWARE DEVELOPMENT PROCESS CASE
STUDY

The Development Plan for the Team B is as follows:


• Since this was an Agile, the project was broken up into several iterations.
• The iterations are all of the same time duration.
• At the end of each iteration, a working product with a new feature has to be delivered.
• Instead of Spending 1.5 months on requirements gathering, they will decide the core features that are
required in the product and decide which of these features can be developed in the first iteration.
• Any remaining features that cannot be delivered in the first iteration will be delivered in the next
subsequent iteration, based on the priority.
• At the end of the first iterations, the team will deliver working software with the core basic features.
ADVANTEGES
• Flexibility and Adaptability:
Iterative Development: Agile processes promote iterative development with regular cycles of planning, execution, and
review. This allows teams to adapt quickly to changing requirements and incorporate feedback throughout the development
process.
Responding to Changes: Agile methodologies embrace change, allowing teams to respond promptly to evolving
customer needs, market conditions, or project priorities.
2.Customer Collaboration:
Continuous Customer Feedback: Agile places a strong emphasis on customer collaboration throughout the development
process. Regular feedback from customers and stakeholders helps ensure that the delivered product aligns with their
expectations and requirements.
Transparency:
Customers are actively involved in the development process, providing transparency into the project's progress and fostering a
collaborative relationship between the development team and the customer.
ADVANTEGES
3.Faster Time to Market:
Incremental Releases: Agile promotes the delivery of small, incremental releases at regular intervals. This allows for faster
time-to-market, enabling the team to deliver a minimum viable product (MVP) quickly and then iterate on it with subsequent
releases.
4.Improved Quality:
• Continuous Testing: Agile processes encourage continuous testing throughout the development cycle. This helps identify
and address issues early in the process, leading to higher software quality.
• Automated Testing: Agile practices often include the use of automated testing tools, which can improve the efficiency and
effectiveness of testing processes.
DISADVANTEGES
Limited Predictability:
• Agile's adaptability and flexibility may make it challenging to predict the exact time and cost of project completion,
especially in the early stages when requirements may not be well-defined.
Dependency on Customer Availability:
• Agile relies heavily on customer collaboration and continuous feedback. If key stakeholders or customers are not available
or engaged throughout the development process, it can hinder progress and decision-making.

Dependency on Team Collaboration:


• Agile relies heavily on effective team collaboration. If teams are not cohesive, lack proper communication, or face conflicts,
it can hinder the successful implementation of Agile practices.

You might also like