Jump to content

Agile unified process: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
 
(47 intermediate revisions by 37 users not shown)
Line 1: Line 1:
{{short description|Iterative software development process framework}}
'''Agile Unified Process''' (AUP) is a simplified version of the [[IBM Rational Unified Process]] (RUP) developed by [[Scott Ambler]]. It describes a simple, easy to understand approach to developing business application software using agile techniques and concepts yet still remaining true to the RUP. The AUP applies agile techniques including test driven development (TDD), [[Agile Modeling]], agile change management, and [[database refactoring]] to improve productivity.
{{refimprove|date=August 2009}}
'''Agile unified process''' ('''AUP''') is a simplified version of the [[rational unified process]] (RUP) developed by [[Scott Ambler]].<ref name="register">{{cite news|url=https://www.theregister.co.uk/2008/02/28/agile_crossing_chasm/|title=Agile lands role in games and business software|last=Waters|first=John K|date=28 February 2008|publisher=The Register|accessdate=2009-08-03}}</ref> It describes a simple, easy to understand approach to developing business application software using agile techniques and concepts yet still remaining true to the RUP. The AUP applies agile techniques including [[test-driven development]] (TDD), [[agile modeling]] (AM), agile change management, and [[database refactoring]] to improve productivity.


In 2011 the AUP accounted for one percent of all the agile methodologies used.<ref>{{Cite web |url=http://www.versionone.com/state_of_agile_development_survey/2011/ |title=State of Agile Development Survey Results, 2011. VersionOne |access-date=2014-06-26 |archive-date=2015-07-17 |archive-url=https://web.archive.org/web/20150717120712/http://www.versionone.com/state%5Fof%5Fagile%5Fdevelopment%5Fsurvey/2011/ |url-status=dead }}</ref> In 2012 the AUP was superseded by [[disciplined agile delivery]] (DAD). Since then work has ceased on evolving AUP.


== Discipline ==

Unlike the RUP, the AUP has only seven disciplines {{Citation needed|date=April 2012}}:
== Disciplines ==
# '''Model'''. Understand the business of the organization, the problem domain being addressed by the project, and identify a viable solution to address the problem domain.

# '''Implementation'''. Transform model(s) into executable code and perform a basic level of testing, in particular [[unit testing]].
Unlike the RUP, the AUP only has seven disciplines:
# '''Test'''. Perform an objective evaluation to ensure quality. This includes finding defects, verifying that the system works as designed, and validating that the requirements are met.

1. '''Model'''. Understand the business of the organization, the problem domain being addressed by the project, and identify a viable solution to address the problem domain.
# '''Deployment'''. Plan for the delivery of the system and to execute the plan to make the system available to end users.
# '''[[Configuration management]]'''. Manage access to project artifacts. This includes not only tracking artifact versions over time but also controlling and managing changes to them.

# '''[[Project management]]'''. Direct the activities that take place within the project. This includes managing risks, directing people (assigning tasks, tracking progress, etc.), and coordinating with people and systems outside the scope of the project to be sure that it is delivered on time and within budget.
2. '''Implementation'''. Transform model(s) into executable code and perform a basic level of testing, in particular [[unit testing]].
# '''Environment'''. Support the rest of the effort by ensuring that the proper process, guidance (standards and guidelines), and tools (hardware, software, etc.) are available for the team as needed.

3. '''Test'''. Perform an objective evaluation to ensure quality. This includes finding defects, validating that the system works as designed, and verifying that the requirements are met.

4. '''Deployment'''. Plan for the delivery of the system and to execute the plan to make the system available to end users.

5. '''Configuration Management'''. Manage access to project artifacts. This includes not only tracking artifact versions over time but also controlling and managing changes to them.

6. '''[[Project Management]]'''. Direct the activities that takes place within the project. This includes managing risks, directing people (assigning tasks, tracking progress, etc.), and coordinating with people and systems outside the scope of the project to be sure that it is delivered on time and within budget.

7. '''Environment'''. Support the rest of the effort by ensuring that the proper process, guidance (standards and guidelines), and tools (hardware, software, etc.) are available for the team as needed.


== Philosophies ==
== Philosophies ==
The Agile UP is based on the following philosophies:<ref name="AUP">{{cite web |url=http://www.ambysoft.com/unifiedprocess/agileUP.html |title=The Agile Unified Process (AUP) |last=Ambler |first=Scott |website=Ambysoft |access-date=21 December 2015 |archive-date=8 August 2019 |archive-url=https://web.archive.org/web/20190808110832/http://www.ambysoft.com/unifiedprocess/agileUP.html |url-status=dead }}</ref>

# '''Your staff know what they're doing'''. People are not going to read detailed process documentation, but they will want some high-level guidance and/or training from time to time. The AUP product provides links to many of the details, if you are interested, but doesn't force them upon you.
The Agile UP is based on the following philosophies:
# '''Simplicity'''. Everything is described concisely using a handful of pages, not thousands of them.

# '''Agility'''. The Agile UP conforms to the values and principles of the [[agile software development]] and the [http://www.agilealliance.org Agile Alliance].
1. '''Your staff knows what they're doing'''. People are not going to read detailed process documentation, but they will want some high-level guidance and/or training from time to time. The AUP product provides links to many of the details, if you are interested, but doesn't force them upon you.
# '''Focus on high-value activities'''. The focus is on the activities which actually count, not every possible thing that could happen to you on a project.

# '''Tool independence'''. You can use any toolset that you want with the Agile UP. The recommendation is that you use the tools which are best suited for the job, which are often simple tools.
2. '''Simplicity'''. Everything is described concisely using a handful of pages, not thousands of them.
# '''You'll want to tailor the AUP to meet your own needs'''.

3. '''Agility'''. The Agile UP conforms to the values and principles of the [[agile software development]] and the [http://www.agilealliance.org Agile Alliance].

4. '''Focus on high-value activities'''. The focus is on the activities which actually count, not every possible thing that could happen to you on a project.

5. '''Tool independence'''. You can use any toolset that you want with the Agile UP. The recommendation is that you use the tools which are best suited for the job, which are often simple tools.

6. '''You'll want to tailor the AUP to meet your own needs'''.


== Releases ==
== Releases ==
The Agile Unified Process distinguishes between two types of iterations. A Development Release Iteration results in a deployment to the Quality Assurance and/or Demo area. A Production Release Iteration results in a deployment to the Production area. This is a significant refinement to the [[Rational Unified Process]].
The agile unified process distinguishes between two types of iterations. A development release iteration results in a deployment to the quality-assurance and/or demo area. A production release iteration results in a deployment to the production area. This is a significant refinement to the [[rational unified process]].


[[Image:AgileUnifiedProcessTimeline20060704.png]]
[[File:AgileUnifiedProcessTimeline20060704.png]]


== See also ==
== See also ==
*[[Enterprise Unified Process]]
*[[Enterprise unified process]]
*[[Unified Process]]
*[[Unified process]]

== References ==
{{reflist}}


== External links ==
== External links ==
*[http://www.ambysoft.com/unifiedprocess/agileUP.html AmbySoft Agile Unified Process page] {{Webarchive|url=https://web.archive.org/web/20190808110832/http://www.ambysoft.com/unifiedprocess/agileUP.html |date=2019-08-08 }}
*[http://www.outsystems.com OutSystems Software Development]
*[http://www.ddj.com/architect/187203749 Scott Amber's ''Dr Dobbs'' article "Where Did All the Positions Go?"]
*[http://www.ambysoft.com/unifiedprocess/agileUP.html AmbySoft Agile Unified Process page]


[[Category:Agile software development]]
[[Category:Agile software development]]
[[Category:Software development process]]

[[nl:Agile Unified Process]]
[[es:Agile Unified Process]]

Latest revision as of 10:39, 4 April 2024

Agile unified process (AUP) is a simplified version of the rational unified process (RUP) developed by Scott Ambler.[1] It describes a simple, easy to understand approach to developing business application software using agile techniques and concepts yet still remaining true to the RUP. The AUP applies agile techniques including test-driven development (TDD), agile modeling (AM), agile change management, and database refactoring to improve productivity.

In 2011 the AUP accounted for one percent of all the agile methodologies used.[2] In 2012 the AUP was superseded by disciplined agile delivery (DAD). Since then work has ceased on evolving AUP.

Discipline

[edit]

Unlike the RUP, the AUP has only seven disciplines [citation needed]:

  1. Model. Understand the business of the organization, the problem domain being addressed by the project, and identify a viable solution to address the problem domain.
  2. Implementation. Transform model(s) into executable code and perform a basic level of testing, in particular unit testing.
  3. Test. Perform an objective evaluation to ensure quality. This includes finding defects, verifying that the system works as designed, and validating that the requirements are met.
  4. Deployment. Plan for the delivery of the system and to execute the plan to make the system available to end users.
  5. Configuration management. Manage access to project artifacts. This includes not only tracking artifact versions over time but also controlling and managing changes to them.
  6. Project management. Direct the activities that take place within the project. This includes managing risks, directing people (assigning tasks, tracking progress, etc.), and coordinating with people and systems outside the scope of the project to be sure that it is delivered on time and within budget.
  7. Environment. Support the rest of the effort by ensuring that the proper process, guidance (standards and guidelines), and tools (hardware, software, etc.) are available for the team as needed.

Philosophies

[edit]

The Agile UP is based on the following philosophies:[3]

  1. Your staff know what they're doing. People are not going to read detailed process documentation, but they will want some high-level guidance and/or training from time to time. The AUP product provides links to many of the details, if you are interested, but doesn't force them upon you.
  2. Simplicity. Everything is described concisely using a handful of pages, not thousands of them.
  3. Agility. The Agile UP conforms to the values and principles of the agile software development and the Agile Alliance.
  4. Focus on high-value activities. The focus is on the activities which actually count, not every possible thing that could happen to you on a project.
  5. Tool independence. You can use any toolset that you want with the Agile UP. The recommendation is that you use the tools which are best suited for the job, which are often simple tools.
  6. You'll want to tailor the AUP to meet your own needs.

Releases

[edit]

The agile unified process distinguishes between two types of iterations. A development release iteration results in a deployment to the quality-assurance and/or demo area. A production release iteration results in a deployment to the production area. This is a significant refinement to the rational unified process.

See also

[edit]

References

[edit]
  1. ^ Waters, John K (28 February 2008). "Agile lands role in games and business software". The Register. Retrieved 2009-08-03.
  2. ^ "State of Agile Development Survey Results, 2011. VersionOne". Archived from the original on 2015-07-17. Retrieved 2014-06-26.
  3. ^ Ambler, Scott. "The Agile Unified Process (AUP)". Ambysoft. Archived from the original on 8 August 2019. Retrieved 21 December 2015.
[edit]