<?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; user</title>
	<atom:link href="http://www.sarquol.com/tag/user/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>Assurance and turn-around</title>
		<link>http://www.sarquol.com/devproc/prjmgt/assurance/</link>
		<comments>http://www.sarquol.com/devproc/prjmgt/assurance/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 13:39:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Project Management]]></category>
		<category><![CDATA[assurance]]></category>
		<category><![CDATA[executive]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[PRINCE2]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[senior]]></category>
		<category><![CDATA[solution]]></category>
		<category><![CDATA[supplier]]></category>
		<category><![CDATA[turn]]></category>
		<category><![CDATA[turn around]]></category>
		<category><![CDATA[turnaround]]></category>
		<category><![CDATA[user]]></category>

		<guid isPermaLink="false">http://www.sarquol.com/?p=390</guid>
		<description><![CDATA[I was recently asked to comment on the concepts of project assurance, solution assurance and turnoaround. The following is a summary of my response. Project Assurance is, as the name suggests, assurance of the way that the project is being run. Relevant experience is around project management rather than the implementation solution space. The concept [...]]]></description>
			<content:encoded><![CDATA[<p>I was recently asked to comment on the concepts of project assurance, solution assurance and turnoaround. The following is a summary of my response.<span id="more-390"></span></p>
<p>Project Assurance is, as the name suggests, assurance of the way that the project is being run. Relevant experience is around project management rather than the implementation solution space. The concept od Solution Assurance is more related to confirming that solution being delivered will be fit for purpose once in place. In PRINCE2 terms the project assurance role will be most closely aligned to the project executive, whereas the the Solution Assurance will be aligned with the senior suplier. (Arguably the senior user could also be looking to take on solution assurance, but in PRINCE terms it would be the senior supplier.)</p>
<p>The idea of a turnaround specialist would be slightly different again. To require &#8220;turnaround&#8221; there must be an identified issue to address. The assurance role is required whether or not there is a problem, and its presence would hopefully avoid problems. The turnaround specialists task is more one of a troubleshooter &#8211; identifying the symptoms, analysing the cause and leading the solution. This might be in Project or Solution terms.</p>
<p>Let me provide some examples:</p>
<ul>
<li>In my last role I was employed as a Solutions Architect, and my primary focus was on assuring that the solution to be delivered met its functional and non-functional requirements. The skills I employed for this were primarily technical, and example questions were around whether the particular solution would fully deliver the functional and non-functional requirements.</li>
<li>At the same time I also performed a level of project assurance for the programme manager for projects I was less directly involved in. In this case the experience I was drawing on was one of a project manager with years of delivering solutions under my belt. The examples of questions I was asking here were around the potential issues to do with processes being used for risk and issue management and whether they were appropriate.</li>
<li>In a turnaround role I would employ analysis based on *both* of the other assurance roles, but would go further to address an identified issue. I would use my own creative skills to provide potential approaches, and would use an engagement approach that would get buy-in and participation from the delivery team. I would then propose an exception plan, in PRINCE terms, in conjunction with the project or programme manager. The skills being used are more active and leadership based.</li>
</ul>
<p>In the description above I have assumed a project/programme context for turenaround. The approach, however, is as likely to be applied in an operational setting, and in this case the set of techniques will differ somewhat. The result of business level turnaround application is likely to be one or more change programmes.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.sarquol.com%2Fdevproc%2Fprjmgt%2Fassurance%2F&amp;linkname=Assurance%20and%20turn-around"><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/prjmgt/assurance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Example: Defining users and locations</title>
		<link>http://www.sarquol.com/perf/model/example-users-and-locations/</link>
		<comments>http://www.sarquol.com/perf/model/example-users-and-locations/#comments</comments>
		<pubDate>Sat, 16 Feb 2008 09:34:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Performance Modelling]]></category>
		<category><![CDATA[definition]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[location]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[section]]></category>
		<category><![CDATA[type]]></category>
		<category><![CDATA[user]]></category>

		<guid isPermaLink="false">http://www.sarquol.com/?p=294</guid>
		<description><![CDATA[Location definition For the purpose of this example the primary locations to be modelled will be the UK, New York, Europe and the primary and secondary data centres. These locations have been chosen to illustrate the use of different usage patterns across time zones, as well as to allow the effect of adding disaster recovery [...]]]></description>
			<content:encoded><![CDATA[<div class='series_toc'><h3>Table of contents for Performance Model Example</h3><ol><li><a href='http://www.sarquol.com/perf/model/example-intro/' title='Performance Model Example'>Performance Model Example</a></li><li><a href='http://www.sarquol.com/perf/model/example-function-def/' title='Example: Function definition'>Example: Function definition</a></li><li>Example: Defining users and locations</li><li><a href='http://www.sarquol.com/perf/model/example-usage-definition/' title='Example: Usage Definition'>Example: Usage Definition</a></li><li><a href='http://www.sarquol.com/perf/model/example-user-demand/' title='Example: User demand estimation'>Example: User demand estimation</a></li></ol></div> <h2>Location definition</h2>
<div class="mceTemp">For the purpose of this example the primary locations to be modelled will be the UK, New York, Europe and the primary and secondary data centres. These locations have been chosen to illustrate the use of different usage patterns across time zones, as well as to allow the effect of adding disaster recovery planning to be considered. For later use each of the locations also has a network node defined. In this case the nodes have simply been numbered sequentially for each of the locations. This will be discussed in more detail later.<span id="more-294"></span></div>
<div class="mceTemp">
<div id="attachment_304" class="wp-caption alignnone" style="width: 160px"><a href="http://www.sarquol.com/wp-content/uploads/2009/09/Location-Specification1.gif"><img class="size-thumbnail wp-image-304" title="Location Specification" src="http://www.sarquol.com/wp-content/uploads/2009/09/Location-Specification1-150x150.gif" alt="Specification of the locations within the model" width="150" height="150" /></a><p class="wp-caption-text">Specification of the locations within the model</p></div>
</div>
<h2>
<div class="mceTemp">Behaviour type definition</div>
</h2>
<p>The next set of information to define is the behaviour types to be used in the model. In this case the main behaviour types being modelled are: Retail Banking, Corporate Users and Corporate Managers. To this are added behaviour types for the email processor and standing order processor, which will be used to model the batch processing within the system.</p>
<div id="attachment_299" class="wp-caption alignnone" style="width: 160px"><a href="http://www.sarquol.com/wp-content/uploads/2009/09/Behaviour-type-specificatio.gif"><img class="size-thumbnail wp-image-299" title="Behaviour Type Specification" src="http://www.sarquol.com/wp-content/uploads/2009/09/Behaviour-type-specificatio-150x150.gif" alt="Specification of the behaviour type within the spreadsheet" width="150" height="150" /></a><p class="wp-caption-text">Specification of the behaviour type within the spreadsheet</p></div>
<h2> User Section Definition</h2>
<p>Now the sets of users themselves can be defined to link locations and behaviour types. Thus, there would be corporate banking users and managers in the UK, New York and Europe. For this example, Retail baking users are only to be found in the UK, whereas the batch processors are located in the primary data centre. This is defined within the “User Section” sheet, which literally defines the different sections of users by their behaviour type and location giving each a representative name.</p>
<div id="attachment_307" class="wp-caption alignnone" style="width: 160px"><a href="http://www.sarquol.com/wp-content/uploads/2009/09/user-section-specification.gif"><img class="size-thumbnail wp-image-307" title="User section specification" src="http://www.sarquol.com/wp-content/uploads/2009/09/user-section-specification-150x150.gif" alt="Specification of the user structure within the model" width="150" height="150" /></a><p class="wp-caption-text">Specification of the user structure within the model</p></div>
 <div class='series_links'><a href='http://www.sarquol.com/perf/model/example-function-def/' title='Example: Function definition'>Previous in series</a> <a href='http://www.sarquol.com/perf/model/example-usage-definition/' title='Example: Usage Definition'>Next in series</a></div><p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.sarquol.com%2Fperf%2Fmodel%2Fexample-users-and-locations%2F&amp;linkname=Example%3A%20Defining%20users%20and%20locations"><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/example-users-and-locations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Do your users think?</title>
		<link>http://www.sarquol.com/perf/testing-perf/think-time/</link>
		<comments>http://www.sarquol.com/perf/testing-perf/think-time/#comments</comments>
		<pubDate>Fri, 15 Feb 2008 09:24:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Performance Testing]]></category>
		<category><![CDATA[capacity]]></category>
		<category><![CDATA[condition]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[modelling]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[Performance Troubleshooting]]></category>
		<category><![CDATA[playback]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[record]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[think]]></category>
		<category><![CDATA[time]]></category>
		<category><![CDATA[tool]]></category>
		<category><![CDATA[user]]></category>

		<guid isPermaLink="false">http://www.sarquol.com/?p=248</guid>
		<description><![CDATA[When designing a set of performance tests it is necessary to consider pauses between user interactions. This is usually referred to as “think time”, and represents the time between the system presenting the results of an action and the next action being taken. If a load test script doesn’t include any think time at all [...]]]></description>
			<content:encoded><![CDATA[<p>When designing a set of performance tests it is necessary to consider pauses between user interactions. This is usually referred to as “think time”, and represents the time between the system presenting the results of an action and the next action being taken. If a load test script doesn’t include any think time at all then the system will be bombarded with requests at a rate that isn’t humanly possible. Depending on the system there are likely to be between 10 and 100 times the interactions generated with zero think time than with realistic scenarios.<span id="more-248"></span></p>
<p>When creating test scripts via “record and playback”, however, the tool will usually record page delays and play them back during the script run – and so the problem is solved. Isn’t it?</p>
<p>There are two issues that must be considered here. The first follows on naturally from the comment above: If the recorded wait time is not realistic then the resultant loading will not be realistic, and so the test will be better but still not correct. This could be fixed by simply using a user who is likely to have realistic waits – assuming you can identify such a user and make them available for the testing. I can be surprising just how long real users do spend on think time.</p>
<p>The next issue is more important, and harder to understand. For illustration let us assume we have 10 users with a 5s think time. Let us further assume that requests usually take 0.1s to process, and that simulated users are started 0.5s apart. In normal operation these requests will never coincide. This could be an issue in itself, but this isn’t the worst of it.</p>
<p>Let us now presume there is a problem &#8211; a temporary server issue would be sufficient – that causes all of the responses to arrive back at the client at the same time. It does happen in load testing for various reasons. Now all of the scripts will wait 5s and send the next requests <strong><em>at</em></strong> <strong><em>exactly the same</em></strong><em> <strong>time</strong></em>. The message loading on the server suddenly goes up dramatically, and is likely to continue in this pattern for some time. The result is that the system doesn’t seem to be able to cope with even 10 users in realistic conditions.</p>
<p>The solution is to introduce a level of randomisation in think time delays. It is then possible to introduce an appropriate statistical think time profile &#8211; and to break up bursts. The cost is extra test script development time, but the benefit is much more realistic testing.</p>
<p>If you would like advice, or to discuss how to decide on the most appropriate way to set up load testing 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%2Ftesting-perf%2Fthink-time%2F&amp;linkname=Do%20your%20users%20think%3F"><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/testing-perf/think-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Monitoring all user interactions</title>
		<link>http://www.sarquol.com/perf/capman/vantage/</link>
		<comments>http://www.sarquol.com/perf/capman/vantage/#comments</comments>
		<pubDate>Wed, 14 Feb 2007 15:54:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Capacity Management]]></category>
		<category><![CDATA[capacity]]></category>
		<category><![CDATA[compuware]]></category>
		<category><![CDATA[interaction]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[monitor]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[system]]></category>
		<category><![CDATA[user]]></category>
		<category><![CDATA[vantage]]></category>
		<category><![CDATA[volume]]></category>
		<category><![CDATA[volumetrics]]></category>

		<guid isPermaLink="false">http://www.sarquol.com/?p=183</guid>
		<description><![CDATA[ Last year (in this article) I asserted that monitoring of all user operations on an on-going basis was highly valuable. At the time I was not aware of any automated tools to do this task, meaning that solutions would need to be implemented on a per-application basis. In the worst case, this could mean laboriously [...]]]></description>
			<content:encoded><![CDATA[<p> Last year (in <a title="Previous user monitoring article" href="http://www.sarquol.com/perf/model/know-about-users/" target="_blank">this article</a>) I asserted that monitoring of all user operations on an on-going basis was highly valuable. At the time I was not aware of any automated tools to do this task, meaning that solutions would need to be implemented on a per-application basis. In the worst case, this could mean laboriously adding logging statements into application code and then providing analysis mechanism to extract meaningful information from this logging.<span id="more-183"></span></p>
<p>There have been tools available to inject traffic into a system and monitor that data for a while. There have also been tools available to allow such monitoring on a one-off basis when a problem is known or suspected. This doesn’t, however, really go far enough in overall system monitoring since both approaches would usually be used retrospectively. It would seem, however, that the tool manufacturers have started to fill this gap in the performance monitoring market.</p>
<p>The Compuware “Vantage” toolset is a good example of this class of tool. This suite has included a strong range of monitoring, investigation and analysis tools so some time. They have now added a “passive monitoring” facility that starts to meet the requirement to be able to monitor the performance of all client transactions. If you would like to know more about this particular toolset then Compuware have published a fact sheet about it <a href="http://www.compuware.com/dl/ClientVantage_Fact_Sheet.pdf">here</a>.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.sarquol.com%2Fperf%2Fcapman%2Fvantage%2F&amp;linkname=Monitoring%20all%20user%20interactions"><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/capman/vantage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How much do you know about your users?</title>
		<link>http://www.sarquol.com/perf/model/know-about-users/</link>
		<comments>http://www.sarquol.com/perf/model/know-about-users/#comments</comments>
		<pubDate>Wed, 07 Jun 2006 15:19:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Performance Modelling]]></category>
		<category><![CDATA[modelling]]></category>
		<category><![CDATA[monitor]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[user]]></category>

		<guid isPermaLink="false">http://www.sarquol.com/?p=59</guid>
		<description><![CDATA[When implementing a new system it is common to make high level assumptions about how the system will be used, based on the information provided by the business community on how they expect the system to be used. The article suggests an approach to making sure that a performance model is updated to ensure on-going accuracy.]]></description>
			<content:encoded><![CDATA[<p>When implementing a new system it is common to make high level assumptions about how the system will be used, based on the information provided by the business community on how they expect the system to be used. This form of input tends to be fairly high level, such as the number of transactions per day that they expect once the system is fully operational. This is a strong start point for working out the likely level of demand that will be placed on the system, which is a process that involves a set of estimates and inferred values in order to arrive at a likely behaviour profile. These figures are then used as the basis for performance and load testing of the system. Consider the future briefly though, since this is also when a little forethought in the specification and design of the original system can deliver a huge benefit.<span id="more-59"></span></p>
<p>When a system has been implemented it is likely to either require upgrade or to experience performance problems at some point, and then the basis for modelling can be much stronger. There is a system in place with real users performing real transactions, and so detailed information should be available. This is especially important when investigating performance problems. This is because how often certain operations occur, and what else was happening on the system at the same time, can be critical in understanding the likely root cause.</p>
<p>It is possibly surprising how rare it is to be able to gather meaningful data from a system on how it is being used, and the experience that users are having from the system. Without this being considered early in a system’s design, or in the evaluation of a product, it is often the case that information on the system’s usage in production is either completely unavailable or only available indirectly using analysis techniques that are difficult to produce. There are a significant number of ways to make this information available, but it has to be implemented and tested in the original system design. This data gathering is very difficult to retro-fit to a system, but generally easy to add during development.</p>
<p>So what should the requirements for a system be?</p>
<p>The following is a starting list:</p>
<ol>
<li>Information should be recorded about all operations that users perform, and the experience they obtain from those operations. This should not only be limited to where an error is experienced.</li>
<li>The system should have standard reports from this data that provides key metrics on a regular basis. These metrics should be directly used to monitor the service level, and used to detect if there are problems in the system as early as possible.</li>
<li>Such a data gathering system can generate large volumes of data, and so a data archiving and management mechanism must be in place. Without this it is likely that the growth of monitoring data will itself cause performance problems in the future.</li>
<li>The solution for monitoring and reporting on user operations should not negatively impact the user experience.</li>
<li>It should be possible to recover retrospectively what was happening at a certain point in time on the system, down to user IDs and arguments used in operations.</li>
</ol>
<p>It is worth noting that having this sort of information will be valuable throughout the delivery of a system anyway, in particular during load testing and performance model calibration.</p>
<p>The next question is how does such information get collected? There are many different way, and the most effective way varies with the technology being used. Where possible the information should be gathered as a side effect of something else. In web systems for example it is sometimes possible to gather this sort of data from server log files. In systems where the code is generated it may be possible to add data gathering into the templates. If all else fails then place timers and system logging throughout the code and make sure you have the necessary log processing tools in available.</p>
<p>If you need help in working out an effective approach to collecting data, or in framing the non-functional requirements necessary to manage the performance of a system then <a href="mailto:dh@sarquol.com?subject=Bulletin:%20Help%20needed">e-mail me</a>. It can be surprising how often having access to this information can help to resolve issues – and not just those in the scope of system performance problems.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sarquol.com/perf/model/know-about-users/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
