<?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; prediction</title>
	<atom:link href="http://www.sarquol.com/tag/prediction/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>Future Scenarios in Architecture…</title>
		<link>http://www.sarquol.com/strat/implement/future-scenarios/</link>
		<comments>http://www.sarquol.com/strat/implement/future-scenarios/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 18:00:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Implementation]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[environment]]></category>
		<category><![CDATA[future]]></category>
		<category><![CDATA[governance]]></category>
		<category><![CDATA[improved]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[match]]></category>
		<category><![CDATA[prediction]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[scenario]]></category>
		<category><![CDATA[scenarios]]></category>
		<category><![CDATA[Strategy]]></category>

		<guid isPermaLink="false">http://www.sarquol.com/?p=487</guid>
		<description><![CDATA[I recently needed to consider the state of a System Architecture and consider the changes likely to be needed over time. Thus, I was trying to produce a “Roadmap” for the architecture into the future. The challenge was that the future is uncertain. Some items can be planned for, and others are dependent on the [...]]]></description>
			<content:encoded><![CDATA[<p>I recently needed to consider the state of a System Architecture and consider the changes likely to be needed over time. Thus, I was trying to produce a “Roadmap” for the architecture into the future. The challenge was that the future is uncertain. Some items can be planned for, and others are dependent on the way the business and technological environments develop. These developments can be considered to be the product of various “forces” playing out in the environment of the system. How then can you address this complexity? <span id="more-487"></span></p>
<p>The field of business strategy has looked at this issue of an uncertain future and come up with a number of approaches for managing considering it. One of these is called “Scenario Planning”, and basically consists of building a set of different future scenarios which are considered plausible. They are not attempts at predicting the future, only of painting plausible futures. It is then possible to consider how these scenarios may play out according to the decisions you are taking now. This allows a form of sensitivity analysis on the decisions that you are making.</p>
<p>A process for approaching this would be to:</p>
<p>1. State the architecture decisions that need to be made.</p>
<p>2. Identify the major environmental forces that impact on the architecture.</p>
<p>3. Build four scenarios based on the principal forces.</p>
<p>4. With the scenarios in hand, identify architecture opportunities within each scenario.</p>
<p>5. Examine the implications of the decisions across the range of scenarios.</p>
<p>As an example, lets assume that you need to decide between two architecture design patterns, A and B. For the example “A” provides a highly resilient and fault tolerant solution but involves significant additional hardware, operational administration and development costs over “B”. The decision that needs to be made is whether the extra capability of “A” is justified. If this is a new system then it may not initially require large processing volumes, and may be able to accept a system outage. The scenarios, however, could be used to examine under what circumstances the additional capability would be justified. If the system catches on, for example, how long might it take for the system to become business critical? Would you have time to re-engineer it? This may lead you to decide the additional capability is justified now, or would allow you to understand what changes in the environment might lead to the additional capability being needed.</p>
<p>In terms of the Architecture Roadmap then, the Scenarios developed and decisions taken may then be included in the roadmap. With this in mind a <em>Planning Scenario</em> is chosen. This defines the assumption set on which the roadmap has been built. In doing so, however, the other scenarios are not discounted but used as alternatives to which to architecture should be resilient. Where the architecture isn’t resilient to a scenario, then the roadmap will be able to indicate symptoms that will indicate that the architecture needs to be revisited. These then become business risks that must be managed based on the selected architecture.</p>
<p>All of this seems relatively complicated, so why bother? The answer is that architecture decisions are taken on a regular basis under the in the knowledge that the requirements of the system are known and understood. This may be true of the explicit requirements elicited from users, but these are based on assumptions about the future. In reality the future is generally much more surprising than we would like to believe, and so taking the time to consider what this might mean for the decisions you are taking can be worthwhile. An exercise like this can be considered surprisingly quickly, and may significantly help decision making.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.sarquol.com%2Fstrat%2Fimplement%2Ffuture-scenarios%2F&amp;linkname=Future%20Scenarios%20in%20Architecture%E2%80%A6"><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/strat/implement/future-scenarios/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Validating a performance model</title>
		<link>http://www.sarquol.com/perf/model/validating/</link>
		<comments>http://www.sarquol.com/perf/model/validating/#comments</comments>
		<pubDate>Sat, 07 Oct 2006 16:11:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Performance Modelling]]></category>
		<category><![CDATA[assurance]]></category>
		<category><![CDATA[future]]></category>
		<category><![CDATA[investigation]]></category>
		<category><![CDATA[it]]></category>
		<category><![CDATA[monitor]]></category>
		<category><![CDATA[operational]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[practical]]></category>
		<category><![CDATA[prediction]]></category>
		<category><![CDATA[results]]></category>
		<category><![CDATA[tolerance]]></category>
		<category><![CDATA[validating]]></category>

		<guid isPermaLink="false">http://www.sarquol.com/?p=115</guid>
		<description><![CDATA[A performance model will be full of assumptions and estimates, and yet it is necessary to make important design decisions and capacity choices based on its predictions. This means that it will be necessary to check that it is correct, known as validating the model. The most valuable way to validate a performance model is [...]]]></description>
			<content:encoded><![CDATA[<p>A performance model will be full of assumptions and estimates, and yet it is necessary to make important design decisions and capacity choices based on its predictions. This means that it will be necessary to check that it is correct, known as validating the model.<span id="more-115"></span></p>
<p>The most valuable way to validate a performance model is to monitor a production environment and then to check that all of the predictions of the model are reflected by the production system within a reasonable tolerance. This allows all of the assumptions and mathematics to be checked in a single stage. The practice should be a matter of routine after the implementation of systems, and acts as an important operational performance assurance activity.</p>
<p>In the time before the initial implementation, however, it is only practical to check the technical aspects of the model using a set of performance tests. Thus, it is possible to test using a defined level of user load, and to make sure that the predictions of the model match the performance profile experienced to within an acceptable tolerance. If not, the reason for the differential needs to be investigated and resolved. It will usually be necessary to run a series of tests until the model’s accuracy is sufficient for the model’s use.</p>
<p>It is important to stress, however, that this form of validation still leaves a significant level of uncertainty about the level of demand to be placed on the system. It is worthwhile, therefore, using the model to predict the likely performance under a range of demand-profile assumptions. At least the impact of the level of unknown for the demand can then be investigated.</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%2Fvalidating%2F&amp;linkname=Validating%20a%20performance%20model"><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/validating/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>
	</channel>
</rss>
