SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Downloaden Sie, um offline zu lesen
Adaptive Software
Development (ASD):
A Minimalist
Approach to
Complex Software
Development
Process




www.bacancytechnology.com
Introduction
Adaptive Software Development (ASD) is a
less known framework among the other
Agile frameworks such as extreme
programming and Scrum. The reason for its
less popularity with the industry folks may
be the misconception that it cannot be an
ideal framework to meet the demands of
the ever-changing and fast-paced
environment of the software development
lab.


The good news is that it is merely a
misconception. And, the bad news is, it does
shatter your belief, and hence, challenges
you to unlearn, relearn and seamlessly
adapt to your own new belief system!


Adaptive Software Development is one of
the earliest agile methodologies. It was a
result of the work by Jim Highsmith and
Sam Bayer on Rapid Application
Development (RAD).
This methodology interestingly validates
the fact that it is quite normal to have
continuous adaptation to the software
development process.


This validation removes the fear of the
unknown and uncertainty often involved in
any software development cycle. In fact,
this validation has paved the way for the
later methodologies to welcome
uncertainty and chaos with a more open
and balanced mind.


Let us then explore various dimensions of
this less popular Adaptive Software
Development agile methodology.
A short
history
Adaptive Software Development in
software engineering is a classic example of
necessity is the mother of invention adage.
In the early 1990s, when Sam Bayer and Jim
Highsmith were making the most out of
RAD and creating RADical Software
Development, they realized that these
approaches were not enough.


It was important to have a process that
encouraged collaboration inside the
organization as well as with the clients.
They realized that they needed the process
that makes all the stakeholders at ease with
the inherent uncertainty of software
development while making room for
continuous, consistent, and genuine
learning during the process itself.


It is out of these needs that Adaptive
Software Development came into being.
Highsmith published a book called:
Adaptive Software Development:
Shorter iterations
More speed
More collaboration
More ease with the uncertainty
More openness to unlearn and relearn.
A Collaborative Approach to Managing
Complex Systems in 2000, and both Bayer
and Highsmith became one of the signers of
the 2001 Agile Manifesto.


In the world of technology, Adaptive
Software Development introduced:
What is
Adaptive
Software
Development?
ASD is a development methodology that
encourages continuous learning throughout
the software development project. It
believes that this is the only correct way to
sail through software development’s
inherent complexity smoothly. Following
rigid plans or principles does not add value
to the business or the product; it
propounds.


Adaptive Software development sets forth
minimum guidelines, making it a
minimalist approach that intends to
improve efficiency by removing everything
and anything that is not ‘fun’ and ‘organic.’


Yes, ASD strongly advocates a software
development process that is fun to be in as
well as natural or organic. Highsmith has an
interesting term for this— emergence. He
believes that the best software is always a
result of a chance.
Enough room for emergence as opposed to
determinism
Focus on results that are called application
features as opposed to tasks
Prefers deeper change in management cycle
over the superficial change in the life cycle
Orientation towards high-speed iterations and
life cycles
Use of techniques such as timeboxed iterative
cycles and risk-driven planning
Ability to quickly deliver the value-added
product to the customer in spite of having
enough room for uncertainty and chaos.
When necessary circumstances come together
on their own, they lead to a product that has
the potential to make a difference in the world.
This coming together of circumstances is
emergence, according to Highsmith.


Following are some of the major principles that
define ASD:
In Adaptive Software Development,
projects go through an iterative cycle. This
cycle involves three phases that often
overlap. Let us explore each in detail.


Our product owners love us because we
make sure not to compromise with build-in
quality. Here’s how we lead successful Agile
transformation.
Three phases
of adaptive
life cycle
The adaptive life cycle is an evolution of the
spiral life cycle that started during the mid-
1980s. The major problem with the spiral
life cycle was its reliance of predictability.
Though RAD was less predictable and
deterministic, the mindset of the
practitioners of the spiral life cycle was still
not changed.


The adaptive life cycle in Adaptive Software
Development tries to address this issue of
changing the mindset by way of reflection
and naming the phases during this process
exactly as per that reflection.


These phases of the adaptive life cycle that
accept uncertainty and chaos as “normal”
during the software development process
are speculation, collaboration, learning.
A project mission statement is defined
The word “speculation” describing this very
first phase of the adaptive life cycle in itself
reflects what Adaptive Software
Development example is all about.
Speculation phase carefully and
intentionally removes the factor of planning
that often brings with it lots of unnecessary
baggage and tension.


This phase gives the teams full liberty to
welcome and accept the outcomes without
the fear of the unknown or uncertainty. It
totally eliminates the toxic need to be right
all the time, putting all the stakeholders at
ease.


In the speculation phase:






Speculation
Creation and sharing of the general idea
of the goals to be achieved take place
Teams adopt the tools that would assist
them in adapting and changing as per
the requirements during the entire
cycle of the project.


Mostly, the speculation phase finds itself
divided into two steps. These steps are
roughly called the project initiation step
and adaptive planning step. As the name
suggests, the first step of initiation involves
stuff that serves as the project’s foundation.
This includes project management
information, mission statement and other
essential tools and information.


In adaptive planning, different product
features get assigned to the different teams
as per their expertise and skills. This
requires the teams to decide:
Timebox for the project
Number of development cycles
Amount of time each cycle would take
as per the unanimously decided
timebox
A theme and objective for the cycle
Assignment of components for each
cycle
A task list for the project
To remove the unnecessary burden of
planning
To create space for innovation by making
the entire process open-ended
To keep the planning at its most minimum
or essential
To set an appropriate framework for the
end product
To allow exploration and experimentation
with each new speculation phase with
small iterations.


The purpose of the speculation phase is:
A charter: This tool encompasses
project vision with visual summary. It
defines business outcomes and
highlights major product
differentiators.
A datasheet: This contains essential
information for the project and the
customers. This serves as a point of
focus for all the stakeholders of the
project.
An outline for product specifications:
This has fine details about the product
specifications. It defines desired
components or the features of the
product.
Speculation phase of Adaptive Software
Development involves three major tools
with which the teams start the process.
They are:
Diversity is essential to effectively
collect, analyze and apply massive data
or information to the development of
the product
Collaboration or the collaborative
environment is the only genuine way
through which this diversity can be best
utilized
It is in this phase that the actual
development begins. This phase is about
group emergence. It is about coming
together of diverse experiences, knowledge,
and skills. This forms a collaborative
environment where diversity serves as the
building block for creativity and innovation
during the entire development cycle.
The intrinsic principles of the collaboration
phase are:
Collaboration
When such diversity is applied
thoroughly, complex applications need
not to be built. Diversity allows them to
evolve organically.
Collaboration is achieved by striking a
balance between traditional project
management techniques and a
progressive, collaborative environment
A sense of rootedness with an open-
ended approach of emergence.
These principles can be built by strong and
experienced teams that know the
importance of collaboration in Adaptive
Software Development. The collaboration
phase can be a great success if the teams
follow four basic principles of Mutual Trust,
Mutual Respect, Mutual Participation, and
Mutual Commitment.
Studying technical reviews
Studying project retrospectives
Facilitating user feedback through focus
groups and other possible or available
means.
Adaptive software development is all about
experimentation and exploration. It is natural,
therefore, that it offers great learning
opportunities too. Learning phase is precisely
about that.


In this phase which happens after each and
every iteration, an agile software development
team comes together to analyze its level of
knowledge, skills, and expertise. This is done
through:


In other methodologies, the learning phase is
also known as review or retrospective. In order
to make the most out of this phase, there
should be:
Learning
Learning phase is a very crucial phase in the
adaptive life cycle as it sets the tone of the
next move and guides the stakeholders in
the right direction during the entire process
of software development. The success of
this phase depends upon effective
collaboration, which is the second phase
and the very heart of the adaptive life cycle.
Major
characteristics
of Adaptive
Software
Development
A specific mission drives it in spite of
being open-ended
It is a feature based
ASD is not just about building components
or product features. It is also about doing
required modifications in the existing
components too. This has to do with its
origin.


Adaptive Software Development originated
from Rapid Application Development or
RAD. This was triggered by the realization
that RAD’s mechanistic and extremely
linear approaches were not working.


In order to resolve this, Jim Highsmith and
Sam Bayer worked relentlessly for years
and came up with the adaptive life cycle
that revolves around a continuous
development process. Its main
characteristics are:
It encourages frequent and small
iterations
It adopts timeboxing
It is risk-driven
It is tolerant of change
It has components-based cycles.
ASD’s risk-driven feature has interesting
connotations to it. It means that it creates
an atmosphere where there is no inhibition
in failing and that too quickly! It believes in
failing fast and moving on fast with lessons
learned thoroughly, of course!
A risk-driven approach in ASD calls for
identifying the risk at the outset of the
project by placing high-risk items earlier in
the cycle. If the risk is identified at the
earliest, it is easier and cheaper to reduce
the failure of the component.
It encourages frequent and small
iterations
It adopts timeboxing
It is risk-driven
It is tolerant of change
It has components-based cycles.
ASD’s risk-driven feature has interesting
connotations to it. It means that it creates
an atmosphere where there is no inhibition
in failing and that too quickly! It believes in
failing fast and moving on fast with lessons
learned thoroughly, of course!
A risk-driven approach in ASD calls for
identifying the risk at the outset of the
project by placing high-risk items earlier in
the cycle. If the risk is identified at the
earliest, it is easier and cheaper to reduce
the failure of the component.
And, if there is no possibility of reducing the
risk, acceleration of failure may help modify
the component accordingly at the beginning
of the project.


Adaptive Software Development has
revolutionized the software development
process by declaring that almost everything
will change too frequently. It has taught the
planning-obsessed industry not to be fussy
about planning at all. This helps it create an
environment wherein change does not
overwhelm but inspires to create and
innovate.
A broad
comparison
with other
methodologies
A major factor that differentiates ASD from
other methodologies is that ASD cycles are
component-centric as opposed to task-
centric. The components in ASD are a group
of features, and the focus is always on the
expected result. The features or the
components are planned, implemented, and
delivered collaboratively.


Components in ASD go beyond just visual
or tangible entities like buttons, form fields,
or other interface elements. It inherently
includes everything intangible too that is
responsible for the creation of these
tangible entities.


There are three such components: primary
components, technology components, and
support components.
Primary components mean the ways of the
business and things related to it.






Technology components stand for the
technological infrastructure needed to
implement primary components. They
include hardware and network
infrastructure as well as software
infrastructure. Software infrastructure
includes operating systems, databases,
frameworks, and more.


Typically, technology components are
almost there to use. However, in case they
are not, they need to be installed as per the
exact requirements of the adaptive life
cycles.


Primary components
Technology components
As the name suggests, it includes
everything and anything that is not covered
by the other two components. It may
include documentation of external factors
with regards to software development,
training materials, and other such things
that are needed for the successful Adaptive
Software Development process.


In the year 2015, an Electrical and Computer
Engineering author and professor from
Payame Noor University, Mahdi Javanmard
conducted a study titled: Comparison
between Agile and Traditional software
development methodologies.


In the same paper, he also compared
different agile methodologies. Following is a
summary of the table that he presented in
the same study:


Support components
Feature Driven Development (FDD) has
set prescriptions for its engineering
practices. Its software development
process depends upon engineering
practices such as continuous build,
domain object modeling, and individual
code ownership.
In ASD, there is absolutely no adherence
to any sort of technique.
Unlike extreme programming or XP,
ASD is a component-based process
where components are assigned to
cycles during the speculation phase for
seamless implementation.
In contrast to this, XP focuses on a task-
oriented approach. Developers pick
stories after each planning session for
the current iteration, break them down
into tasks, estimate them, and agree
upon their implementation.
Some other differences compared to other
agile methodologies:
Strengths of
Adaptive
Software
Development
A well-designed framework to develop
complex software applications quickly
Shorter and smaller iterations that help
detect mistakes at the outset
Shorter iterations mean detection of
smaller mistakes which are easier to
deal with compared to bigger ones
Shorter iterations are also cost-effective
An intentionally designed framework
that allows emergence, exploration, and
experimentation
Encourages absolute transparency
between all the stakeholders by creating
an atmosphere of collaboration and
learning
Adaptive Software Development process
came into being to get rid of existing issues
in the other software development process.
It would be interesting to know its
strengths.
Integration of end-users and their
feedback into the development process
Allowing the culture of diversity in a
balanced way
Intense testing of short iterations to
reduce chances of bugs and other
vulnerabilities
Intensely focused on result
Encouraging the culture of
responsibility that leaves little room for
poor results
Pitfalls of
Adaptive
Software
Development
Its open-ended approach requires
certain maturity and experience of the
Scrum team. It is difficult to have a
mature and experienced team that can
embrace and handle uncertainty at
times.
In a mission-driven framework, a very
brief plan is made at the outset. This can
pose a challenge for the minds that are
habituated with detailed planning as
their point of focus.
Adaptive Software Development thrives
on constant user feedback. The
developers must get detailed feedback
which is sometimes a challenge to get.
Also, end users are not always clear
about what they want in their solutions.
It is quite natural for anything to have some
shortcomings, even if it is meant for the
highest good. Adaptive Software
development to has its own share of pitfalls.
They are:
Conclusion
In the light of the discussion, it is crystal
clear that all the agile methodologies, in
essence, strive to embrace the change
instead of getting overwhelmed by it.


All these methodologies, including Adaptive
Software Development, promote
collaboration, adaptation, and intense
iterations. Adaptive Software Development
is special among these methodologies
simply because it directly addresses the
irony or paradox of planning.


Not exactly discarding planning, it gives
more importance to emergence, exploration
and innovation through collaboration and
learning. It is a good framework to adopt for
enterprises which are:


• Confident to have adequate psychological
and infrastructural readiness to embrace
Adaptive Software Development
Ready to bear increased baseline costs
Eager to see their products in the state
of constant evolution
Ready to explore new ideas or ways
Fluid enough to match up with the
continuous risk mitigation and the
testing
If you are such an enterprise which feels
that it indeed has what it takes to
implement Adaptive Agile Software
Development framework seamlessly, go for
it without much thinking!
Thank You
www.bacancytechnology.com

Weitere ähnliche Inhalte

Was ist angesagt?

Agile Process models
Agile Process modelsAgile Process models
Agile Process modelsStudent
 
Software Measurement and Metrics.pptx
Software Measurement and Metrics.pptxSoftware Measurement and Metrics.pptx
Software Measurement and Metrics.pptxubaidullah75790
 
Incremental model (software engineering)
Incremental model (software engineering)Incremental model (software engineering)
Incremental model (software engineering)MuhammadTalha436
 
Scrum 101: Introduction to Scrum
Scrum 101: Introduction to ScrumScrum 101: Introduction to Scrum
Scrum 101: Introduction to ScrumArrielle Mali
 
"Platform Engineering in practice — Why and How to start", Serg Hospodarets
"Platform Engineering in practice — Why and How to start", Serg Hospodarets "Platform Engineering in practice — Why and How to start", Serg Hospodarets
"Platform Engineering in practice — Why and How to start", Serg Hospodarets Fwdays
 
extreme Programming
extreme Programmingextreme Programming
extreme ProgrammingBilal Shah
 
Agile vs. waterfall - The fundamentals differences
Agile vs. waterfall - The fundamentals differencesAgile vs. waterfall - The fundamentals differences
Agile vs. waterfall - The fundamentals differencesDavid Tzemach
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality AssuranceSachithra Gayan
 
Scaled agile framework (SAFe) - adopting agile at enterprise scale
Scaled agile framework (SAFe) - adopting agile at enterprise scaleScaled agile framework (SAFe) - adopting agile at enterprise scale
Scaled agile framework (SAFe) - adopting agile at enterprise scaleVadim Mikhnevych
 
Scrum In Ten Slides (v2.0) 2018
Scrum In Ten Slides (v2.0) 2018Scrum In Ten Slides (v2.0) 2018
Scrum In Ten Slides (v2.0) 2018pmengal
 
Programing Slicing and Its applications
Programing Slicing and Its applicationsPrograming Slicing and Its applications
Programing Slicing and Its applicationsAnkur Jain
 
Agile Fundamentals
Agile FundamentalsAgile Fundamentals
Agile FundamentalsAtlassian
 

Was ist angesagt? (20)

The Scrum Model
The Scrum ModelThe Scrum Model
The Scrum Model
 
Rad model
Rad modelRad model
Rad model
 
Agile Process models
Agile Process modelsAgile Process models
Agile Process models
 
Giới thiệu Scrum
Giới thiệu ScrumGiới thiệu Scrum
Giới thiệu Scrum
 
Software Measurement and Metrics.pptx
Software Measurement and Metrics.pptxSoftware Measurement and Metrics.pptx
Software Measurement and Metrics.pptx
 
Incremental model (software engineering)
Incremental model (software engineering)Incremental model (software engineering)
Incremental model (software engineering)
 
Scrum in an hour
Scrum in an hourScrum in an hour
Scrum in an hour
 
Scrum 101: Introduction to Scrum
Scrum 101: Introduction to ScrumScrum 101: Introduction to Scrum
Scrum 101: Introduction to Scrum
 
Scrum in a nutshell
Scrum in a nutshellScrum in a nutshell
Scrum in a nutshell
 
"Platform Engineering in practice — Why and How to start", Serg Hospodarets
"Platform Engineering in practice — Why and How to start", Serg Hospodarets "Platform Engineering in practice — Why and How to start", Serg Hospodarets
"Platform Engineering in practice — Why and How to start", Serg Hospodarets
 
extreme Programming
extreme Programmingextreme Programming
extreme Programming
 
Agile vs. waterfall - The fundamentals differences
Agile vs. waterfall - The fundamentals differencesAgile vs. waterfall - The fundamentals differences
Agile vs. waterfall - The fundamentals differences
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Scaled agile framework (SAFe) - adopting agile at enterprise scale
Scaled agile framework (SAFe) - adopting agile at enterprise scaleScaled agile framework (SAFe) - adopting agile at enterprise scale
Scaled agile framework (SAFe) - adopting agile at enterprise scale
 
Scrum In Ten Slides (v2.0) 2018
Scrum In Ten Slides (v2.0) 2018Scrum In Ten Slides (v2.0) 2018
Scrum In Ten Slides (v2.0) 2018
 
Programing Slicing and Its applications
Programing Slicing and Its applicationsPrograming Slicing and Its applications
Programing Slicing and Its applications
 
Agile (Scrum)
Agile (Scrum)Agile (Scrum)
Agile (Scrum)
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Scrum
ScrumScrum
Scrum
 
Agile Fundamentals
Agile FundamentalsAgile Fundamentals
Agile Fundamentals
 

Ähnlich wie Adaptive software development (asd) a minimalist approach to complex software development process

Agile Methodology For Software Development
Agile Methodology For Software DevelopmentAgile Methodology For Software Development
Agile Methodology For Software DevelopmentDiane Allen
 
Agile software development methodology & Rapid E-Learning
Agile software development methodology & Rapid E-Learning Agile software development methodology & Rapid E-Learning
Agile software development methodology & Rapid E-Learning Christopher Ching Viloria
 
How to outsource Scrum projects guide
How to outsource Scrum projects   guideHow to outsource Scrum projects   guide
How to outsource Scrum projects guideLeszek Leo Baz
 
How to outsource Scrum projects - a guide
How to outsource Scrum projects - a guideHow to outsource Scrum projects - a guide
How to outsource Scrum projects - a guideXSolve
 
Introduction to Agile Software Development
Introduction to Agile Software DevelopmentIntroduction to Agile Software Development
Introduction to Agile Software DevelopmentAvidan Hetzroni
 
Designing A Brand Market Analysis
Designing A Brand Market AnalysisDesigning A Brand Market Analysis
Designing A Brand Market AnalysisOlga Bautista
 
best-practices-to-develop-software-applications-for-startups- cuneiform.pdf
best-practices-to-develop-software-applications-for-startups- cuneiform.pdfbest-practices-to-develop-software-applications-for-startups- cuneiform.pdf
best-practices-to-develop-software-applications-for-startups- cuneiform.pdfCuneiform Consulting Pvt Ltd.
 
An Introduction to Agile Software Development
An Introduction to Agile Software DevelopmentAn Introduction to Agile Software Development
An Introduction to Agile Software DevelopmentSerena Software
 
Agile And Open Development
Agile And Open DevelopmentAgile And Open Development
Agile And Open DevelopmentRoss Gardler
 
Strengths And Weaknesses Of Software Development
Strengths And Weaknesses Of Software DevelopmentStrengths And Weaknesses Of Software Development
Strengths And Weaknesses Of Software DevelopmentBrianna Johnson
 
Agile intro resources
Agile intro resourcesAgile intro resources
Agile intro resourcesAnwar Sadat
 
Taloring A Clouded Data Security Life Cycle Essay
Taloring A Clouded Data Security Life Cycle EssayTaloring A Clouded Data Security Life Cycle Essay
Taloring A Clouded Data Security Life Cycle EssayMarisela Stone
 
Glossary of Agile Terms
Glossary of Agile TermsGlossary of Agile Terms
Glossary of Agile TermsValtech UK
 
Implementation Of A Pre Study Phase Essay
Implementation Of A Pre Study Phase EssayImplementation Of A Pre Study Phase Essay
Implementation Of A Pre Study Phase EssayAshley Thomas
 
Why Agile? Why Now? IPMA Forum 2009
Why Agile? Why Now?   IPMA Forum 2009Why Agile? Why Now?   IPMA Forum 2009
Why Agile? Why Now? IPMA Forum 2009skipangel
 

Ähnlich wie Adaptive software development (asd) a minimalist approach to complex software development process (20)

Agile Methodologies & Key Principles
Agile Methodologies & Key Principles Agile Methodologies & Key Principles
Agile Methodologies & Key Principles
 
Agile Methodology For Software Development
Agile Methodology For Software DevelopmentAgile Methodology For Software Development
Agile Methodology For Software Development
 
Agile software development methodology & Rapid E-Learning
Agile software development methodology & Rapid E-Learning Agile software development methodology & Rapid E-Learning
Agile software development methodology & Rapid E-Learning
 
How to outsource Scrum projects guide
How to outsource Scrum projects   guideHow to outsource Scrum projects   guide
How to outsource Scrum projects guide
 
How to outsource Scrum projects - a guide
How to outsource Scrum projects - a guideHow to outsource Scrum projects - a guide
How to outsource Scrum projects - a guide
 
Introduction to Agile Software Development
Introduction to Agile Software DevelopmentIntroduction to Agile Software Development
Introduction to Agile Software Development
 
Agile vs Len Methodology
Agile vs Len MethodologyAgile vs Len Methodology
Agile vs Len Methodology
 
Designing A Brand Market Analysis
Designing A Brand Market AnalysisDesigning A Brand Market Analysis
Designing A Brand Market Analysis
 
A littlebook about agile
A littlebook about agileA littlebook about agile
A littlebook about agile
 
best-practices-to-develop-software-applications-for-startups- cuneiform.pdf
best-practices-to-develop-software-applications-for-startups- cuneiform.pdfbest-practices-to-develop-software-applications-for-startups- cuneiform.pdf
best-practices-to-develop-software-applications-for-startups- cuneiform.pdf
 
What is Agile Development?
What is Agile Development?What is Agile Development?
What is Agile Development?
 
An Introduction to Agile Software Development
An Introduction to Agile Software DevelopmentAn Introduction to Agile Software Development
An Introduction to Agile Software Development
 
Agile And Open Development
Agile And Open DevelopmentAgile And Open Development
Agile And Open Development
 
Strengths And Weaknesses Of Software Development
Strengths And Weaknesses Of Software DevelopmentStrengths And Weaknesses Of Software Development
Strengths And Weaknesses Of Software Development
 
Agile intro resources
Agile intro resourcesAgile intro resources
Agile intro resources
 
Taloring A Clouded Data Security Life Cycle Essay
Taloring A Clouded Data Security Life Cycle EssayTaloring A Clouded Data Security Life Cycle Essay
Taloring A Clouded Data Security Life Cycle Essay
 
Glossary of Agile Terms
Glossary of Agile TermsGlossary of Agile Terms
Glossary of Agile Terms
 
7.agila model
7.agila model7.agila model
7.agila model
 
Implementation Of A Pre Study Phase Essay
Implementation Of A Pre Study Phase EssayImplementation Of A Pre Study Phase Essay
Implementation Of A Pre Study Phase Essay
 
Why Agile? Why Now? IPMA Forum 2009
Why Agile? Why Now?   IPMA Forum 2009Why Agile? Why Now?   IPMA Forum 2009
Why Agile? Why Now? IPMA Forum 2009
 

Mehr von Katy Slemon

React Alternatives Frameworks- Lightweight Javascript Libraries.pdf
React Alternatives Frameworks- Lightweight Javascript Libraries.pdfReact Alternatives Frameworks- Lightweight Javascript Libraries.pdf
React Alternatives Frameworks- Lightweight Javascript Libraries.pdfKaty Slemon
 
Data Science Use Cases in Retail & Healthcare Industries.pdf
Data Science Use Cases in Retail & Healthcare Industries.pdfData Science Use Cases in Retail & Healthcare Industries.pdf
Data Science Use Cases in Retail & Healthcare Industries.pdfKaty Slemon
 
How Much Does It Cost To Hire Golang Developer.pdf
How Much Does It Cost To Hire Golang Developer.pdfHow Much Does It Cost To Hire Golang Developer.pdf
How Much Does It Cost To Hire Golang Developer.pdfKaty Slemon
 
What’s New in Flutter 3.pdf
What’s New in Flutter 3.pdfWhat’s New in Flutter 3.pdf
What’s New in Flutter 3.pdfKaty Slemon
 
Why Use Ruby On Rails.pdf
Why Use Ruby On Rails.pdfWhy Use Ruby On Rails.pdf
Why Use Ruby On Rails.pdfKaty Slemon
 
How Much Does It Cost To Hire Full Stack Developer In 2022.pdf
How Much Does It Cost To Hire Full Stack Developer In 2022.pdfHow Much Does It Cost To Hire Full Stack Developer In 2022.pdf
How Much Does It Cost To Hire Full Stack Developer In 2022.pdfKaty Slemon
 
How to Implement Middleware Pipeline in VueJS.pdf
How to Implement Middleware Pipeline in VueJS.pdfHow to Implement Middleware Pipeline in VueJS.pdf
How to Implement Middleware Pipeline in VueJS.pdfKaty Slemon
 
How to Build Laravel Package Using Composer.pdf
How to Build Laravel Package Using Composer.pdfHow to Build Laravel Package Using Composer.pdf
How to Build Laravel Package Using Composer.pdfKaty Slemon
 
Sure Shot Ways To Improve And Scale Your Node js Performance.pdf
Sure Shot Ways To Improve And Scale Your Node js Performance.pdfSure Shot Ways To Improve And Scale Your Node js Performance.pdf
Sure Shot Ways To Improve And Scale Your Node js Performance.pdfKaty Slemon
 
How to Develop Slack Bot Using Golang.pdf
How to Develop Slack Bot Using Golang.pdfHow to Develop Slack Bot Using Golang.pdf
How to Develop Slack Bot Using Golang.pdfKaty Slemon
 
IoT Based Battery Management System in Electric Vehicles.pdf
IoT Based Battery Management System in Electric Vehicles.pdfIoT Based Battery Management System in Electric Vehicles.pdf
IoT Based Battery Management System in Electric Vehicles.pdfKaty Slemon
 
Understanding Flexbox Layout in React Native.pdf
Understanding Flexbox Layout in React Native.pdfUnderstanding Flexbox Layout in React Native.pdf
Understanding Flexbox Layout in React Native.pdfKaty Slemon
 
The Ultimate Guide to Laravel Performance Optimization in 2022.pdf
The Ultimate Guide to Laravel Performance Optimization in 2022.pdfThe Ultimate Guide to Laravel Performance Optimization in 2022.pdf
The Ultimate Guide to Laravel Performance Optimization in 2022.pdfKaty Slemon
 
New Features in iOS 15 and Swift 5.5.pdf
New Features in iOS 15 and Swift 5.5.pdfNew Features in iOS 15 and Swift 5.5.pdf
New Features in iOS 15 and Swift 5.5.pdfKaty Slemon
 
How to Hire & Manage Dedicated Team For Your Next Product Development.pdf
How to Hire & Manage Dedicated Team For Your Next Product Development.pdfHow to Hire & Manage Dedicated Team For Your Next Product Development.pdf
How to Hire & Manage Dedicated Team For Your Next Product Development.pdfKaty Slemon
 
Choose the Right Battery Management System for Lithium Ion Batteries.pdf
Choose the Right Battery Management System for Lithium Ion Batteries.pdfChoose the Right Battery Management System for Lithium Ion Batteries.pdf
Choose the Right Battery Management System for Lithium Ion Batteries.pdfKaty Slemon
 
Flutter Performance Tuning Best Practices From the Pros.pdf
Flutter Performance Tuning Best Practices From the Pros.pdfFlutter Performance Tuning Best Practices From the Pros.pdf
Flutter Performance Tuning Best Practices From the Pros.pdfKaty Slemon
 
Angular Universal How to Build Angular SEO Friendly App.pdf
Angular Universal How to Build Angular SEO Friendly App.pdfAngular Universal How to Build Angular SEO Friendly App.pdf
Angular Universal How to Build Angular SEO Friendly App.pdfKaty Slemon
 
How to Set Up and Send Mails Using SendGrid in NodeJs App.pdf
How to Set Up and Send Mails Using SendGrid in NodeJs App.pdfHow to Set Up and Send Mails Using SendGrid in NodeJs App.pdf
How to Set Up and Send Mails Using SendGrid in NodeJs App.pdfKaty Slemon
 
Ruby On Rails Performance Tuning Guide.pdf
Ruby On Rails Performance Tuning Guide.pdfRuby On Rails Performance Tuning Guide.pdf
Ruby On Rails Performance Tuning Guide.pdfKaty Slemon
 

Mehr von Katy Slemon (20)

React Alternatives Frameworks- Lightweight Javascript Libraries.pdf
React Alternatives Frameworks- Lightweight Javascript Libraries.pdfReact Alternatives Frameworks- Lightweight Javascript Libraries.pdf
React Alternatives Frameworks- Lightweight Javascript Libraries.pdf
 
Data Science Use Cases in Retail & Healthcare Industries.pdf
Data Science Use Cases in Retail & Healthcare Industries.pdfData Science Use Cases in Retail & Healthcare Industries.pdf
Data Science Use Cases in Retail & Healthcare Industries.pdf
 
How Much Does It Cost To Hire Golang Developer.pdf
How Much Does It Cost To Hire Golang Developer.pdfHow Much Does It Cost To Hire Golang Developer.pdf
How Much Does It Cost To Hire Golang Developer.pdf
 
What’s New in Flutter 3.pdf
What’s New in Flutter 3.pdfWhat’s New in Flutter 3.pdf
What’s New in Flutter 3.pdf
 
Why Use Ruby On Rails.pdf
Why Use Ruby On Rails.pdfWhy Use Ruby On Rails.pdf
Why Use Ruby On Rails.pdf
 
How Much Does It Cost To Hire Full Stack Developer In 2022.pdf
How Much Does It Cost To Hire Full Stack Developer In 2022.pdfHow Much Does It Cost To Hire Full Stack Developer In 2022.pdf
How Much Does It Cost To Hire Full Stack Developer In 2022.pdf
 
How to Implement Middleware Pipeline in VueJS.pdf
How to Implement Middleware Pipeline in VueJS.pdfHow to Implement Middleware Pipeline in VueJS.pdf
How to Implement Middleware Pipeline in VueJS.pdf
 
How to Build Laravel Package Using Composer.pdf
How to Build Laravel Package Using Composer.pdfHow to Build Laravel Package Using Composer.pdf
How to Build Laravel Package Using Composer.pdf
 
Sure Shot Ways To Improve And Scale Your Node js Performance.pdf
Sure Shot Ways To Improve And Scale Your Node js Performance.pdfSure Shot Ways To Improve And Scale Your Node js Performance.pdf
Sure Shot Ways To Improve And Scale Your Node js Performance.pdf
 
How to Develop Slack Bot Using Golang.pdf
How to Develop Slack Bot Using Golang.pdfHow to Develop Slack Bot Using Golang.pdf
How to Develop Slack Bot Using Golang.pdf
 
IoT Based Battery Management System in Electric Vehicles.pdf
IoT Based Battery Management System in Electric Vehicles.pdfIoT Based Battery Management System in Electric Vehicles.pdf
IoT Based Battery Management System in Electric Vehicles.pdf
 
Understanding Flexbox Layout in React Native.pdf
Understanding Flexbox Layout in React Native.pdfUnderstanding Flexbox Layout in React Native.pdf
Understanding Flexbox Layout in React Native.pdf
 
The Ultimate Guide to Laravel Performance Optimization in 2022.pdf
The Ultimate Guide to Laravel Performance Optimization in 2022.pdfThe Ultimate Guide to Laravel Performance Optimization in 2022.pdf
The Ultimate Guide to Laravel Performance Optimization in 2022.pdf
 
New Features in iOS 15 and Swift 5.5.pdf
New Features in iOS 15 and Swift 5.5.pdfNew Features in iOS 15 and Swift 5.5.pdf
New Features in iOS 15 and Swift 5.5.pdf
 
How to Hire & Manage Dedicated Team For Your Next Product Development.pdf
How to Hire & Manage Dedicated Team For Your Next Product Development.pdfHow to Hire & Manage Dedicated Team For Your Next Product Development.pdf
How to Hire & Manage Dedicated Team For Your Next Product Development.pdf
 
Choose the Right Battery Management System for Lithium Ion Batteries.pdf
Choose the Right Battery Management System for Lithium Ion Batteries.pdfChoose the Right Battery Management System for Lithium Ion Batteries.pdf
Choose the Right Battery Management System for Lithium Ion Batteries.pdf
 
Flutter Performance Tuning Best Practices From the Pros.pdf
Flutter Performance Tuning Best Practices From the Pros.pdfFlutter Performance Tuning Best Practices From the Pros.pdf
Flutter Performance Tuning Best Practices From the Pros.pdf
 
Angular Universal How to Build Angular SEO Friendly App.pdf
Angular Universal How to Build Angular SEO Friendly App.pdfAngular Universal How to Build Angular SEO Friendly App.pdf
Angular Universal How to Build Angular SEO Friendly App.pdf
 
How to Set Up and Send Mails Using SendGrid in NodeJs App.pdf
How to Set Up and Send Mails Using SendGrid in NodeJs App.pdfHow to Set Up and Send Mails Using SendGrid in NodeJs App.pdf
How to Set Up and Send Mails Using SendGrid in NodeJs App.pdf
 
Ruby On Rails Performance Tuning Guide.pdf
Ruby On Rails Performance Tuning Guide.pdfRuby On Rails Performance Tuning Guide.pdf
Ruby On Rails Performance Tuning Guide.pdf
 

Kürzlich hochgeladen

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 

Kürzlich hochgeladen (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

Adaptive software development (asd) a minimalist approach to complex software development process

  • 1. Adaptive Software Development (ASD): A Minimalist Approach to Complex Software Development Process www.bacancytechnology.com
  • 3. Adaptive Software Development (ASD) is a less known framework among the other Agile frameworks such as extreme programming and Scrum. The reason for its less popularity with the industry folks may be the misconception that it cannot be an ideal framework to meet the demands of the ever-changing and fast-paced environment of the software development lab. The good news is that it is merely a misconception. And, the bad news is, it does shatter your belief, and hence, challenges you to unlearn, relearn and seamlessly adapt to your own new belief system! Adaptive Software Development is one of the earliest agile methodologies. It was a result of the work by Jim Highsmith and Sam Bayer on Rapid Application Development (RAD).
  • 4. This methodology interestingly validates the fact that it is quite normal to have continuous adaptation to the software development process. This validation removes the fear of the unknown and uncertainty often involved in any software development cycle. In fact, this validation has paved the way for the later methodologies to welcome uncertainty and chaos with a more open and balanced mind. Let us then explore various dimensions of this less popular Adaptive Software Development agile methodology.
  • 6. Adaptive Software Development in software engineering is a classic example of necessity is the mother of invention adage. In the early 1990s, when Sam Bayer and Jim Highsmith were making the most out of RAD and creating RADical Software Development, they realized that these approaches were not enough. It was important to have a process that encouraged collaboration inside the organization as well as with the clients. They realized that they needed the process that makes all the stakeholders at ease with the inherent uncertainty of software development while making room for continuous, consistent, and genuine learning during the process itself. It is out of these needs that Adaptive Software Development came into being. Highsmith published a book called: Adaptive Software Development:
  • 7. Shorter iterations More speed More collaboration More ease with the uncertainty More openness to unlearn and relearn. A Collaborative Approach to Managing Complex Systems in 2000, and both Bayer and Highsmith became one of the signers of the 2001 Agile Manifesto. In the world of technology, Adaptive Software Development introduced:
  • 9. ASD is a development methodology that encourages continuous learning throughout the software development project. It believes that this is the only correct way to sail through software development’s inherent complexity smoothly. Following rigid plans or principles does not add value to the business or the product; it propounds. Adaptive Software development sets forth minimum guidelines, making it a minimalist approach that intends to improve efficiency by removing everything and anything that is not ‘fun’ and ‘organic.’ Yes, ASD strongly advocates a software development process that is fun to be in as well as natural or organic. Highsmith has an interesting term for this— emergence. He believes that the best software is always a result of a chance.
  • 10. Enough room for emergence as opposed to determinism Focus on results that are called application features as opposed to tasks Prefers deeper change in management cycle over the superficial change in the life cycle Orientation towards high-speed iterations and life cycles Use of techniques such as timeboxed iterative cycles and risk-driven planning Ability to quickly deliver the value-added product to the customer in spite of having enough room for uncertainty and chaos. When necessary circumstances come together on their own, they lead to a product that has the potential to make a difference in the world. This coming together of circumstances is emergence, according to Highsmith. Following are some of the major principles that define ASD:
  • 11. In Adaptive Software Development, projects go through an iterative cycle. This cycle involves three phases that often overlap. Let us explore each in detail. Our product owners love us because we make sure not to compromise with build-in quality. Here’s how we lead successful Agile transformation.
  • 13. The adaptive life cycle is an evolution of the spiral life cycle that started during the mid- 1980s. The major problem with the spiral life cycle was its reliance of predictability. Though RAD was less predictable and deterministic, the mindset of the practitioners of the spiral life cycle was still not changed. The adaptive life cycle in Adaptive Software Development tries to address this issue of changing the mindset by way of reflection and naming the phases during this process exactly as per that reflection. These phases of the adaptive life cycle that accept uncertainty and chaos as “normal” during the software development process are speculation, collaboration, learning.
  • 14. A project mission statement is defined The word “speculation” describing this very first phase of the adaptive life cycle in itself reflects what Adaptive Software Development example is all about. Speculation phase carefully and intentionally removes the factor of planning that often brings with it lots of unnecessary baggage and tension. This phase gives the teams full liberty to welcome and accept the outcomes without the fear of the unknown or uncertainty. It totally eliminates the toxic need to be right all the time, putting all the stakeholders at ease. In the speculation phase: Speculation
  • 15. Creation and sharing of the general idea of the goals to be achieved take place Teams adopt the tools that would assist them in adapting and changing as per the requirements during the entire cycle of the project. Mostly, the speculation phase finds itself divided into two steps. These steps are roughly called the project initiation step and adaptive planning step. As the name suggests, the first step of initiation involves stuff that serves as the project’s foundation. This includes project management information, mission statement and other essential tools and information. In adaptive planning, different product features get assigned to the different teams as per their expertise and skills. This requires the teams to decide:
  • 16. Timebox for the project Number of development cycles Amount of time each cycle would take as per the unanimously decided timebox A theme and objective for the cycle Assignment of components for each cycle A task list for the project To remove the unnecessary burden of planning To create space for innovation by making the entire process open-ended To keep the planning at its most minimum or essential To set an appropriate framework for the end product To allow exploration and experimentation with each new speculation phase with small iterations. The purpose of the speculation phase is:
  • 17. A charter: This tool encompasses project vision with visual summary. It defines business outcomes and highlights major product differentiators. A datasheet: This contains essential information for the project and the customers. This serves as a point of focus for all the stakeholders of the project. An outline for product specifications: This has fine details about the product specifications. It defines desired components or the features of the product. Speculation phase of Adaptive Software Development involves three major tools with which the teams start the process. They are:
  • 18. Diversity is essential to effectively collect, analyze and apply massive data or information to the development of the product Collaboration or the collaborative environment is the only genuine way through which this diversity can be best utilized It is in this phase that the actual development begins. This phase is about group emergence. It is about coming together of diverse experiences, knowledge, and skills. This forms a collaborative environment where diversity serves as the building block for creativity and innovation during the entire development cycle. The intrinsic principles of the collaboration phase are: Collaboration
  • 19. When such diversity is applied thoroughly, complex applications need not to be built. Diversity allows them to evolve organically. Collaboration is achieved by striking a balance between traditional project management techniques and a progressive, collaborative environment A sense of rootedness with an open- ended approach of emergence. These principles can be built by strong and experienced teams that know the importance of collaboration in Adaptive Software Development. The collaboration phase can be a great success if the teams follow four basic principles of Mutual Trust, Mutual Respect, Mutual Participation, and Mutual Commitment.
  • 20. Studying technical reviews Studying project retrospectives Facilitating user feedback through focus groups and other possible or available means. Adaptive software development is all about experimentation and exploration. It is natural, therefore, that it offers great learning opportunities too. Learning phase is precisely about that. In this phase which happens after each and every iteration, an agile software development team comes together to analyze its level of knowledge, skills, and expertise. This is done through: In other methodologies, the learning phase is also known as review or retrospective. In order to make the most out of this phase, there should be: Learning
  • 21. Learning phase is a very crucial phase in the adaptive life cycle as it sets the tone of the next move and guides the stakeholders in the right direction during the entire process of software development. The success of this phase depends upon effective collaboration, which is the second phase and the very heart of the adaptive life cycle.
  • 23. A specific mission drives it in spite of being open-ended It is a feature based ASD is not just about building components or product features. It is also about doing required modifications in the existing components too. This has to do with its origin. Adaptive Software Development originated from Rapid Application Development or RAD. This was triggered by the realization that RAD’s mechanistic and extremely linear approaches were not working. In order to resolve this, Jim Highsmith and Sam Bayer worked relentlessly for years and came up with the adaptive life cycle that revolves around a continuous development process. Its main characteristics are:
  • 24. It encourages frequent and small iterations It adopts timeboxing It is risk-driven It is tolerant of change It has components-based cycles. ASD’s risk-driven feature has interesting connotations to it. It means that it creates an atmosphere where there is no inhibition in failing and that too quickly! It believes in failing fast and moving on fast with lessons learned thoroughly, of course! A risk-driven approach in ASD calls for identifying the risk at the outset of the project by placing high-risk items earlier in the cycle. If the risk is identified at the earliest, it is easier and cheaper to reduce the failure of the component.
  • 25. It encourages frequent and small iterations It adopts timeboxing It is risk-driven It is tolerant of change It has components-based cycles. ASD’s risk-driven feature has interesting connotations to it. It means that it creates an atmosphere where there is no inhibition in failing and that too quickly! It believes in failing fast and moving on fast with lessons learned thoroughly, of course! A risk-driven approach in ASD calls for identifying the risk at the outset of the project by placing high-risk items earlier in the cycle. If the risk is identified at the earliest, it is easier and cheaper to reduce the failure of the component.
  • 26. And, if there is no possibility of reducing the risk, acceleration of failure may help modify the component accordingly at the beginning of the project. Adaptive Software Development has revolutionized the software development process by declaring that almost everything will change too frequently. It has taught the planning-obsessed industry not to be fussy about planning at all. This helps it create an environment wherein change does not overwhelm but inspires to create and innovate.
  • 28. A major factor that differentiates ASD from other methodologies is that ASD cycles are component-centric as opposed to task- centric. The components in ASD are a group of features, and the focus is always on the expected result. The features or the components are planned, implemented, and delivered collaboratively. Components in ASD go beyond just visual or tangible entities like buttons, form fields, or other interface elements. It inherently includes everything intangible too that is responsible for the creation of these tangible entities. There are three such components: primary components, technology components, and support components.
  • 29. Primary components mean the ways of the business and things related to it. Technology components stand for the technological infrastructure needed to implement primary components. They include hardware and network infrastructure as well as software infrastructure. Software infrastructure includes operating systems, databases, frameworks, and more. Typically, technology components are almost there to use. However, in case they are not, they need to be installed as per the exact requirements of the adaptive life cycles. Primary components Technology components
  • 30. As the name suggests, it includes everything and anything that is not covered by the other two components. It may include documentation of external factors with regards to software development, training materials, and other such things that are needed for the successful Adaptive Software Development process. In the year 2015, an Electrical and Computer Engineering author and professor from Payame Noor University, Mahdi Javanmard conducted a study titled: Comparison between Agile and Traditional software development methodologies. In the same paper, he also compared different agile methodologies. Following is a summary of the table that he presented in the same study: Support components
  • 31.
  • 32. Feature Driven Development (FDD) has set prescriptions for its engineering practices. Its software development process depends upon engineering practices such as continuous build, domain object modeling, and individual code ownership. In ASD, there is absolutely no adherence to any sort of technique. Unlike extreme programming or XP, ASD is a component-based process where components are assigned to cycles during the speculation phase for seamless implementation. In contrast to this, XP focuses on a task- oriented approach. Developers pick stories after each planning session for the current iteration, break them down into tasks, estimate them, and agree upon their implementation. Some other differences compared to other agile methodologies:
  • 34. A well-designed framework to develop complex software applications quickly Shorter and smaller iterations that help detect mistakes at the outset Shorter iterations mean detection of smaller mistakes which are easier to deal with compared to bigger ones Shorter iterations are also cost-effective An intentionally designed framework that allows emergence, exploration, and experimentation Encourages absolute transparency between all the stakeholders by creating an atmosphere of collaboration and learning Adaptive Software Development process came into being to get rid of existing issues in the other software development process. It would be interesting to know its strengths.
  • 35. Integration of end-users and their feedback into the development process Allowing the culture of diversity in a balanced way Intense testing of short iterations to reduce chances of bugs and other vulnerabilities Intensely focused on result Encouraging the culture of responsibility that leaves little room for poor results
  • 37. Its open-ended approach requires certain maturity and experience of the Scrum team. It is difficult to have a mature and experienced team that can embrace and handle uncertainty at times. In a mission-driven framework, a very brief plan is made at the outset. This can pose a challenge for the minds that are habituated with detailed planning as their point of focus. Adaptive Software Development thrives on constant user feedback. The developers must get detailed feedback which is sometimes a challenge to get. Also, end users are not always clear about what they want in their solutions. It is quite natural for anything to have some shortcomings, even if it is meant for the highest good. Adaptive Software development to has its own share of pitfalls. They are:
  • 39. In the light of the discussion, it is crystal clear that all the agile methodologies, in essence, strive to embrace the change instead of getting overwhelmed by it. All these methodologies, including Adaptive Software Development, promote collaboration, adaptation, and intense iterations. Adaptive Software Development is special among these methodologies simply because it directly addresses the irony or paradox of planning. Not exactly discarding planning, it gives more importance to emergence, exploration and innovation through collaboration and learning. It is a good framework to adopt for enterprises which are: • Confident to have adequate psychological and infrastructural readiness to embrace Adaptive Software Development
  • 40. Ready to bear increased baseline costs Eager to see their products in the state of constant evolution Ready to explore new ideas or ways Fluid enough to match up with the continuous risk mitigation and the testing If you are such an enterprise which feels that it indeed has what it takes to implement Adaptive Agile Software Development framework seamlessly, go for it without much thinking!