Adaptive software development: Difference between revisions

Content deleted Content added
No edit summary
Reverted 1 edit by Crafterfusion (talk): Innapopriate external link
 
(40 intermediate revisions by 32 users not shown)
Line 1:
'''Adaptive Softwaresoftware Developmentdevelopment''' ('''ASD''') is a [[software development process]] that grew out of [[rapid application development]]the work by [[Jim Highsmith]] and Sam Bayer on [[rapid application development]] (RAD). ASDIt embodies the principle that continuous adaptation of the process to the work at hand is the normal state of affairs.
{{Software development process}}
ASDAdaptive software development replaces the traditional [[waterfall model|waterfall]] cycle with a repeating series of ''speculate'', ''collaborate'', and ''learn'' cycles. This dynamic cycle provides for continuous learning and adaptation to the emergent state of the project. The characteristics of an ASD life cycle are that it is mission focused, feature based, [[Iterative and incremental development|iterative]], [[Timeboxing|timeboxed]], risk driven, and change tolerant. As with RAD, ASD is also an antecedent to [[agile software development]].
 
The word ''speculate'' refers to the [[paradox]] of planning – it is more likely to assume that all [[Project stakeholder|stakeholder]]s are comparably wrong for certain aspects of the project’s mission, while trying to define it. During speculation, the project is initiated and adaptive cycle planning is conducted.
ASD replaces the traditional [[waterfall model|waterfall]] cycle with a repeating series of ''speculate'', ''collaborate'', and ''learn'' cycles. This dynamic cycle provides for continuous learning and adaptation to the emergent state of the project. The characteristics of an ASD life cycle are that it is mission focused, feature based, iterative, timeboxed, risk driven, and change tolerant.
Adaptive cycle planning uses project initiation information—the customer’s
mission statement, project constraints (e.g., delivery dates or user descriptions), and
basic requirements—to define the set of release cycles (software increments) that
will be required for the project.
 
The word ''speculate'' refers to the [[paradox]] of planning – it is more likely to assume that all stakeholders are comparably wrong for certain aspects of the project’s mission, while trying to define it. ''Collaboration'' refers to the efforts for balancing the work based on predictable parts of the environment (planning and guiding them) and adapting to the uncertain surrounding mix of changes caused by various factors, such as technology, requirements, stakeholders, software vendors, etc. The ''learning'' cycles, challenging all stakeholders, are based on the short iterations with design, build and testing. During these iterations the knowledge is gathered by making small mistakes based on false assumptions and correcting those mistakes, thus leading to greater experience and eventually mastery in the problem ___domain.<ref>{{cite web|url=http://www.adaptivesd.com/articles/messy.htm|title=Messy, Exciting, and Anxiety-Ridden: Adaptive Software Development|access-date=2007-05-18|archive-url=https://web.archive.org/web/20171004140236/http://www.adaptivesd.com/articles/messy.htm|archive-date=2017-10-04|url-status=dead}}</ref>
 
==References==
{{reflist}}
*''Adaptive Software Development: A Collaborative Approach to Managing Complex Systems'', Highsmith, J.A., 2000 New York: Dorset House, 392pp, {{ISBN |0-932633-40-4}}
*''[[Agile Project Management (book)|Agile Project Management: Creating Innovative Products]]'', [[Addison-Wesley]], Jim Highsmith, March 2004, 277pp, {{ISBN |0-321-21977-5}}
*{{cite book | author = Lev Virine & Michael Trumper | year = 2007 | title = Project Decisions: The Art and Science | publisher = Management Concepts | isbn = 978-1-56726-217-9}}
*''Software Engineering: A Practitioner's Approach, Roger Pressman, Bruce Maxim.'' {{ISBN|978-0078022128}}
*{{cite web | url = http://www.adaptivesd.com |title = Adaptive SD}}
 
[[Category:Software development process]]
[[Category:Agile software development]]
 
[[de:Adaptive Software Development]]
[[fr:Adaptive software development]]
[[it:Adaptive Software Development]]
[[nl:Adaptive Software Development]]