<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ivar Jacobson International &#187; Essential Practices | Ivar Jacobson International</title>
	<atom:link href="http://blog.ivarjacobson.com/category/essential-practices/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.ivarjacobson.com</link>
	<description>The Smart Blog</description>
	<lastBuildDate>Mon, 16 Jan 2012 14:12:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>The kernel Journals 9: Is our way of working fit-for-purpose?</title>
		<link>http://blog.ivarjacobson.com/the-kernel-journals-9-is-our-way-of-working-fit-for-purpose/</link>
		<comments>http://blog.ivarjacobson.com/the-kernel-journals-9-is-our-way-of-working-fit-for-purpose/#comments</comments>
		<pubDate>Tue, 05 Oct 2010 20:15:27 +0000</pubDate>
		<dc:creator>Roly Stimson</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[Essential Practices]]></category>
		<category><![CDATA[Alphas]]></category>
		<category><![CDATA[Practices]]></category>
		<category><![CDATA[process kernel]]></category>
		<category><![CDATA[Rational Unified Process]]></category>
		<category><![CDATA[software projects]]></category>

		<guid isPermaLink="false">http://blog.ivarjacobson.com/?p=452</guid>
		<description><![CDATA[We have seen in the previous kernel journals that a process kernel, defined in terms of the key domain entities, or Alphas, and their value state progressions, can give us a simple, shared view of what each and every project has to achieve (which is common across all projects), that is distinct and separate from [...]]]></description>
			<content:encoded><![CDATA[<h2><img class="alignleft size-medium wp-image-453" title="building" src="http://blog.ivarjacobson.com/wp-content/uploads/2010/10/building-300x110.jpg" alt="The kernel Journals 9: Is our way of working fit for purpose?" width="300" height="110" /><span style="font-weight: normal; font-size: 13px;">We have seen in the previous kernel journals that a process kernel, defined in terms of the key domain entities, or Alphas, and their value state progressions, can give us a simple, shared view of <em>what</em> each and every project has to achieve (which is common across all projects), that is distinct and separate from <em>how</em> they might go about doing it (which may vary from project to project).</span></h2>
<p><span id="more-452"></span>If we provide projects with at least one “how” (practice guidance) for each and every “what” (alpha state progression), then no team ever <em>has</em> to discover or invent new ways of working. But, if we allow teams to adapt or substitute any specific piece of practice guidance with an alternative means of achieving the same end, then we can empower teams to adopt a way of working that best suites the evolving needs of their project and team circumstances.</p>
<p>This approach has significant benefits for process quality auditing and assessment too. In the past, quality assessors within an organization have often had an up-hill battle to determine which process a given team thinks it should be following, before they can even start to assess whether or not it is an appropriate process and finally whether or not the team is actually following it.</p>
<p>Being pointed to a “tailor down” process like the Rational Unified Process has never been popular with quality managers in my experience. The RUP may document everything that any project of any size might ever conceivably need to do, but everyone knows that no project ever should or could attempt to do all of it. But determining and documenting which bits of process do or don’t need to be done is challenging and onerous for projects (and therefore is either not done well or not done at all). Likewise, assessing whether the bits of process that the project team is supposedly doing, together constitute a complete and coherent process that is “necessary and sufficient” is nigh-on impossible.</p>
<p>A process kernel on the other hand provides a process quality assessor with a simple process-coverage checklist. We know that each and every project needs to achieve each and every alpha state progression <em>somehow</em>. If the project team knows <em>how</em> they will go about trying to achieve each and every progression, then they have a fully defined process that is both necessary and sufficient (in terms of coverage at least). A process quality assessor can therefore be presented with a project team’s defined process in the form of the standard set of alpha state progressions, with each one pointing to the practice guidance that the project team is following in order to achieve the progression.</p>
<p>The current state of the project is easily assessed as it is expressed in terms of the progressions that the project has made, each of which points to the evidence that shows it has been achieved, expressed in the way the practice guidance suggests it should be. The process assessor also knows which practices should be currently “in play” and guiding the planning and execution of the current project activities and tasks – these are the practices that relate to the state progressions that the team hasn’t achieved yet, but is striving to achieve next.</p>
<p>The kernel thus enables process quality assessors to effectively and non-invasively assess what process is theoretically being followed, whether it is fit for purpose and whether it has been and is being successfully followed.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ivarjacobson.com/the-kernel-journals-9-is-our-way-of-working-fit-for-purpose/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Kernel Journals 8: A little help here!</title>
		<link>http://blog.ivarjacobson.com/the-kernel-journals-8-a-little-help-here/</link>
		<comments>http://blog.ivarjacobson.com/the-kernel-journals-8-a-little-help-here/#comments</comments>
		<pubDate>Thu, 16 Sep 2010 20:01:18 +0000</pubDate>
		<dc:creator>Roly Stimson</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[Essential Practices]]></category>
		<category><![CDATA[Process Improvement]]></category>

		<guid isPermaLink="false">http://blog.ivarjacobson.com/?p=425</guid>
		<description><![CDATA[In the previous kernel journals we have looked at the many practical applications of a process kernel that is based on the key software development entities (known as Alphas) that software projects add value to by progressing through their value states. We have seen that there are many advantages to separating these “whats” (progressions) that [...]]]></description>
			<content:encoded><![CDATA[<h1><span style="font-weight: normal; font-size: 13px;"><img class="alignleft size-full wp-image-426" title="1139527_communicate_3" src="http://blog.ivarjacobson.com/wp-content/uploads/2010/09/1139527_communicate_3.jpg" alt="The Kernel Journals 8: A little help here!" width="266" height="300" />In the previous kernel journals we have looked at the many practical applications of a process kernel that is based on the key software development entities (known as Alphas) that software projects add value to by progressing through their value states. We have seen that there are many advantages to separating these “whats” (progressions) that we are trying to achieve, from the many possible “hows” (software processes and practices) that describe how we might achieve and evidence these progressions, including the ability to set objectives and track progress in a common and consistent way irrespective of what specific practices a project happens to adopt.</span></h1>
<p><span style="font-weight: normal; font-size: 13px;"><span id="more-425"></span><br />
</span></p>
<p>So, our kernel gives projects advice on <em>what</em> to achieve (first / next) without providing any specific guidance on <em>how</em> to achieve it. This is both good (because we are not telling software development teams exactly how to do their job) and bad (because we aren’t giving them any help at all on how to do the things that they have to do).</p>
<p>Clearly there is no shortage of advice out there in the form of the myriad of competing software development processes. But we have seen that they have traditionally suffered from being somewhat monolithic (“all or nothing at all”), and while many contain much useful practice guidance, it is difficult to find and use the specific piece of guidance that we need without getting tangled up in a huge, prescriptive process web of activities to follow and artifacts to produce (and templates to complete).</p>
<p>What we need is a way of accessing process guidance that enables us to find our way straight from <em>what</em> we are trying to achieve here and now (such as establish a shared understanding of the value and scope of a software system) to specific guidance on <em>how</em> we can achieve it (e.g. with use-cases and use-case scenarios).</p>
<p>This is what IJI have done with their EssUP process – provide access to guidance on <em>how</em> to achieve something, that is accessible directly from the progressions that we know our project has to achieve first / next. And we have provided this guidance as a set of modular practices, so that if an organization or project does not like a particular practice (such as the use-case practice), they can “swap it out” and “swap in” a different practice into the same process space instead (such as a traditional declarative-requirements practice or a user-story based practice).</p>
<p>Organizations are now free to choose the balance that is right for them between process consistency and process freedom. At one end of the scale an organization can provide a single set of cohesive practices that provide just one single standard way of achieving all the things that projects need to achieve. At the other end of the scale, they can allow projects to select any “hows” they wish from any practice guidance that is “out there”, and to freely refine and evolve these working practices over time. A project, for example, might choose to scope its system with a use case diagram and then drive the development and test of the system with user stories. Furthermore, as we will see in the next kernel journal, we always know whether the process guidance available to a team “covers all the bases” or not (i.e. whether there are any spaces left in which people are expected to “just wing it”).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ivarjacobson.com/the-kernel-journals-8-a-little-help-here/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>De wereld van Practices &#8211; Wat is een Practice?</title>
		<link>http://blog.ivarjacobson.com/de-wereld-van-practices-wat-is-een-practice/</link>
		<comments>http://blog.ivarjacobson.com/de-wereld-van-practices-wat-is-een-practice/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 13:59:09 +0000</pubDate>
		<dc:creator>Eric Lopes Cardozo</dc:creator>
				<category><![CDATA[Essential Practices]]></category>
		<category><![CDATA[Practices]]></category>
		<category><![CDATA[Process Improvement]]></category>
		<category><![CDATA[EssWork]]></category>
		<category><![CDATA[practice framework]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[process kernel]]></category>

		<guid isPermaLink="false">http://blog.ivarjacobson.com/?p=337</guid>
		<description><![CDATA[Bij IJI staan we een practice-gedreven aanpak voor. Zoals met veel concepten en principes geldt ook hier dat een goed begrip van wat ermee wordt bedoeld essentieel is om er echt de vruchten van te plukken. Een manier om daar invulling aan te geven is om te kijken naar criteria waaraan je een goede practice [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-391" title="IJhoneycomb" src="http://blog.ivarjacobson.com/wp-content/uploads/2010/08/IJhoneycomb-300x275.jpg" alt="De wereld van Practices   Wat is een Practice?" width="171" height="141" />Bij IJI staan we een practice-gedreven aanpak voor. Zoals met veel concepten en principes geldt ook hier dat een goed begrip van wat ermee wordt bedoeld essentieel is om er echt de vruchten van te plukken. Een manier om daar invulling aan te geven is om te kijken naar criteria waaraan je een goede practice kunt herkennen. Maar voor we dat doen, is het goed om eerst te kijken naar de definitie en kenmerken van een practice en een practice-gedreven aanpak.</p>
<p>Onder een practice-gedreven aanpak verstaan we onder meer “het samenstellen van een effectieve manier van werken op basis van relevante procescomponenten”. In plaats van moeizaam te proberen een procesraamwerk toe te snijden op een specifiek project draaien we het om; we selecteren alleen relevante procescomponenten en assembleren die tot een consistent proces. En zo’n procescomponent noemen we dan een practice. <a title="Use Case Essentials" href="http://www.ivarjacobson.com/practices/use_case_essentials/" target="_blank">Use Cases</a>, User Stories en<a title="Iterative Essentials" href="http://www.ivarjacobson.com/practices/iterative_essentials/" target="_blank"> Iteratief ontwikkelen</a> zijn enkele voorbeelden van practices. Andere voorbeelden zijn Operationaliseren Systeem en Datamigratie. In deze context is het ultieme doel van een practice-gedreven aanpak “betere resultaten boeken met softwareontwikkeling”. Hierbij kun je dan denken aan betere software, goedkoper, sneller en een prettigere manier van werken.<span id="more-337"></span></p>
<p><em> </em></p>
<p>Een practice-gedreven aanpak vraagt om met een andere bril naar de totstandkoming en het gebruik van ontwikkelprocessen te kijken zodat tal van problemen worden opgelost die ons er vaak van weerhouden om echt succesvol te kunnen zijn. Deze problemen en de uitweg zijn goed beschreven in het artikel <em><a title="Enough Proces, Let's do Practices" href="http://www.ivarjacobson.com/resource.aspx?id=299" target="_blank">Enough Proces, Let's do Practices</a></em>. Het komt er kortweg op neer dat organisaties en projectteams daadwerkelijk en van dag tot dag baat moeten hebben bij een ontwikkelproces. Het komt namelijk nog vaak voor dat een ontwikkelproces niet wordt gevolgt of dat het eerder een blok aan het been is. Ook kan het zijn dat de implementatie van een procesraamwerk als geheel gewoon te veel vraagt van een organisatie of te weinig oplevert.</p>
<p>Anders kijken naar het verzamelen en delen van kennis is een deel van de oplossing. Stel je eens voor dat je:</p>
<ul>
<li>Op een elegante manier de kennis van duizenden ervaringsdeskundigen kunt ontdekken, verzamelen en vastleggen.</li>
<li>Kennis supertoegankelijk kunt maken.</li>
<li>Zeer snel toegang krijgt tot de kennis die je nodig hebt, alleen die kennis, wanneer je het nodig hebt en niet eerder.</li>
<li>Teams in staat stelt om met behoud van controle hun eigen innovatieve manier van werken samen te stellen, helemaal toegesneden op de behoefte.</li>
<li>Stapsgewijs procesverbetering mogelijk maakt zodat risico’s worden geminimaliseerd.</li>
<li>Nieuwe werkwijzen zeer eenvoudig kunt verweven met bestaande zodat je het goede kunt behouden en het nieuwe eerst op kleine schaal in de praktijk kunt beproeven.</li>
</ul>
<p>Een practice-gedreven aanpak maakt dit allemaal mogelijk.</p>
<p>Volgens de definitie is een practice een manier om op systematische en verifieerbare wijze een specifiek aspect van een probleem op te lossen. Enkele kermerken van een goede practice zijn:</p>
<ul>
<li>Een duidelijke focus op een specifiek aspect van softwareontwikkeling</li>
<li>Een aanpak om een probleem te duiden en de strategie om het probleem op te lossen</li>
<li>Instructies om te verifieren dat het probleem daadwerkelijk is opgelost en,  indien relevant, een beschrijving van welk ondersteunend bewijs hiervoor benodigd is</li>
<li>Een beschrijving van hoe de te volgen strategie in de dagelijke praktijk moet worden uitgevoerd.</li>
</ul>
<p>Hierbij is het verder belangrijk om te weten dat een practice:</p>
<ul>
<li>Niet beoogt om een probleem in zijn geheel op te lossen.</li>
<li>Daadwerkelijk door iemand in de praktijk kan worden uitgevoerd.</li>
<li>Een helder begin en eind heeft.</li>
<li>Een element van verificatie in zich heeft en zonder eigenlijk niet compleet is.</li>
</ul>
<p>Simplistisch voorgesteld beschrijft een practice: wat moet worden geproduceerd, hoe je dat moet doen en welke bekwaamheden je daarvoor nodig hebt. En zou je in <a title="EssWork" href="http://www.ivarjacobson.com/process_improvement_technology/esswork/" target="_blank">EssWork</a> naar bijvoorbeeld de <a title="Use Case Essentials" href="http://www.ivarjacobson.com/practices/use_case_essentials/" target="_blank">Use Case Essentials</a> practice kijken, dan zul je zien dat een practice meer informatie kan bevatten zoals een workflow, hints en tips, veel gemaakte fouten, beschrijvingen van concepten en compleetheidscriteria.</p>
<p>Het simpelweg verzamelen van essentiële informatie maakt een practice echter nog geen goede practice. Met name de focus op een specifiek aspect van softwareontwikkeling (of teamwork) is zeer relevant. Deze focus kunnen we concreet maken door goed te letten op het onderwerp van een practice en het aandachtgebied waarbinnen een practice zich begeeft.</p>
<p>Binnen softwareontwikkeling kan een practice zich richten op drie aandachtsgebieden, de klant (customer), de oplossing (solution) en de inspanning (endeavour).</p>
<p><strong>Customer </strong>– Ieder software project heeft een klant en ieder process dient het perspectief van die klant mee te nemen om ervoor te zorgen dat de juiste oplossing wordt ontwikkeld.<strong> </strong></p>
<p><strong>Solution</strong> – Ieder software project dient werkende software op te leveren en ieder process dient te een team een set van werkwijzen te bieden die het team helpt om op productieve en constructieve wijze goede kwaliteit software te ontwikkelen.<strong> </strong></p>
<p><strong>Endeavor</strong> – Softwareontwikkeling is een serieuze aangelegenheid die normaliter vele weken in beslag neemt, vele verschillende belanghebbenden raakt en meestal een team van specialisten vereist. Ieder practisch process dient een set werkwijzen te bieden voor het effectief plannen, leiden en bewaken van de benodige inzet van het team.</p>
<p>De onderstaande figuur geeft een overzicht van onder andere de werkproducten en activiteiten van de<a title="Use Case Essentials" href="http://www.ivarjacobson.com/practices/use_case_essentials/" target="_blank"> Use Case Essentials </a>practice.</p>
<div id="attachment_374" class="wp-caption aligncenter" style="width: 407px"><img class="size-full wp-image-374 " src="http://blog.ivarjacobson.com/wp-content/uploads/2010/08/UC-Essentials-Overview1.png" alt="De wereld van Practices   Wat is een Practice?" width="397" height="255" title="De wereld van Practices   Wat is een Practice?" /><p class="wp-caption-text">Use Case Essentials Overview</p></div>
<p>Wat bij nadere bestudering opvalt is dat alle activiteiten en werkproducten geel van kleur zijn. Dit betekent dat ze allemaal binnen het aandachtsgebied <em>Solution</em> vallen. Waren ze groen geweest, dan zouden ze binnen het aandachtsgebied <em>Customer</em> zijn gevallen of het aandachtsgebied <em>Endeavour</em> wanneer ze blauw zouden zijn geweest.</p>
<p>Samengevat geldt dat bij een goede practice alle werkproducten en activiteiten ultiem binnen één aandachtsgebied vallen. Uitzonderingen zijn mogelijk of soms noodzakelijk om de practice te kunnen laten werken. Zo kent de <a title="Architecture Essentials" href="http://www.ivarjacobson.com/practices/architecture_essentials/" target="_blank">Architecture Essentials</a> practice een <em>Coach Team</em> activiteit (Endeavour) om ervoor te zorgen dat een team zich een software architectuur goed eigen kan maken.</p>
<p>Behalve een eenduidig aandachtsgebied is er nog een manier om een practice een goede focus te geven en dat is het onderwerp van de practice. Een goede practice heeft ultiem één en soms een beperkt aantal onderwerpen. Een heel specifiek onderwerp van de Use Case Essentials practice is de <em>Use Case Module</em>, zie ook de onderstaande figuur.</p>
<div id="attachment_338" class="wp-caption aligncenter" style="width: 391px"><img class="size-full wp-image-338" src="http://blog.ivarjacobson.com/wp-content/uploads/2010/07/UseCaseModule.png" alt="De wereld van Practices   Wat is een Practice?" width="381" height="253" title="De wereld van Practices   Wat is een Practice?" /><p class="wp-caption-text">Use Case Module Practice Card</p></div>
<p>In het kort is een Use Case Module een set van flows of delen van een use case die gezamenlijk door het ontwikkelproces gaan. Aan de linkerkant van de bovenstaande practice card staat een state machine of toestandsdiagram die de levenscyclus van een Use Case Module gedefinieerd. De figuur laat zien dat een Use Case Module vijf toestanden kent.</p>
<p>Op <strong>Scoped</strong> moet duidelijk zijn welke use-case flows, special en supplementary requirements de use case module omvat.  Op <strong>Specification Agreed</strong> moet er overeenstemming zijn over de inhoud van de Use Case Module. Op <strong>Realized</strong> moet duidelijk zijn welke componenten op welke manier gaan samenwerken om tot een executeerbaar systeem te komen. Op <strong>Implemented</strong> moet de Use Case Module executeerbaar zijn. Tot slot moet op <strong>Verified</strong> de executeerbare Use Case Module voldoen aan de specificatie.</p>
<p>De mogelijke toestanden van de Use Case Module maken inzichtelijk in welke volgorde de Use Case Module door het ontwikkelproces gaat. Of anders gezegd, op welke manier stapgewijs voortgang kan worden geboekt. Een onderwerp van een practice noemen we ook wel een <em>Alpha</em>. Alpha’s zijn die dingen die een softwareproject altijd heeft, ongeacht het type project of de aanpak. Verder zijn Alpha's ook niet tastbaar en zijn werkproducten nodig om er iets over te kunnen zeggen. Practices geven als het ware invulling aan Alpha’s. Alpha hebben ook verband naar planning en beheersing; ze geven inzicht in waar je bent en welke activiteiten je moet uitvoeren om van de ene toestand naar de volgende toestand te komen. De status van werkproducten vormen hierbij dan de bewijslast waarmee kan worden aangetoond dat een bepaalde status is behaald.</p>
<p>Samengevat geldt dat een goede practice ultiem één Alpha heeft waar alle werkproducten en activiteiten betrekking op hebben. In de praktijk kunnen we hier iets losser mee omgaan om een practice goed te kunnen laten werken.</p>
<p>De eerder getoonde overzichtskaart van de Use Case Essentials practice laat bijvoorbeeld meer Alpha’s zien dan alleen de Use Case Module: Opportunity, Requirements, Change, System, Defect, Test, Project, Risk en Task. Bijna al deze Alpha’s zijn afkomstig uit het model dat onder <a title="EssWork" href="http://www.ivarjacobson.com/process_improvement_technology/esswork/" target="_blank">EssWork</a> zit. Dit practice onafhankelijke model of <em>Kernel</em> maakt het mogelijk om meerdere practices samen te smelten tot een consistent geheel. Met practices kun je dan op relevante plekken Alpha’s aanvullen met relevante informatie, in dit geval use case specifieke zaken. Zo is Change geïntroduceerd om grip te krijgen op wijzigingen. En is System aangevuld met essentiële content in de vorm van mogelijke Changes en één of meerdere Use Case Modules en het inzicht dat deze worden beschreven middels een use case model en supplementary requirements.</p>
<p>Op dit punt aangekomen hebben we de definities en de essentie van practices en een practice-gedreven aanpak en enkele kenmerken van goede practices in het kort behandeld. Uiteraard valt er nog veel meer over te zeggen. Wanneer je meer wilt weten, bekijk dan bijvoorbeeld de video over <a title="Execute Practices" href="http://download.ivarjacobson.com/esswork/3.0/demo/executepractices/executepractices.html" target="_blank">Practice Execution</a> of stuur me een email: <span><a href="mailto:elcardozo@ivarjacobson.com"><span>elcardozo@ivarjacobson.com</span></a></span></p>
<div style="width: 1px; height: 1px; overflow: hidden;"><!--[if !mso]&gt; &lt;!  v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} -->&lt;!--[endif]--&gt;&lt;!--[if gte mso 9]&gt; &lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt; Normal 0 false 21 false false false NL X-NONE X-NONE &lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt; &lt;![endif]--&gt;<!--  /* Font Definitions */  @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:1; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:variable; 	mso-font-signature:0 0 0 0 0 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-520092929 1073786111 9 0 415 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:10.0pt; 	margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoPapDefault 	{mso-style-type:export-only; 	margin-bottom:10.0pt; 	line-height:115%;} @page WordSection1 	{size:612.0pt 792.0pt; 	margin:70.85pt 70.85pt 70.85pt 70.85pt; 	mso-header-margin:35.4pt; 	mso-footer-margin:35.4pt; 	mso-paper-source:0;} div.WordSection1 	{page:WordSection1;} --><!--[if gte mso 10]&gt; &lt;!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:&quot;Table Normal&quot;; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:&quot;&quot;; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin-top:0cm; 	mso-para-margin-right:0cm; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:&quot;Times New Roman&quot;; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:&quot;Times New Roman&quot;; 	mso-bidi-theme-font:minor-bidi;} --> &lt;!--[endif]--&gt;</div>
<p class="MsoNormal" style="line-height: normal"><span>De onderstaande figuur geeft een overzicht van onder andere de werkproducten, activiteiten van de </span><a title="Use  Case Essentials" href="http://www.ivarjacobson.com/practices/use_case_essentials/" target="_blank"><span>Use Case Essentials</span></a><span> practice.<span> </span></span></p>
<p class="MsoNormal" style="text-align: center;line-height: normal" align="center"><span> </span><span> </span></p>
<p class="MsoNormal" style="line-height: normal"><span>Wat bij nadere bestudering opvalt is dat alle activiteiten en werkproducten geel van kleur zijn. Dit betekent dat ze allemaal binnen het <strong>Solution </strong>aandachtsgebied vallen. Waren ze groen geweest, dan zouden ze binnen het <strong>Customer</strong> aandachtsgebied zijn gevallen of het <strong>Endeavour</strong> aandachtsgebied wanneer ze blauw zouden zijn geweest. </span></p>
<div style="width: 1px; height: 1px; overflow: hidden;">In het kort is een Use Case Module een set van flows of delen van een use case die gezamenlijk door het ontwikkelproces gaan. Aan de linkerkant van de bovenstaande practice card staat een state machine of toestandsdiagram die de levenscyclus van een Use Case Module gedefinieerd. De figuur laat zien dat een Use Case Module vijf toestanden kent.<br />
Op Scoped moet duidelijk zijn welke use-case flows, special en supplementary requirements de use case module omvat.  Op Specification Agreed moet er overeenstemming zijn over de inhoud van de Use Case Module. Op Realized moet duidelijk zijn welke componenten op welke manier gaan samenwerken om tot een executeerbaar systeem te komen. Op Implemented moet de Use Case Module executeerbaar zijn. Tot slot moet op Verified de executeerbare Use Case Module voldoen aan de specificatie.<br />
De mogelijke toestanden van de Use Case Module maken inzichtelijk in welke volgorde de Use Case Module door het ontwikkelproces gaat. Of anders gezegd, op welke manier stapgewijs voortgang kan worden geboekt. Een onderwerp van een practice noemen we ook wel een Alpha. Alpha’s zijn die dingen die een softwareproject altijd heeft, ongeacht het type project of de aanpak. Practices geven als het ware invulling aan Alpha’s. Alpha hebben altijd verband naar planning en beheersing.Ze geven inzicht in waar je bent en welke activiteiten je moet uitvoeren om van de ene toestand naar de volgende toestand te komen. De status van werkproducten vormen hierbij dan de bewijslast waarmee kan worden aangetoond dat een bepaalde status is behaald.<br />
Samengevat geldt dat een goede practice ultiem één Alpha heeft waar alle werkproducten en activiteiten betrekking op hebben. Net zoals bij de aandachtsgebieden moet hier niet te rigide mee worden omgesprongen om een practice goed te kunenn laten werken.<br />
De bovenstaande overzichtskaart van de Use Case Essentials practice laat bijvoorbeeld meer Alpha’s zien dan alleen de Use Case Module Alpha. Er zijn er behalve de Use Case Module inderdaad nog een aantal: Opportunity, Requirements, Change, System, Defect, Test, Project, Risk en Task. Bijna al deze Alpa’s zijn afkomstig uit het model dat onder EssWork zit. Dit practice onafhankelijke model, of Kernel maakt het mogelijk om meerdere practices samen te smelten tot een consistent geheel. De Alpha’s zijn dus enerzijds toegevoegd om samenwerking met andere practices mogelijk te maken. Anderzijds kunnen practices op belangrijke plekken Alpha’s aanvullen met relevante informatie, in dit geval use case specifieke zaken. Zo is Change geïntroduceerd om grip te krijgen op wijzigingen. En is System aangevuld met essentiële content in de vorm van mogelijke Changes en één of meerdere Use Case Modules en het inzicht dat deze worden beschreven middels een use case model en supplementary requirements.<br />
Op dit punt aangekomen zijn de definities en de essentie van practices en een practice-gedreven aanpak en enkele kenmerken van goede practices besproken. Uiteraard valt er nog veel meer over te zeggen. Wanneer je meer wilt weten, bekijk dan bijvoorbeeld de video over Practice Execution of neem contact op via elcardozo@ivarjacobson.com</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.ivarjacobson.com/de-wereld-van-practices-wat-is-een-practice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Kernel Journals 7: SatNav for Software Development Projects</title>
		<link>http://blog.ivarjacobson.com/the-kernel-journals-7-satnav-for-software-development-projects/</link>
		<comments>http://blog.ivarjacobson.com/the-kernel-journals-7-satnav-for-software-development-projects/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 02:12:06 +0000</pubDate>
		<dc:creator>Roly Stimson</dc:creator>
				<category><![CDATA[Essential Practices]]></category>
		<category><![CDATA[Process Improvement]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[Alphas]]></category>
		<category><![CDATA[Barry Boehm]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[Practices]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[project milestones]]></category>
		<category><![CDATA[Rational Unified Process]]></category>
		<category><![CDATA[Unified Software Development Process]]></category>

		<guid isPermaLink="false">http://blog.ivarjacobson.com/?p=345</guid>
		<description><![CDATA[In the last Kernel Journal we looked at the problem that Barry Boehm was aiming to solve back in 1995 when he first proposed his three standard process milestones (which later gained industry prominence as the milestones in the Unified Software Development Process and the Rational Unified Process), namely that “the proliferation of software process [...]]]></description>
			<content:encoded><![CDATA[<p>In the last Kernel Journal we looked at the problem that Barry Boehm was aiming to solve back in 1995 when he first proposed his three standard process milestones (which later gained industry prominence as the milestones in the Unified Software Development Process and the Rational Unified Process), namely that “the proliferation of software process models provides flexibility”, but leaves us “with no common anchor points around which to plan and control.” [Barry Boehm, November 1995]. We looked at how a small set of domain entities with simple state progression models (which we call “Alphas”) can make these common anchor points much more practical and useful while ensuring that they remain process-neutral and do not become “document-driven”.</p>
<p>The alphas, when used with common milestones such as the Unified Process Milestones, can actually give us much more than this – they can provide a project status and health dashboard that can be used by the customer and supplier organizations to assess the current status and health of any / all projects, irrespective of which processes or practices they are following. The graphic below shows just such a dashboard, with a set of kernel alphas and a traffic-light status for each alpha, which is derived by comparing where the project is now (the state machine to the left of each traffic light) with where it needs to be to achieve the next project milestone (the state machine to the right of each traffic light).<img class="alignleft size-medium wp-image-352" title="Presentation2" src="http://blog.ivarjacobson.com/wp-content/uploads/2010/08/Presentation23-300x225.jpg" alt="The Kernel Journals 7: SatNav for Software Development Projects" width="300" height="225" /></p>
<p>In Kernel Journal 5: “Making the Invisible Visible” I described how we can easily “skin” a process kernel, by providing a portal for projects to capture, share and agree the essential project information that is needed to achieve each state progression (for example, using a set of templated Wiki pages). Once we have done this, we can make the alpha dashboard much more useful to the project teams themselves, by flagging which sections of the project portal need to be updated and agreed to get the project to where it needs to go next.</p>
<p>This gives us the equivalent of a Satellite Navigation System for our software projects project that enables us to:</p>
<ul>
<li>Set our journey destination and waypoints (milestones)</li>
<li>Track where we are now, compared to where we want to be</li>
<li>Get guidance on what to do next in order to progress towards our destination.</li>
</ul>
<h1><span style="font-size: small;"><span style="font-weight: normal;"><span style="font-size: xx-large;"><span><strong><br />
</strong></span></span></span></span></h1>
<p><strong> </strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ivarjacobson.com/the-kernel-journals-7-satnav-for-software-development-projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Kernel Journals 5: Making the Invisible, Visible</title>
		<link>http://blog.ivarjacobson.com/the-kernel-journals-5-making-the-invisible-visible/</link>
		<comments>http://blog.ivarjacobson.com/the-kernel-journals-5-making-the-invisible-visible/#comments</comments>
		<pubDate>Thu, 13 May 2010 12:21:23 +0000</pubDate>
		<dc:creator>Roly Stimson</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[Essential Practices]]></category>
		<category><![CDATA[Process Improvement]]></category>
		<category><![CDATA[Alphas]]></category>
		<category><![CDATA[process kernel]]></category>
		<category><![CDATA[Wiki]]></category>

		<guid isPermaLink="false">http://blog.ivarjacobson.com/?p=285</guid>
		<description><![CDATA[The kernel Alphas are the core, key, critical, central, essential conceptual entities that we need to manage and progress in a controlled way in order to ensure a successful outcome for our project. But, like all concepts, they have the distinct disadvantage of being invisible. A project manager is convinced that his project is important [...]]]></description>
			<content:encoded><![CDATA[<h1><span style="font-weight: normal; font-size: 13px;"><img class="alignleft size-full wp-image-287" title="432276_paper_ball" src="http://blog.ivarjacobson.com/wp-content/uploads/2010/05/432276_paper_ball.jpg" alt="The Kernel Journals 5: Making the Invisible, Visible" width="92" height="100" />The kernel Alphas are the core, key, critical, central, essential conceptual entities that we need to manage and progress in a controlled way in order to ensure a successful outcome for our project. But, like all concepts, they have the distinct disadvantage of being invisible. A project manager is convinced that his project is important and that managing its progression to a successful conclusion is critical. But if, as an outside assessor, I were to say “bring me this project of which you speak so that I may gaze upon it and assess its status” he would be stumped. He can show me plans, people, documents, but he can’t show me “the project”. These key concepts are the elephants in the room that no one can see because …  well , because they are invisible. To be useful, they need to be made visible and real, so normal people can interact with them.</span></h1>
<p><span id="more-285"></span>In our first blog I talked about how domain models can be used to simulate the execution of a business by adding attributes to them and slapping a few crude user-interface screens over them. And we can do exactly the same with the Alphas that are the domain entities in our software development process kernel. This has become known in my sad, process-geeky world as “skinning the kernel”.</p>
<p>A great way to get a quick-and dirty but fit-for-purpose “skin” in place is to use a Wiki: one Wiki page for each required view onto the alpha states and attributes. Wikis are useful because they solve many process problems in one:</p>
<ul>
<li>Where do we put      our key information as we gather it?</li>
<li>How do we      communicate the information to all our stakeholders?</li>
<li>How do we get      agreement and consensus?</li>
<li>How do we record      key agreements and decisions?</li>
</ul>
<p>We capture the key project information where people can see it, contribute to it, refine it and agree it.</p>
<p>To help projects focus on the key project information (the Alpha attributes) and to help them to capture it in a simple, structured, concise and consistent way we can provide a simple set of Wiki templates. (After all it’s better to have a template than to make each project start from scratch with a blank Wiki each time).</p>
<p>(<em>But wait</em>, o<em>h no, not templates!!  We’re not supposed to use templates, because we are recovering document template addicts. How are we going to we stop ourselves becoming addicted to this (admittedly small, lightweight and relatively harmless looking) set of templates? </em></p>
<p>Fortunately, we already have the antidote in place<em>. </em>Our templates can’t become ends in themselves, because we know that they are only a <em>means</em> to the end of progressing the states of our key Alphas. We can easily define who needs to assess which states and when (e.g. “the product owner needs to agree the target date and scope of the next release before we start incrementally developing the product release”). We then close the evidential loop by stating where the evidence is to be found:  “based on the information in the Wiki <em>Project</em> and <em>Requirements</em> pages. If the assessing party is happy that the progression has been achieved, based on the evidence they see, then the progression has been achieved (even if there is the odd spelling mistake on the Wiki!).</p>
<p>So now we have a simple way of executing our development project by capturing the information we need to progress our project in a controlled way to a successful conclusion. And, once again, this is more than just process theory. I have seen many projects use this approach to reduce their documentation overheads from dozens of documents totaling many hundreds of pages (which of course virtually no one ever read) to a dozen or so Wiki pages which told everyone exactly what they needed to know about the project and its status, when they needed to know it (including CMMI SCAMPI C appraisers in one case, as it happens).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ivarjacobson.com/the-kernel-journals-5-making-the-invisible-visible/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Navel gazing is not a bad thing</title>
		<link>http://blog.ivarjacobson.com/navel-gazing-is-not-a-bad-thin/</link>
		<comments>http://blog.ivarjacobson.com/navel-gazing-is-not-a-bad-thin/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 17:53:16 +0000</pubDate>
		<dc:creator>Pernilla Ramslov</dc:creator>
				<category><![CDATA[Essential Practices]]></category>
		<category><![CDATA[Process Improvement]]></category>

		<guid isPermaLink="false">http://blog.ivarjacobson.com/?p=259</guid>
		<description><![CDATA[I have met hundreds of organizations that are trying to improve their way-of-working. What I have found most interesting is that the vast majority of these organizations are looking for the solution outside of the company. They are either benchmarking with other similar organizations or running after the latest fashion in the industry. However the [...]]]></description>
			<content:encoded><![CDATA[<p><strong><span style="font-weight: normal;"><img class="alignleft size-thumbnail wp-image-264" title="66756_tummy_1" src="http://blog.ivarjacobson.com/wp-content/uploads/2010/04/66756_tummy_11-150x100.jpg" alt="Navel gazing is not a bad thing" width="150" height="100" />I have met hundreds of organizations that are trying to improve their way-of-working. What I have found most interesting is that the vast majority of these organizations are looking for the solution outside of the company. They are either benchmarking with other similar organizations or running after the latest fashion in the industry. However the perceived benefits are not always there and the answer is usually much closer than they know.</span></strong></p>
<p>Good industry standards are one thing, but many things that are good for a specific company are not necessarily transferable to another company with another background and culture.</p>
<p>In reality many solutions can be found inside the company. There are top-performers, top performing teams and projects in all companies and if we could repeat the good behavior from those individuals and teams, the organization could improve tremendously. However we need a structured way to capture that behavior so that it could be easily understood, distributed and reused; this is where using <em>Practices</em> makes perfect sense. Practices is a way to effectively describe the Essentials of Things to do, Things to Produce and the Competencies needed for a specific area of concern.</p>
<p>What good practices do you have in “your belly button”?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ivarjacobson.com/navel-gazing-is-not-a-bad-thin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reflecting on 2009</title>
		<link>http://blog.ivarjacobson.com/reflecting-on-2009/</link>
		<comments>http://blog.ivarjacobson.com/reflecting-on-2009/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 19:25:55 +0000</pubDate>
		<dc:creator>Dave Williamson</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[Essential Practices]]></category>
		<category><![CDATA[Process Improvement]]></category>
		<category><![CDATA[Business IT Gap]]></category>

		<guid isPermaLink="false">http://blog.ivarjacobson.com/?p=70</guid>
		<description><![CDATA[Our new ‘corporate’ blog has been launched and I think the timing couldn’t be more serendipitous.  As we come to the end of 2009, it is definitely a year that has caused quite a bit of reflection in the business and IT world. The world economic crisis forced many organizations to focus on the basics [...]]]></description>
			<content:encoded><![CDATA[<p>Our new ‘corporate’ blog has been launched and I think the timing couldn’t be more serendipitous.  As we come to the end of 2009, it is definitely a year that has caused quite a bit of reflection in the business and IT world. The world economic crisis forced many organizations to focus on the basics and ensure that core business was operating effectively and efficiently. Aligning IT to business became critical as every investment dollar was scrutinized. At IJI, one of the ways the business and technical teams align is by ensuring we’re communicating better as a team focused on a common set of objectives – the new blog is just one result of that strategy.<span id="more-70"></span></p>
<p>The misalignment between business and IT is an interesting conundrum that many businesses face today – regardless of industry or organizational size. Most experts believe that approximately 60 to 80 percent of the IT budget is allocated towards operations, spent on managing day-to-day activities. Nonetheless, according to industry surveys the majority of CIOs would prefer to spend much more of their IT budget on innovation. Trends such as sourcing and IT commoditization are the results of companies trying to divert a greater portion of the IT spend from the operational areas to the areas driving innovation and next generation IT solutions.</p>
<p>Most CIOs would much rather be recognized as a business strategist than as an operational guru. However, the reality is far from such ambitions.</p>
<p>How many times have we heard that IT does not deliver what the business requires?</p>
<p>We all know that this is not because IT doesn’t want to deliver what the business requires or that the business doesn’t want them to deliver; it is because there is a big gap between the two. The gap can be dependent on many things. And one of those is communication - including improper organizational lines of communication and lack of a common vocabulary.</p>
<p>According to the Gartner report “Gartner Perspective IT Spending 2010”, we will see some initial IT growth in 2010 with more growth to follow in 2011. Gartner states that “Leading the IT organization in 2010 requires a clear vision for melding technology, business process and financial management into a cohesive view of IT investments and priorities.” I couldn’t agree more and as we move into 2010, I hope to see more IT leaders becoming a driving force to business change and success.</p>
<p>Throughout 2010 I will continue to blog on this topic of aligning business and IT and I will be counting on the IJI technical subject matter experts and our leading consultants to weigh in on this topic and provide their knowledge of how successful organizations align software development to the real needs of the business.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ivarjacobson.com/reflecting-on-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

