Content deleted Content added
m →Justification: journal cite fixes using AWB (7151) |
Removing link(s) to "Standish Group": Removing links to deleted page Standish Group. |
||
(14 intermediate revisions by 12 users not shown) | |||
Line 1:
'''Goal-Driven Software Development Process''' (GDP<!-- gdp -->) is an [[iterative and incremental development|iterative and incremental]] [[software development]] technique. Although similar to other modern [[process modeling|process models]], GDP is primarily focusing on identifying goals ''before'' setting the requirements and explicitly utilizing the bottom-up design approach.
The following sections are based on the paper ''Goal-Driven Software Development'' <ref name="GDSD">{{cite
| chapter-url = http://portal.acm.org/citation.cfm?id=1263550.1264132
|
| accessdate = 2008-12-30
| last = Schnabel
| first = I.
|
| title = 2006 30th Annual IEEE/NASA Software Engineering Workshop
| year = 2006
| pages = 59–65
| publisher = SEW. 2006. IEEE Computer Society
| doi = 10.1109/SEW.2006.21
| isbn = 0-7695-2624-1
| s2cid = 2964715
}}</ref> where the GDP concept was introduced.
== Justification ==
The first argument to embrace the GDP principles is the aspect of requirements. When developing
* Requirements are usually not identical with business objectives because of the author’s limited knowledge about technical possibilities and their costs – such requirements tend to include unnecessary expensive wishes while excluding technically simple features that would provide substantial benefit.
* Formalization of the supported business process during development usually reveals inconsistencies and gaps within that process which need to be compensated with changes to the process itself or to the role of the software system.
The result of these two effects is usually a large number of change requests during and after development (entailing time and cost overruns), therefore
Secondly, while established [[Software development process|software processes]] refine requirements down to an implementation, the Goal-driven Development Process recommends trying to find an optimal mapping between business objectives and capabilities of
the technical platform in an ''iterative'' process, equally considering and adjusting business goals and technical aspects to come to an optimal, ''convergent'' solution.
Goal-driven development process allows stakeholders to
| doi = 10.5381/jot.2006.5.2.c9
| url = http://www.jot.fm/issues/issue_2006_03/column9/
| title = How to align IT with the Changes using UML and according to BMM
Line 30 ⟶ 37:
| first = Birol
| journal = Journal of Object Technology | volume = 5| issue = 2 | date= March–April 2006|pages = 85–102
| doi-access = free
* Discover use cases that are tailored to the requirements according to business goals
Line 43 ⟶ 51:
As closely related to the [[GQM|Goal-Question-Metric]] paradigm, a '''top-level goal''' is defined as an informal description of what a stakeholder wants to change or improve in his business environment, decomposing itself to more specific '''sub-goals'''. Moreover, a set of questions is linked to every goal, which characterizes the way how software will be tested against defined goals after each [[iterative and incremental development|iteration]].
Being this the key GDP principle, the collaborative identification of goals brings knowledge of users and software developers together. While goal definition is top-down driven, deciding
=== Top-down and bottom-up convergence ===
Line 49 ⟶ 57:
: ''For more information see [[Top-down and bottom-up design]]''.
While the top-down orientation supports a horizontal team organization, bottom-up approaches try to provide generalized components or services, leading to a better user satisfaction.<ref name="TDBU">{{cite web
| url = http://portal.acm.org/citation.cfm?id=1018436.1021759
| title = A brief top-down and bottom-up philosophy on software evolution
Line 55 ⟶ 63:
| last = Pizka
| first = M.
|
| publisher = IPWSE. 2004. IEEE Computer Society
}}</ref>
=== Vertical team organization ===
Line 75 ⟶ 83:
=== Minimizing project size ===
According to GDP, another key to success in large
Minimizing size leads to an increased maintainability and changeability of the system to business processes as they are the most likely factor to change in the future
== Activities ==
Line 83 ⟶ 91:
Every iteration starts with the identification of business goals and their priorities and ends with a running version of the software system corresponding to the selected goals.
While incremental development of the software system is also done in other [[Software development process|software processes]], the scope of GDP iteration is extended to include a discussion of business objectives after ''each'' iteration as is believed the business objectives themselves mature with the availability of usable implementation
The core activities are:
#
#
#
These activities can be also divided into six main steps
#
#
#
#
#
#
== References ==
Line 107 ⟶ 115:
* [http://www.goobiz.com/How_to_align_IT_using_UML_and_according_to_BMM.htm How to align IT to changes on a Goal-Driven Service Oriented Architecture using UML, MDA and BMM]
{{Software
[[Category:Software development process]]
|