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

Unit 1.3adaptive Software Development New

Adaptive software development (ASD) focuses on continuous learning throughout a project while avoiding rigid plans. It has three phases: speculation, collaboration, and learning. Scrum is an agile framework using short iterations called sprints to deliver working software frequently. It involves product owners, development teams, and scrum masters. Extreme programming (XP) emphasizes simplicity, feedback, and customer satisfaction through practices like pair programming and frequent testing.

Uploaded by

Sparsh Verma
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views

Unit 1.3adaptive Software Development New

Adaptive software development (ASD) focuses on continuous learning throughout a project while avoiding rigid plans. It has three phases: speculation, collaboration, and learning. Scrum is an agile framework using short iterations called sprints to deliver working software frequently. It involves product owners, development teams, and scrum masters. Extreme programming (XP) emphasizes simplicity, feedback, and customer satisfaction through practices like pair programming and frequent testing.

Uploaded by

Sparsh Verma
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Adaptive Software Development (ASD)

Adaptive Software Development (ASD) is a development


methodology created by Jim Highsmith and Sam Bayer, a duo of
project managers. ASD advocates that the proper way to achieve
success when it comes to complex software projects is to
continuously learn throughout the project, while not sticking to
rigid plans.

Adaptive Software Development is a method to build complex


software and system. ASD focuses on human collaboration and
self-organization. ASD “life cycle” incorporates three phases
namely:
1. Speculation
2. Collaboration
3. Learning
These are explained as following below.
1.Speculation:
During this phase project is initiated and planning is conducted.
The project plan uses project initiation information like project
requirements, user needs, customer mission statement, etc, to
define set of release cycles that the project wants.
2.Collaboration:
It is the difficult part of ASD as it needs the workers to be
motivated. It collaborates communication and teamwork but
emphasizes individualism as individual creativity plays a major
role in creative thinking. People working together must trust
each other.
3.Learning:
The workers may have a overestimate of their own
understanding of the technology which may not lead to the
desired result. Learning helps the workers to increase their level
of understanding over the project.

 Adaptive software development (ASD) phases, adapted from


Pressman
 In ASD, projects happen in an iterative cycle composed of
three overlapping phases: speculation, collaboration, and
learning. The “speculation” phase is what is usually called
“planning” in other methodologies, agile or not

 The collaboration phase shows the importance of closer and


constant collaboration, not only within the development team,
but also between developers and the end-users of the software.

 Finally, the learning phase indicates everyone involved in the


software development process will be continuously learning
throughout the project.
 ASD, as an approach, is oriented toward high-speed: it uses
techniques such as time-boxed iterative cycles, risk-driven
planning and concurrency to achieve quick delivery of value
to the customer, while also embracing the uncertainty and
near-chaos that are intrinsic to complex, high-risk projects.

Scrum Introduction
Scrum works on an iterative, incremental approach. It is
a lightweight framework that is easy to understand but
difficult to master. Below are the key principles of
Scrum.
 Small ‘shippable’ increments of development.

 Software with high quality in working mode.

 Ongoing integration while building the product or

software.
 Cross-functional and self-managed team.

 Visibility.

Scrum framework encapsulated in multiple iterations or


sprints. There are mainly three roles in the scrum that
we are going to discuss in detail.
1. Development Team
The development team takes the responsibility to deliver
the product with clear business values. Typically, the
team is cross-functional in terms of expertise and
experience. They start with building the plan for the
product, and they distribute the responsibility to the
different members of the team. They also focus on the
quality of the product. Below are the main characteristics
of the development team.
 Self-organizing: They are the ones who decide how to

the product backlog items into the working solution.


They define the rules starting how things should work
together.
 Cross-functional: They are the ones who have got all

the skills necessary for creating the product.


All the team members are developers, so they do not
have unique titles. Teams are not divided into sub-teams.
Different members possess different skills,
specializations, and experiences.
One of the examples is…team is responsible for making
the decision, estimating the work with a willingness to
co-operate each other.
2. Product Owner
As the name suggests, the product owner has the
authority to make decisions. They are the main interface
between the team and the business owner. They get
involved in setting the release goal, and they also
understand the customer’s needs. They are mainly
responsible for distributing the task and setting the
priority for them. These tasks are performed
transparently and in collaboration with the development
team.
The product owner considers the backlog current as a
new requirement surface. They make sure that the
existing requirements are refined. They also make that
their team members understand the purpose and how
valuable an application is for the customers.

3. Scrum Master
Their main goal is to keep the development team
productive. They protect the process instead of the
project. They mainly facilitate the scrum process,
creativity, and empowerment. They ensure the visibility
of the whole team’s progress. They coach their team
members to make sure that they operate in a
collaborative manner. Scrum masters also take the
responsibility of resolving the issues of the development
team. They ensure that whatever roadblocks or barriers
are coming into the path, can be resolved by the product
owner.
Scrum Life Cycle:-

Scrum is an Agile framework with a lightweight,


iterative approach to software development. It is best
when in complex projects. Scrum is easy to understand
but can be challenging to master.
Getting yourself acclimated with Scrum requires
understanding Scrum life cycle. Having the right team
members to fulfill the necessary roles you need for
Scrum is crucial to run Scrum successfully.
The flow of Scrum life cycle consists of the following
parts:
1. Product Backlog
2. Sprint Planning
3. The Sprint Backlog
4. Sprint
5. Daily Scrum
6. Sprint Review
7. Sprint Retrospective

Advantages:
 Team motivation is good because programmers want to
meet the deadline for every sprint;
 Transparency allows the project to be followed by all the
members in a team or even throughout the organization;
 A simple “definition of done” is used for validating
requirements
 Focus on quality is a constant with the scrum method,
resulting in fewer mistakes;
 The dynamics of this method allow developers to
reorganize priorities, ensuring that sprints that have not yet
been completed get more attention;
 Good sprint planning is prioritized, so that the whole scrum
team understands the “why, what and how” of allocated
tasks.
Disadvantages:
 The segmentation of the project and the search for the
agility of development can sometimes lead the team to lose
track of the project as a whole, focusing on a single part;
 Every developer role may not be well defined, resulting in
some confusion amongst team members.

3. Extreme Programming (XP)


This is a typical Agile development framework, developed by
Kent Beck, and can be adapted to development companies of
various dimensions.

Extreme Programming (“XP”) methodology is based around


the idea of discovering “the simplest thing that will work”
without putting too much weight on the long-term product view.

It is a methodology that emphasizes values such


as Communication, Simplicity, Feedback, Courage and
Respect, and prioritizes customer satisfaction over everything
else. This methodology encourages trust by motivating
developers to accept changes in customer requirements, even if
they arrive during the latter stages of the development cycle.

Teamwork is extremely important in XP, since, when there is a


problem, it is solved by the whole team of managers, developers
or customers, bringing them together to promote conversation
and engagement and break down barriers to communication.
They all become essential pieces of the same puzzle, creating a
fertile environment for high productivity and efficiency within
teams. In Extreme Programming, the software is tested from day
one, collecting feedback to improve development. XP promotes
activities such as pair programming, and with a strong testing
component, it’s an excellent engineering methodology.

Advantages:
 The simplicity of the written code is an advantage since it
allows for improvement at any given time;
 The whole process and the XP development cycle is
visible, creating goals for developers along with relatively
rapid results;
 Software development is more agile than when using other
methodologies, due to constant testing;
 Promotes a highly energising way of working;
 XP also contributes to uplifting and maintaining team
talent.
Disadvantages:
 The extreme focus on code can lead to less importance
being paid to design, meaning that it has to get extra
attention later;
 This framework may not work at its best if all the team
members are not situated in the same geographical area;
 In XP projects, a registry of possible errors is not always
maintained, and this lack of monitoring can lead to similar
bugs in the future.

Cooling Performance Using Powerful System Airflow Is Recommended."

You might also like