Content deleted Content added
Removing link(s) to "Standish Group": Removing links to deleted page Standish Group. |
|||
(11 intermediate revisions by 11 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 software, the strong concentration on requirements (e.g. typical for the [[waterfall model]]) causes excessive costs and reduced quality of the outcome, mainly due to the following reasons:<ref name="GDSD" />
* 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/
Line 31 ⟶ 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 44 ⟶ 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 56 ⟶ 63:
| last = Pizka
| first = M.
|
| publisher = IPWSE. 2004. IEEE Computer Society
}}</ref> The collaborative identification of goals introduced by GDP allows combining top-down with bottom-up aspects (“''top-down thinking and bottom-up acting''” <ref name="GDSD" />) to support [[Artifact (software development)|artifacts]] consistency and allowing vertical team organization.
Line 76 ⟶ 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.<ref name="BPCHANGE">Panas, Löwe, Asmann. Towards the unified recovery architecture for reverse engineering. Proc. of the Intern. Conf. on Software Engineering and Practice SERP’03, volume 1, pages 854–860, Las Vegas, NV, June 2003. CSREA Press.</ref>
Line 88 ⟶ 95:
The core activities are:
#
#
#
These activities can be also divided into six main steps
#
#
#
#
#
#
== References ==
Line 108 ⟶ 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]]
|