Business Capability Maturity Level

Post Reply
melbpar1
Posts: 41
Joined: 19 Sep 2012, 06:18

I have extended the Business Capability class to include a new slot to capture the level of maturity of a capability in relation to an architecture state.
In doing so, I have created a new enumeration value that is referenced within the capability form.
It all works work within Protege but the viewer does not display the enumeration value. My code snippets below:

Code: Select all

<xsl:variable name="currentBusCap" select="$allBusinessCaps[name=$param1]"/>
	<xsl:variable name="currentBusCapName" select="$currentBusCap/own_slot_value[slot_reference='name']/value"/>
	<xsl:variable name="currentBusCapDescription" select="$currentBusCap/own_slot_value[slot_reference='description']/value"/>
	<xsl:variable name="capabilityMaturity" select="$currentBusCap/own_slot_value[slot_reference='business_capability_maturity_level']/value"/>
	<xsl:variable name="capabilityMaturityEnumValue" select="$capabilityMaturity/own_slot_value[slot_reference='enumeration_value']/value"/>




					<!--Setup Maturity Section-->
						<div id="sectionMaturity">
							<div class="sectionContainerFullWidth">
								<div class="sectionIcon" id="image_target"/>
								<div class="sectionHeader">
									<h1>Maturity Level</h1>
								</div>
								<div class="sectionBasicTextFullWidth">
									<xsl:choose>
										<xsl:when test="string-length($capabilityMaturity) = 0">
											<em>No maturity level captured for this Business Capability</em>
										</xsl:when>
										<xsl:otherwise>
											<xsl:value-of select="$capabilityMaturityEnumValue"/>
										</xsl:otherwise>
									</xsl:choose>
								</div>
							</div>
							<div class="sectionDividerHorizontal"/>
							<div class="clear"/>
						</div>
User avatar
neil.walsh
Posts: 444
Joined: 16 Feb 2009, 13:45
Contact:

Apologies for taking a while to get around to this - it dropped of the queue for some reason....

Can you post the entire xsl as an attachment as the snippet refers to parts of the view which I can't see.

I'm guessing this is added to an existing view - if so which one?

I suspect from your code the issue is to do with the fact your variable "capabilityMaturity" is getting an ID and is not a node therefore your next variable "capabilityMaturityEnumValue" is incorrectly trying to access the slots on a value (which don't exist) rather than a node.

The answer (probably) is perhaps something like

Code: Select all

<xsl:variable name="capabilityMaturityID" select="$currentBusCap/own_slot_value[slot_reference='business_capability_maturity_level']/value"/>

<xsl:variable name="capabilityMaturity" select="/node()/simple_instance[name=$capabilityMaturityID]"></xsl:variable>

<xsl:variable name="capabilityMaturityEnumValue" select="$capabilityMaturity/own_slot_value[slot_reference='enumeration_value']/value"/>
Obviously I can't guarantee this will work but it might give you a pointer.

Let us know how you get on

Neil
melbpar1
Posts: 41
Joined: 19 Sep 2012, 06:18

Thanks Neil. Your suggestion worked just fine. The business capability summary report now shows the maturity level.
I have an additional question which I am posting here as it relates to what I am trying to achieve.
What I intend to produce is a report that shows (for each capability at each architecture state) its level of maturity, a brief description of the characteristics of the maturity level and a description of the gap to achieve the target architecture state.
If I have defined 4 architecture states, the same capability could be contained in all 4 architecture states. Only, at each state, the maturity level, description of maturity characteristics and gap are likely to be different.
I have thought of two options:
OPTION 1: to create four variations (instances) of the same business capability. If so, are there any naming conventions you could suggest? If there are multiple variations, how would the report recognise that these relate to the same capability?

OPTION 2: create an instance per capability and define the variations as contained business capabilities. This would be less desirable as we already have a complex business capability model hierarchy and capabilities are likely to already have sub-capabilities in the hierarchy.

I really welcome your advice

Thanks
User avatar
neil.walsh
Posts: 444
Joined: 16 Feb 2009, 13:45
Contact:

Hi,

Just a quick note to let you know I've taken this question to the wider team to discuss the best approach we'll get back to you shortly.

Neither approach you've suggested seems ideal and we think we may have better options for you in terms of sustainability and maintenance of your repository.

We're just discussing some of the details and will report back soon.

Thanks

Neil

Essential Project Team
Post Reply