Of all the [[agile software development]] methodologies, '''outside-inoutside–in software development''' takes a different approach to optimizing the software development process. Unlike other approaches, '''outside-inoutside–in''' development focuses on satisfying the needs of [[stakeholder (corporate)|stakeholders]]. The underlying theory behind outside-in software usis that to create successful software, youthe team must have a clear understanding of the goals and motivations of yourthe stakeholders. YourThe ultimate goal is to produce software that is highly [[Consumability|consumable]] and meets/ or exceeds the needs of yourthe intended client.
Outside-in software development is meant to primarily supplement your existing software development methodology. While it does ideally work in more agile environments, it is possible ▼
to fit outside-in development into [[waterfall model|waterfall]]-based or [[six sigma]] methodologies. Outside-in software development is not a catchall solution, but a way to better your existing methodology.
▲Outside-inOutside–in software development is meant to primarily supplement your existing software development methodologymethodologies. While it doesis ideallysuited work in morefor agile environmentssoftware development, it is possible to fit outside-in development into [[waterfall model|waterfall]]-based methodologies.
== The four stakeholder groups ==
What sets outside-in software development apart from other stakeholder-based approaches is the categorization of the four types of stakeholders. TheWhile the following four groups are unique, buthowever there can be and is usually a lot of interaction between all fourthem:
* '''Principals''': The people who buy your software--. This is the most important stakeholder group to appease.
* '''End- users''': The people who interact with your product. They experience how your software works in the real world.
* '''Partners''': The people who aremake indirectlyyour associatedproduct withwork yourin softwarereal life, peoplesuch who'sas jobsoperations areteams madeand easieralso withoutbusiness directpartners useand of yoursystem softwareintegrators.
* '''Insiders''': The people within your company that have some impact on how your team develops software.
It is crucial to speak with all stakeholders, even if they aren'tare not the primary audience of your software.
== Implementing outside-inoutside–in software development ==
The outside-inoutside–in approach does not require your entire development methodology to change. Outside-inOutside–in development can supplement the existing tools of developers.
Outside-inOutside–in development works particularly well in the context of agile/lean development. One of the major tenets of agilelean-based software development is to program with the least amount of waste. Outside-in methodologies promote only developing according to stakeholder requirements. By identifying your stakeholders properly and soliciting helpful feedback early on in the development process, agile and outside-in methodologies can mesh together seamlessly.
Kessler and Sweitzer recommend that, no matter what kind of development methodology you employ, you incrementally introduce outside-inoutside–in development to your team. They cite the lack of enthusiasm by developers as the main reason to not implement sweeping, large scale change.
Outside-inOutside–in software development should not be introduced as a holistic development process. It is meant to supplement your current software development methodology.
== See Alsoalso ==
* [[Software development process]]
== References ==
* [[Carl Kessler]] [[http://outside-in-thinking.com/?tag=consumability|Outside–in thinking]], 2008.
* [[Carl Kessler]] and [[John Sweitzer]]. ''[[Outside-in Software Development: A Practical Approach to Building Successful Stakeholder-based Products]]'', IBM Press.
** First Edition, 2008. {{ISBN |0-13-157551-1}}. Pp. 1–3, 23–31, 183–195
*[[Craig Larman]] and [[Victor R. Basili]]. [https://web.archive.org/web/20080516194912/http://www2.umassd.edu/SWPI/xp/articles/r6047.pdf ''Iterative and Incremental Development:A Brief History '' IEEE Computer, June 2003]
== External Links ==
{{DEFAULTSORT:Outside-in software development}}
* [http://www.standishgroup.com The Standish Group]
[[Category:Software development process]]
* [http://www.honeywell.com/sixsigma/ Honeywell Six Sigma Plus]
[[Category:Human–computer interaction]]
* [http://www.motorola.com/motorolauniversity.jsp Motorola University]
|