<?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>Sarquol Limited &#187; optimisation</title>
	<atom:link href="http://www.sarquol.com/tag/optimisation/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sarquol.com</link>
	<description>Sarquol solves messy IT problems</description>
	<lastBuildDate>Wed, 19 May 2010 11:51:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>A quick look at CMMi</title>
		<link>http://www.sarquol.com/devproc/improve/look-at-cmmi/</link>
		<comments>http://www.sarquol.com/devproc/improve/look-at-cmmi/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 18:30:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Process Improvement]]></category>
		<category><![CDATA[CMMi]]></category>
		<category><![CDATA[improved]]></category>
		<category><![CDATA[Improvement]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[optimisation]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[rocess]]></category>
		<category><![CDATA[Strategy]]></category>

		<guid isPermaLink="false">http://www.sarquol.com/?p=438</guid>
		<description><![CDATA[I was recently talking to a client was concerned about the development processes used within their organisation. This is a challenge that has been tackled by many organisations and one which the Software Engineering Institute looked at years ago and produced their Capability Maturity Model (CMM) to help with.  I stated that I would find [...]]]></description>
			<content:encoded><![CDATA[<p>I was recently talking to a client was concerned about the development processes used within their organisation. This is a challenge that has been tackled by many organisations and one which the Software Engineering Institute looked at years ago and produced their Capability Maturity Model (CMM) to help with.  I stated that I would find and send them a summary article to help. The challenge really started at that point.<span id="more-438"></span></p>
<p>The CMMi has been developed and integrated with other approaches and become the CMMi. This process has increased its apparent complexity, as well as its flexibility. The information on the SEI web site (<a title="SEI CMMi link" href="http://www.sei.cmu.edu/cmmi/" target="_blank">link</a>) has split into either detailed manuals of CMMi and presentations that primarily seem to say “Why you need to buy in our consultants…” The CMMi has been adopted by large players and so there is a strong consultancy market surrounding it, including training and appraisal of your organisational level. The manuals are reference material and not intended to be a thrilling read. The presentations do well at selling CMMi benefits but don’t offer much in the way of a “how to guide”.</p>
<p>The best links that I found to describe the CMMi to allow a quick “Is this for me assessment were:</p>
<p style="padding-left: 30px;">Tutorials point:</p>
<p style="padding-left: 60px;"><a title="Tutorials Point CMMi link" href="http://www.tutorialspoint.com/cmmi/cmmi-process-areas.htm" target="_blank">http://www.tutorialspoint.com/cmmi/cmmi-process-areas.htm</a></p>
<p style="padding-left: 30px;">Wikipedia:</p>
<p style="padding-left: 60px;"><a title="Wikipedia CMMi link" href="http://en.wikipedia.org/wiki/Process_area_(CMMI)" target="_blank">http://en.wikipedia.org/wiki/Process_area_(CMMI)</a></p>
<p>These sites provide an overview of CMMi at a level more suitable for someone who needs simply to understand the core nuggets of wisdom contained in the CMMi. The still are quite long though, so here is a quick summary of the summary…</p>
<p>CMMi is structured to allow consideration of how an organisation does things, for simplicity I will assume it is software development that is being performed. The CMMi assumes that the road to improvement means ending up with a standardised approach for doing this which can be measured, optimised and customised to the situation in a controlled fashion. It has this in common with many “Quality” processes including the international quality standards. It asserts that there 5 levels of maturity:</p>
<ul>
<li>Level 0 – Incomplete &#8211; We can get there, we’re sure we can. Not sure how though, and sometimes it don’t quite work right.</li>
<li>Level 1 – Performed – We can do it as long as it is about the same as the last time.</li>
<li>Level 2 – Managed – We can do it, and we can manage the process.</li>
<li>Level 3 – Defined – We can do it, and have a definition of <em>how</em>.</li>
<li>Level 4 &#8211; Quantitatively Managed – We can do it, and can provide numbers about how well. After all what you don’t measure you can’t manage!</li>
<li>Level 5 – Optimising – We can use the numbers as a basis for continual improvement of how well we do it.</li>
</ul>
<p>The idea of CMMi is to move up between the levels, and the way to do this is to develop various process areas in your organisation at each level. The areas form a structure, so it is very hard to fully benefit from a higher level process until the lower level ones have been addressed.</p>
<p>The processes organised by level are:</p>
<p>Level 2:</p>
<ul>
<li>Requirements Management</li>
<li>Project Planning</li>
<li>Project Monitoring and Control</li>
<li>Supplier Agreement Management</li>
<li>Measurement and Analysis</li>
<li>Process and Product Quality Assurance</li>
<li>Configuration Management</li>
</ul>
<p>Level 3:</p>
<ul>
<li>Requirements Development</li>
<li>Technical Solution</li>
<li>Product Integration</li>
<li>Verification</li>
<li>Validation</li>
<li>Organizational Process Focus</li>
<li>Organizational Process Definition</li>
<li>Organizational Training</li>
<li>Integrated Project Management</li>
<li>Risk Management</li>
<li>Decision Analysis and Resolution</li>
</ul>
<p>Level 4:</p>
<ul>
<li>Organizational Process Performance</li>
<li>Quantitative Project Management</li>
</ul>
<p>Level 5:</p>
<ul>
<li>Organizational Innovation and Deployment</li>
<li>Causal Analysis and Resolution</li>
</ul>
<p>It is likely that if you are having quality or delivery problems that by looking at these process areas in turn and considering whether you “Do that” you can start to gradually improve. The CMMi manuals have a lot to say that can support you, or you can start looking on Google etc. for ideas that might help you improve.  If you need help then seek outside help – it can be value for money. If you need to be certified to a certain level then the game is very different and outside input becomes a necessity.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.sarquol.com%2Fdevproc%2Fimprove%2Flook-at-cmmi%2F&amp;linkname=A%20quick%20look%20at%20CMMi"><img src="http://www.sarquol.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.sarquol.com/devproc/improve/look-at-cmmi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Performance and cost of ownership</title>
		<link>http://www.sarquol.com/perf/mgt/cost-of-ownership/</link>
		<comments>http://www.sarquol.com/perf/mgt/cost-of-ownership/#comments</comments>
		<pubDate>Tue, 15 Jan 2008 09:18:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Performance Management]]></category>
		<category><![CDATA[capacity]]></category>
		<category><![CDATA[cost]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[money]]></category>
		<category><![CDATA[optimisation]]></category>
		<category><![CDATA[ownership]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://www.sarquol.com/?p=242</guid>
		<description><![CDATA[What is the relationship between the performance of a system and its cost of ownership? This isn’t the start of a bad joke, but a question that I have needed to consider in detail recently. The question is more involved than it may seem initially, because of the factors that are implicit in the necessary [...]]]></description>
			<content:encoded><![CDATA[<p>What is the relationship between the performance of a system and its cost of ownership? This isn’t the start of a bad joke, but a question that I have needed to consider in detail recently. The question is more involved than it may seem initially, because of the factors that are implicit in the necessary analysis:<span id="more-242"></span></p>
<ul>
<li>The most obvious approach to assure performance is to have sufficient capacity from day 1 to allow the system to perform in the long term. This means that you don’t, in theory, need to monitor the system carefully. The problem is that you then buy considerable capacity up front – which may be an expensive approach given the falling cost of hardware and the reducing time value of money. This approach is also liable to involve extensive up-front testing, which further extends any project pay back period.</li>
<li>The other extreme is to have hardware, software and procedures in place to only install capacity on a “just in time” basis. This means that you only invest in capacity when it is strictly necessary. In turn that means there is more spend in monitoring, projection and control. It also leaves a question over the objectives during volume and performance testing, and exposes the organisation to a level of additional risk.</li>
<li>There is an intermediate point where capacity is installed that is believed sufficient to cover a period (such as a year). This is coupled with an end of period review process that examines a need for extra capacity in time for the end of the period. This needs monitoring and projection, coupled with some purchase of excess capacity.</li>
</ul>
<p>Thus the answer to the original question depends on the strategy adopted for capacity management. Unfortunately, the most appropriate strategy inherently depends on the individual situation. If the cost of the hardware needed in the long term is low then up front installation of the projected capacity requirement makes sense. If the organisation already has the necessary tools and procedures to meet just in time capacity management then that would make sense. What is most critical, however, is that this is a management decision made with a through understanding of the considerations and implications.</p>
<p>If you would like advice, or to discuss how to decide on the most appropriate approach in your circumstances, then please feel free to contact me at <a href="mailto:dh@sarquol.com?subject=Bulletin:%20Help...">dh@sarquol.com</a>, or call on +44 7887 536083.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.sarquol.com%2Fperf%2Fmgt%2Fcost-of-ownership%2F&amp;linkname=Performance%20and%20cost%20of%20ownership"><img src="http://www.sarquol.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.sarquol.com/perf/mgt/cost-of-ownership/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Business volumes and performance modelling</title>
		<link>http://www.sarquol.com/perf/model/vol-and-model/</link>
		<comments>http://www.sarquol.com/perf/model/vol-and-model/#comments</comments>
		<pubDate>Mon, 31 Jul 2006 23:00:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Performance Modelling]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[capacity]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[modelling]]></category>
		<category><![CDATA[optimisation]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[volume]]></category>
		<category><![CDATA[volumetrics]]></category>

		<guid isPermaLink="false">http://www.sarquol.com/?p=15</guid>
		<description><![CDATA[How do you get volumentrics from the business for performance modelling? You have the following choices at this point: a) educate them in the modelling you are doing and the format you need the numbers in, or b) take the numbers they have provided and reproduce them from your modelling. This article discusses approaching the second option.]]></description>
			<content:encoded><![CDATA[<p>Let us assume that you have started a piece of performance modelling. You have chosen a set of key transactions, or better still have been told what is most important by the business. You may have an idea of the performance levels that the business need (more on this another time), and you start working with the business to work out the volumes that they are expecting to put through the system. To do the appropriate performance modelling you will need to define the behaviour of a “typical user” and then scale this up to produce a total behaviour profile for all users. It is unfortunate that you are unlikely to receive figures that can be used directly from your business users. You have the following choices at this point: a) educate them in the modelling you are doing and the format you need the numbers in, or b) take the numbers they have provided and reproduce them from your modelling.<span id="more-15"></span></p>
<p>If you take the first path then good luck to you, and I would be very interested in knowing how it turns out for you. The issue is that a business user, and in fact most technical people, just do not wish to work with an “average” user and then work out variations. A business is structure as departments with functions. If the business has measurements at all, and thankfully most do, it will be in terms of departmental sizes and throughputs. There are also likely to monitor the volume<br />
of business that is done, and if you are lucky have documented processes for how this business is performed. Thankfully the tools needed to convert these figures into what you need are already built into a <a title="Link to a free generic performance model" href="http://www.sarquol.com/documents/Generic-Performance-Model-v-1.zip">performance model</a>. The following discussion, therefore, assume that what you will have been given is user levels and business volume projections./p&gt;</p>
<ol>
<li>Start with the year-on-year departmental sizes, with each department modelled as one or more sections. If you only have past figures then provide a simple basis for projecting this forward.</li>
<li>Fill in the likely levels of variation in system usage, based on either you own knowledge or on discussion with people who know the likely behaviour of the business.</li>
<li>Fill in the data volumes generated by the different functions, and there needs to be a relationship between the data or function volumes and the figures supplied by the business.</li>
<li>Once the model calculates, this will provide a projection of the numbers of functions and items of data that will be produced year-on-year. Compare this to the volumes that you have been provided by the business. If there is an approximate correlation then adjust the figures to improve the match and use this as the behaviour profile.</li>
<li>If there is a large mismatch then you may have a misunderstanding about the figures that you have been provided with, or it is possible the business estimates need refinement. This will need to be discussed with the people who own the business figures. The process can in itself add value for the business. If they are trying to do levels of business that there people and business processes can’t support then this may manifest as complaints about system performance. (“I can’t meet my targets because the system is too slow.” may actually be “I can’t meet my targets because they are unrealistic.”)</li>
</ol>
<p>The process of generating performance model figures from business or systems figures is one of approximation. The target is not a precise and accurate model, but one which is of the correct order and believable. The idea with this sort of modelling is to 1% accuracy, but order of magnitude estimation. If you need help in starting a performance modelling exercise then call me on +44 (0)7887 53608, or <a title="Link to email Sarquol to obtain help" href="mailto:dh@sarquol.com?subject=Bulletin:%20Help%20needed">e-mail me</a>. I will be happy to have a talk about the most appropriate approach for finding a usable set of figures, and the levels of accuracy needed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sarquol.com/perf/model/vol-and-model/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The case for predicting the future</title>
		<link>http://www.sarquol.com/perf/model/modelling-case/</link>
		<comments>http://www.sarquol.com/perf/model/modelling-case/#comments</comments>
		<pubDate>Fri, 07 Jul 2006 15:34:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Performance Modelling]]></category>
		<category><![CDATA[cost]]></category>
		<category><![CDATA[future]]></category>
		<category><![CDATA[modelling]]></category>
		<category><![CDATA[optimisation]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[prediction]]></category>

		<guid isPermaLink="false">http://www.sarquol.com/?p=74</guid>
		<description><![CDATA[A new computer system goes into production and starts with a pilot. A set of load testing is done to make sure that the live user levels can be supported, with some problems. These problems are resolved and maybe some extra hardware purchased to ensure performance at live volumes is acceptable, and then a full [...]]]></description>
			<content:encoded><![CDATA[<p>A new computer system goes into production and starts with a pilot. A set of load testing is done to make sure that the live user levels can be supported, with some problems. These problems are resolved and maybe some extra hardware purchased to ensure performance at live volumes is acceptable, and then a full roll out is started. The project team are on site for the first few weeks, and resolve the problems that are experienced initially. The system is handed over to support along with a development team member and then the project team is disbanded. The support team are left to complete the roll out process, and the development team member moves on after a while.<span id="more-74"></span></p>
<p>This is a model for a new system implementation that is played out, with a few variations, for the majority of new system implementations. I have left out the blood, sweat and tears part of the story for brevity. I have also left out the successful implementation memos and party. I have left this part out because I would suggest that whether the implementation was successful won’t really be known for quite a while.</p>
<p>The rest of the life of the system will generally be complex, and involve change requests, and support calls. From a performance perspective, however, it is all too common for a system to get gradually, or dramatically, slower during its lifetime. Initially this may not be noticeable, but by a year or two into a system’s lifetime complaints start that the system is slowing down to the point that it is impacting the business. The way that the initial project performed, approached and managed the system’s performance and the monitoring and management techniques used dictate how likely this scenario is.</p>
<p>In the “<a href="../documents/Principles%20of%20Capacity%20Management.pdf">Principles of Capacity Management</a>” document I have indicated that the expected volumes of usage will need to be examined over time. As systems are used they will tend to grow both in data volume and levels of usage. This means that a system’s capacity requirements will expand over time, as will the stress on the underlying algorithms of the system. I will skip an outline of the Order of algorithms (<a title="Link to send an email to request information on algorithm order" href="mailto:request@sarquol.com?subject=Bulletin:%20Algorithm%20order">e-mail us</a> if you would like this included in a future bulletin), but depending on the way the system is produced this additional volume can cause complete failure. To avoid this it is important to make sure that the likely levels of future usage and data volume are estimated and built into the performance testing. Thus separate “Volume Tests” are needed to check that the system can cope with the predicted data levels for the future.</p>
<p>The “<a title="Link to a free generic performance model" href="../documents/Generic-Performance-Model-v-1.zip">Generic Performance Model</a>” supports the analysis of a 10 year time window. In the case of a new system, therefore, this can be used to project the likely performance over a 10 year lifetime. In the case of an existing system it is probably more effective to model between 2 and 3 years of past and current behaviour, with the remainder extending into the future. This model uses as its inputs the expected number of users per year and their behaviour profile. From the changes in volume figures it is then possible to calibrate the model so as to estimate the increase in resource utilisation over time. To this is added the expected architecture in order to estimate the likely response times from the system.</p>
<p>If you need help in working out how to approach analysing the likely future performance then <a title="Link to email Sarquol to obtain performance help" href="mailto:dh@sarquol.com?subject=Bulletin:%20Help%20needed">e-mail me</a> or phone me on +44 (0)7887 536083. It can be difficult at first to understand how best to approach this sort of modelling and the approaches needed to calibrate and validate the modelling. The long term benefits of this approach, however, are substantial and so well worth the initial effort.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.sarquol.com%2Fperf%2Fmodel%2Fmodelling-case%2F&amp;linkname=The%20case%20for%20predicting%20the%20future"><img src="http://www.sarquol.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.sarquol.com/perf/model/modelling-case/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How much should be spent on ensuring system performance?</title>
		<link>http://www.sarquol.com/perf/testing-perf/project-optimisation/</link>
		<comments>http://www.sarquol.com/perf/testing-perf/project-optimisation/#comments</comments>
		<pubDate>Sun, 07 May 2006 14:48:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Performance Testing]]></category>
		<category><![CDATA[assurance]]></category>
		<category><![CDATA[cost]]></category>
		<category><![CDATA[delay]]></category>
		<category><![CDATA[it]]></category>
		<category><![CDATA[optimisation]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[system]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://www.sarquol.com/?p=44</guid>
		<description><![CDATA[he level of performance proof required of projects can fall on both sides of an optimal “cost – benefit” line for a system. Spend sufficient to offset the cost of risk that a system carries if the performance is insufficient in the long term. Remember that it is likely to be much more expensive to solve a performance problem a number of years after initial delivery than when the project is in full flow. The degree of performance proof required, however, should be kept proportional to the level of risk in the system failing to perform well.]]></description>
			<content:encoded><![CDATA[<p>The level of performance proof required of projects can fall on both sides of an optimal “cost – benefit” line for a system. If a project spends too little effort on proving performance then the result will be problems and complaints in production. If a project has overly stringent performance criteria, the result will be high costs and long delivery delays for the project.<span id="more-44"></span></p>
<p>The key to deciding is to consider the level of risk that performance problems will pose to the business. There seem to be relatively few organisations that use a blend of testing and future projection based on a risk-driven approach. It is this approach that is going to produce the most cost effective projects, since the degree of testing and proof provided will reflect the business risk that is inherent in the system. Spend sufficient to offset the cost of risk that a system carries if the performance is insufficient in the long term. Remember that it is likely to be much more expensive to solve a performance problem a number of years after initial delivery than when the project is in full flow. However important the initial delivery may be, a project is not complete until it has been proven to be capable of being operational for the long term.</p>
<p>Suggestion:</p>
<p>Use a simple set of standard criteria for a project representing “average” performance risk for the business:</p>
<ol>
<li>A soak test to prove that the system will run for an extended period, say 12 hours, at average loading without performance degradation.</li>
<li>A load test to demonstrate that the system can process peak demand volumes for a predefined period, such as an hour, without degrading.</li>
<li>A volume test, to prove that the system can operate with production volumes at a defined point in the future – say 2 years hence.</li>
<li>Within any performance tests use a small set of key business functions to test that the system performs adequately.</li>
</ol>
<p>If the risk related to poor system performance, or failure, is especially high then these performance criteria would be made more stringent. The degree of performance proof required, however, should be kept proportional to the level of risk in the system failing to perform well. If the system was business critical, for example, it may be considered appropriate to require that the system be run using a much wider set of business functions, for 72 hours continuously, and at 5 times the expected peak volumes for the system for the next 20 years. Unsurprisingly, as the proof requirements become more stringent the cost and time needed to prove them will increase significantly.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sarquol.com/perf/testing-perf/project-optimisation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
