<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>The best solution.....</title>
	<atom:link href="http://rithyph.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://rithyph.wordpress.com</link>
	<description>Welcome your share ideas, search and post.</description>
	<lastBuildDate>Thu, 04 Mar 2010 06:57:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='rithyph.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>The best solution.....</title>
		<link>http://rithyph.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://rithyph.wordpress.com/osd.xml" title="The best solution....." />
	<atom:link rel='hub' href='http://rithyph.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Creating user online program with php</title>
		<link>http://rithyph.wordpress.com/2010/03/04/creating-user-online-program-with-php/</link>
		<comments>http://rithyph.wordpress.com/2010/03/04/creating-user-online-program-with-php/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 06:46:11 +0000</pubDate>
		<dc:creator>Rithy Pheath</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://rithyph.wordpress.com/?p=78</guid>
		<description><![CDATA[Creating user online program with php This tutorial script will guide you to show how much user online on a specific period of time on your website, all is count to total user online since specific time. The idea is recording every request based on session id in php. Different session means different browser (visitor). [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rithyph.wordpress.com&amp;blog=9431073&amp;post=78&amp;subd=rithyph&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2><a title="Permanent Link: Creating user online program with php" rel="bookmark" href="http://sandaldjepit.com/2009/creating-user-online-program-with-php/">Creating user online program with php</a></h2>
<p>This tutorial script will guide you to show how much user online on a specific period of time on your website, all is count to total user online since specific time. The idea is recording every request based on session id in php. Different session means different browser (visitor). Each different session count into total as total visitor. You can place this script at the first of your php script AFTER <tt>session_start()</tt> and connected to mysql database.</p>
<p><strong>Table to store visitor request data</strong><br />
We need two mysql table to store visitor data from every request that visitor made such as, request page, IP, Proxy, and the request time.<br />
Creating mysql table to store visitor data :</p>
<p>Table structure to store visitor data.</p>
<p><pre class="brush: plain;">
CREATE TABLE `member_online` (
 `SID` varchar(50) NOT NULL default '',
 `reqTime` int(50) default NULL,
 `visitorType` varchar(200) default NULL,
 `proxy` varchar(200) default NULL,
 `ip` varchar(200) default NULL,
 `reqURI` varchar(255) default NULL,
 PRIMARY KEY  (`SID`)
 );
</pre></p>
<p>We also need another table to store total visitor data.</p>
<p><pre class="brush: plain;">
CREATE TABLE `visitor_count` (
 `id` int(10) NOT NULL auto_increment,
 `start_date` int(20) default '0',
 `counter` bigint(25) default '0',
 `countmax` bigint(25) default NULL,
 `countmin` int(5) default NULL,
 `maxdate` datetime default NULL,
 `mindate` datetime default NULL,
 `aktif` varchar(20) default 'Active',
 PRIMARY KEY  (`id`)
 );
</pre></p>
<p>Insert one record in visitor_count for initial data :</p>
<p><pre class="brush: plain;">
INSERT visitor_count VALUES ('',UNIX_TIMESTAMP(now()),0,0,0,now(),now(),'Active');
</pre></p>
<p><a href="http://sandaldjepit.com/2009/creating-user-online-program-with-php/#download">You can download all tutorial files</a></p>
<p><strong>PHP Script to store visitor data</strong><br />
This script must be include on every php file on your web you wish to track.</p>
<p>Talking about visitors, there are human and robots. The robots or bot or crawler generally came from search engine browser such as Yahoo, Google, MSN, etc, but some also came from cracker to collecting specific information such as email, they use this to deliver spam content. As this case, we need to detect if the visitor is a bot or a human based on <tt>$_SERVER['HTTP_USER_AGENT']</tt>, if you like, you can read more on <a href="http://sandaldjepit.com/2009/04/25/detect-search-engine-robot-name/">detecting search engine bot name</a> .</p>
<p>Detecting browser user agent, this function will detect agent type, returning user agent type, or false if not included as bot.</p>
<p><pre class="brush: plain;">
/** spider robot detector return spider name, or else return false **/
function crawlerDetect($USER_AGENT) {
 $crawlers = array(
 array('Google', 'Google'),
 array('msnbot', 'MSN'),
 array('Rambler', 'Rambler'),
 array('Yahoo', 'Yahoo'),
 array('AbachoBOT', 'AbachoBOT'),
 array('accoona', 'Accoona'),
 array('AcoiRobot', 'AcoiRobot'),
 array('ASPSeek', 'ASPSeek'),
 array('CrocCrawler', 'CrocCrawler'),
 array('Dumbot', 'Dumbot'),
 array('FAST-WebCrawler', 'FAST-WebCrawler'),
 array('GeonaBot', 'GeonaBot'),
 array('Gigabot', 'Gigabot'),
 array('Lycos', 'Lycos spider'),
 array('MSRBOT', 'MSRBOT'),
 array('Scooter', 'Altavista robot'),
 array('AltaVista', 'Altavista robot'),
 array('IDBot', 'ID-Search Bot'),
 array('eStyle', 'eStyle Bot'),
 array('Scrubby', 'Scrubby robot')
 );

 foreach ($crawlers as $c) {
 if (stristr($USER_AGENT, $c[0])) {
 return($c[1]);
 }
 }

 return false;
}
</pre></p>
<p>Record what visitor was request based on <tt>$_SERVER</tt> variable IP, request URL, request time, etc. This init function checks if current session name is on the table, if not yet, all of this data will stored in a <tt>member_online</tt> table. If current session name was in the table, they will be updated with new time and new request URL. And last, will update (increase by one) of the total visitor at table <tt>visitor_count</tt>.</p>
<p><pre class="brush: plain;">
/** count number of online visitor based on session time  **/
function init_visitor_count () {

 # collecting necessary information such IP, proxy, useragent, etc
 $reqURI 		= strip_tags( htmlentities( $_SERVER['REQUEST_URI']));
 $proxy 			= $_SERVER['HTTP_X_FORWARDED_FOR'];
 $ip 			= $_SERVER['REMOTE_ADDR'];
 $crawler 		= crawlerDetect($_SERVER['HTTP_USER_AGENT']);
 $visitorType 	= '';
 if ($crawler){
 $visitorType = 'bot';
 }

 # check if current session already on table
 $query = mysql_query (&quot;SELECT SID FROM member_online WHERE SID = '&quot;. session_id() .&quot;'&quot;);

 if (mysql_num_rows($query) != 0) {
 #update / renew session timestamp on current session
 $query = mysql_query(&quot;UPDATE member_online SET reqTime = UNIX_TIMESTAMP(), reqURI='$reqURI' WHERE SID = '&quot;. session_id() .&quot;'&quot;);
 }else  {
 # record Session ID on each request
 $query = mysql_query(&quot;INSERT member_online VALUES ('&quot;.session_id().&quot;', UNIX_TIMESTAMP(), '$visitorType', '$proxy', '$ip', '$reqURI' )&quot;);

 # update total visitor count
 $queryUp = mysql_query(&quot;UPDATE visitor_count SET counter=counter+1 WHERE aktif='Active'&quot;);
 }
}
</pre></p>
<p>After all visitor data stored on a table, now we create the function to get the statistic how much user online in a specific period of time, in this case we use 900 seconds (15 minutes), and how much total user online since period of time from table <tt>visitor_count</tt>.<br />
This function will query the count the number of human and bot request in table <tt>user_online</tt>, this is the visitor and  bot online data. Next step is to select data from table <tt>visitor_count</tt> to get total visitor from a period of time. Returned value is array of current visitor human online; robot online; total visitor; date where statistic start.</p>
<p><pre class="brush: plain;">
/** get user online, return array of useronline, total, date count start **/
function get_user_online () {
 $lastTime = mktime() - 900; // last 15 minutes
 $num_bot = 0;
 $num_no_bot = 0;
 $visitor = 0;

 # count visitor
 # bot
 $queryA = mysql_query(&quot;SELECT COUNT(SID) FROM member_online WHERE visitorType = 'bot' AND reqTime &gt; $lastTime &quot;);
 if (@mysql_num_rows($queryA) != 0) {
 $row = mysql_fetch_array($queryA);
 $num_bot = $row[0];
 }

 # not bot
 $queryB = mysql_query(&quot;SELECT COUNT(SID) FROM member_online WHERE (visitorType = '' OR visitorType IS NULL)  AND reqTime &gt; $lastTime &quot;);
 if (@mysql_num_rows($queryB) != 0) {
 $row = mysql_fetch_array($queryB);
 $num_no_bot = $row[0];
 }

 # total visitor
 $visitor = 0;
 $query2 = mysql_query(&quot;SELECT * FROM visitor_count WHERE aktif='Active' LIMIT 1&quot;);
 if (mysql_num_rows($query2) != 0) {
 $row = mysql_fetch_assoc($query2);

 $dateStart 	= date('d F Y',$row['start_date']);
 $visitor 	= number_format( $row['counter'],'','','.');
 }

 #delete last 1 hour  session (3600 sec);
 $pastTime = mktime() - 3600;
 $query = mysql_query(&quot;DELETE FROM member_online WHERE waktu &lt;= $pastTime&quot;);

 return array($num_no_bot,$num_bot,$visitor,$dateStart);
}
</pre></p>
<p>Example call function to get a current visitor online.</p>
<p><pre class="brush: plain;">
list($visitor_online, $bot_online, $total_visitor, $date_statistic) = get_user_online();
$total_online = $visitor_online + $bot_online;
echo '
Visitor online : '. $total_online. '. Human : ' .$visitor_online.'. Robot : '.$bot_online
 .'.
Total visitor : '.$total_visitor.' since : '.$date_statistic.'
';
</pre></p>
<p>OK, that’s all, now you can try out your self. <img src="http://sandaldjepit.com/wp-includes/images/smilies/icon_smile.gif" alt=":)" /></p>
<p><strong>Download example</strong><br />
<a name="download" href="http://sandaldjepit.com/wp-content/uploads/user-online.zip" target="_blank">Download PHP Script and SQL dump visitor online count example.</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rithyph.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rithyph.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rithyph.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rithyph.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rithyph.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rithyph.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rithyph.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rithyph.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rithyph.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rithyph.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rithyph.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rithyph.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rithyph.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rithyph.wordpress.com/78/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rithyph.wordpress.com&amp;blog=9431073&amp;post=78&amp;subd=rithyph&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rithyph.wordpress.com/2010/03/04/creating-user-online-program-with-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a2f59b2eb3ed10c5a03a4141cd2fcd26?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rithyph</media:title>
		</media:content>

		<media:content url="http://sandaldjepit.com/wp-includes/images/smilies/icon_smile.gif" medium="image">
			<media:title type="html">:)</media:title>
		</media:content>
	</item>
		<item>
		<title>ASCII Table</title>
		<link>http://rithyph.wordpress.com/2010/03/03/ascii-table/</link>
		<comments>http://rithyph.wordpress.com/2010/03/03/ascii-table/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 03:22:37 +0000</pubDate>
		<dc:creator>Rithy Pheath</dc:creator>
				<category><![CDATA[Others]]></category>

		<guid isPermaLink="false">http://rithyph.wordpress.com/2010/03/03/ascii-table/</guid>
		<description><![CDATA[Reference http://home.att.net/~gobruen/con/ascii.html ASCII Table Character Instruction Binary Hex Decimal HTML Numeric Entity VBScript Null Zero Null 00000000 00 00 Chr(00) Smiley Face Start Heading 00000001 01 01 Chr(01) Smiley(black) Start Text 00000010 02 02 Chr(02) Heart End Text 00000011 03 03 Chr(03) Diamond End Transmission 00000100 04 04 Chr(04) Club Enquire 00000101 05 05 Chr(05) [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rithyph.wordpress.com&amp;blog=9431073&amp;post=77&amp;subd=rithyph&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3></h3>
<p>Reference http://home.att.net/~gobruen/con/ascii.html</p>
<p>ASCII Table</p>
<table border="1" bgcolor="WHITE">
<tbody>
<tr>
<td><strong>Character</strong></td>
<td><strong>Instruction</strong></td>
<td><strong>Binary</strong></td>
<td><strong>Hex</strong></td>
<td><strong>Decimal</strong></td>
<td><strong>HTML<br />
Numeric<br />
Entity</strong></td>
<td><strong>VBScript</strong></td>
</tr>
<tr>
<td>Null Zero</td>
<td>Null</td>
<td>00000000</td>
<td>00</td>
<td>00</td>
<td></td>
<td>Chr(00)</td>
</tr>
<tr>
<td>Smiley Face</td>
<td>Start Heading</td>
<td>00000001</td>
<td>01</td>
<td>01</td>
<td></td>
<td>Chr(01)</td>
</tr>
<tr>
<td>Smiley(black)</td>
<td>Start Text</td>
<td>00000010</td>
<td>02</td>
<td>02</td>
<td></td>
<td>Chr(02)</td>
</tr>
<tr>
<td>Heart</td>
<td>End Text</td>
<td>00000011</td>
<td>03</td>
<td>03</td>
<td></td>
<td>Chr(03)</td>
</tr>
<tr>
<td>Diamond</td>
<td>End Transmission</td>
<td>00000100</td>
<td>04</td>
<td>04</td>
<td></td>
<td>Chr(04)</td>
</tr>
<tr>
<td>Club</td>
<td>Enquire</td>
<td>00000101</td>
<td>05</td>
<td>05</td>
<td></td>
<td>Chr(05)</td>
</tr>
<tr>
<td>Spade</td>
<td>Acknowledge</td>
<td>00000110</td>
<td>06</td>
<td>06</td>
<td></td>
<td>Chr(06)</td>
</tr>
<tr>
<td>Circle(black)</td>
<td>bell</td>
<td>00000111</td>
<td>07</td>
<td>07</td>
<td></td>
<td>Chr(07)</td>
</tr>
<tr>
<td>Rectangle(black)</td>
<td>backspace</td>
<td>00001000</td>
<td>08</td>
<td>08</td>
<td></td>
<td>Chr(08)</td>
</tr>
<tr>
<td>Circle(white)</td>
<td>tab</td>
<td>00001001</td>
<td>09</td>
<td>09</td>
<td>&#9;</td>
<td>Chr(09)</td>
</tr>
<tr>
<td>Square(black)</td>
<td>line feed</td>
<td>00001010</td>
<td>0A</td>
<td>10</td>
<td>&#10;</td>
<td>Chr(10)</td>
</tr>
<tr>
<td>Mars/male</td>
<td>vertical tab</td>
<td>00001011</td>
<td>0B</td>
<td>11</td>
<td></td>
<td>Chr(11)</td>
</tr>
<tr>
<td>Venus/female</td>
<td>form feed</td>
<td>00001100</td>
<td>0C</td>
<td>12</td>
<td></td>
<td>Chr(12)</td>
</tr>
<tr>
<td>Music note</td>
<td>RETURN</td>
<td>00001101</td>
<td>0D</td>
<td>13</td>
<td>&#13;</td>
<td>Chr(13)</td>
</tr>
<tr>
<td>Two music notes</td>
<td>shift-out</td>
<td>00001110</td>
<td>0E</td>
<td>14</td>
<td></td>
<td>Chr(14)</td>
</tr>
<tr>
<td>Sun</td>
<td>shift-in</td>
<td>00001111</td>
<td>0F</td>
<td>15</td>
<td></td>
<td>Chr(15)</td>
</tr>
<tr>
<td>Right arrow</td>
<td>data link escape</td>
<td>00010000</td>
<td>10</td>
<td>16</td>
<td></td>
<td>Chr(16)</td>
</tr>
<tr>
<td>Left arrow</td>
<td>device control 1</td>
<td>00010001</td>
<td>11</td>
<td>17</td>
<td></td>
<td>Chr(17)</td>
</tr>
<tr>
<td>Up and down arrow</td>
<td>device control 2</td>
<td>00010010</td>
<td>12</td>
<td>18</td>
<td></td>
<td>Chr(18)</td>
</tr>
<tr>
<td>!!</td>
<td>device control 3</td>
<td>00010011</td>
<td>13</td>
<td>19</td>
<td></td>
<td>Chr(19)</td>
</tr>
<tr>
<td>paragraph symbol</td>
<td>device control 4</td>
<td>00010100</td>
<td>14</td>
<td>20</td>
<td></td>
<td>Chr(20)</td>
</tr>
<tr>
<td>Site mark</td>
<td>negative acknowlege</td>
<td>00010101</td>
<td>15</td>
<td>21</td>
<td></td>
<td>Chr(21)</td>
</tr>
<tr>
<td>-</td>
<td>synch idle</td>
<td>00010110</td>
<td>16</td>
<td>22</td>
<td></td>
<td>Chr(22)</td>
</tr>
<tr>
<td>Double arrow(U&amp;D w/line)</td>
<td>end trans block</td>
<td>00010111</td>
<td>17</td>
<td>23</td>
<td></td>
<td>Chr(23)</td>
</tr>
<tr>
<td>Up arrow</td>
<td>cancel</td>
<td>00011000</td>
<td>18</td>
<td>24</td>
<td></td>
<td>Chr(24)</td>
</tr>
<tr>
<td>Down arrow</td>
<td>end of medium</td>
<td>00011001</td>
<td>19</td>
<td>25</td>
<td></td>
<td>Chr(25)</td>
</tr>
<tr>
<td>arrow right</td>
<td>substitute</td>
<td>00011010</td>
<td>1A</td>
<td>26</td>
<td></td>
<td>Chr(26)</td>
</tr>
<tr>
<td>arrow left</td>
<td>escape</td>
<td>00011011</td>
<td>1B</td>
<td>27</td>
<td></td>
<td>Chr(27)</td>
</tr>
<tr>
<td>90 degree angle</td>
<td>file separator</td>
<td>00011100</td>
<td>1C</td>
<td>28</td>
<td></td>
<td>Chr(28)</td>
</tr>
<tr>
<td>double arrow</td>
<td>group separator</td>
<td>00011101</td>
<td>1D</td>
<td>29</td>
<td></td>
<td>Chr(29)</td>
</tr>
<tr>
<td>up triangle</td>
<td>record separator</td>
<td>00011110</td>
<td>1E</td>
<td>30</td>
<td></td>
<td>Chr(30)</td>
</tr>
<tr>
<td>down triangle</td>
<td>unit separator</td>
<td>00011111</td>
<td>1F</td>
<td>31</td>
<td></td>
<td>Chr(31)</td>
</tr>
<tr>
<td>Space</td>
<td>Space</td>
<td>00100000</td>
<td>20</td>
<td>32</td>
<td></td>
<td>Chr(32)</td>
</tr>
<tr>
<td>!</td>
<td></td>
<td>00100001</td>
<td>21</td>
<td>33</td>
<td>&#33;</td>
<td>Chr(33)</td>
</tr>
<tr>
<td>&#8220;</td>
<td></td>
<td>00100010</td>
<td>22</td>
<td>34</td>
<td>&#34;</td>
<td>Chr(34)</td>
</tr>
<tr>
<td>#</td>
<td></td>
<td>00100011</td>
<td>23</td>
<td>35</td>
<td>&#35;</td>
<td>Chr(35)</td>
</tr>
<tr>
<td>$</td>
<td></td>
<td>00100100</td>
<td>24</td>
<td>36</td>
<td>&#36;</td>
<td>Chr(36)</td>
</tr>
<tr>
<td>%</td>
<td></td>
<td>00100101</td>
<td>25</td>
<td>37</td>
<td>&#37;</td>
<td>Chr(37)</td>
</tr>
<tr>
<td>&amp;</td>
<td></td>
<td>00100110</td>
<td>26</td>
<td>38</td>
<td>&#38;</td>
<td>Chr(38)</td>
</tr>
<tr>
<td>&#8216;</td>
<td></td>
<td>00100111</td>
<td>27</td>
<td>39</td>
<td>&#39;</td>
<td>Chr(39)</td>
</tr>
<tr>
<td>(</td>
<td></td>
<td>00101000</td>
<td>28</td>
<td>40</td>
<td>&#40;</td>
<td>Chr(40)</td>
</tr>
<tr>
<td>)</td>
<td></td>
<td>00101001</td>
<td>29</td>
<td>41</td>
<td>&#41;</td>
<td>Chr(41)</td>
</tr>
<tr>
<td>*</td>
<td></td>
<td>00101010</td>
<td>2A</td>
<td>42</td>
<td>&#42;</td>
<td>Chr(42)</td>
</tr>
<tr>
<td>+</td>
<td></td>
<td>00101011</td>
<td>2B</td>
<td>43</td>
<td>&#43;</td>
<td>Chr(43)</td>
</tr>
<tr>
<td>,</td>
<td></td>
<td>00101100</td>
<td>2C</td>
<td>44</td>
<td>&#44;</td>
<td>Chr(44)</td>
</tr>
<tr>
<td>-</td>
<td></td>
<td>00101101</td>
<td>2D</td>
<td>45</td>
<td>&#45;</td>
<td>Chr(45)</td>
</tr>
<tr>
<td>.</td>
<td></td>
<td>00101110</td>
<td>2E</td>
<td>46</td>
<td>&#46;</td>
<td>Chr(46)</td>
</tr>
<tr>
<td>/</td>
<td></td>
<td>00101111</td>
<td>2F</td>
<td>47</td>
<td>&#47;</td>
<td>Chr(47)</td>
</tr>
<tr>
<td>0</td>
<td></td>
<td>00110000</td>
<td>30</td>
<td>48</td>
<td>&#48;</td>
<td>Chr(48)</td>
</tr>
<tr>
<td>1</td>
<td></td>
<td>00110001</td>
<td>31</td>
<td>49</td>
<td>&#49;</td>
<td>Chr(49)</td>
</tr>
<tr>
<td>2</td>
<td></td>
<td>00110010</td>
<td>32</td>
<td>50</td>
<td>&#50;</td>
<td>Chr(50)</td>
</tr>
<tr>
<td>3</td>
<td></td>
<td>00110011</td>
<td>33</td>
<td>51</td>
<td>&#51;</td>
<td>Chr(51)</td>
</tr>
<tr>
<td>4</td>
<td></td>
<td>00110100</td>
<td>34</td>
<td>52</td>
<td>&#52;</td>
<td>Chr(52)</td>
</tr>
<tr>
<td>5</td>
<td></td>
<td>00110101</td>
<td>35</td>
<td>53</td>
<td>&#53;</td>
<td>Chr(53)</td>
</tr>
<tr>
<td>6</td>
<td></td>
<td>00110110</td>
<td>36</td>
<td>54</td>
<td>&#54;</td>
<td>Chr(54)</td>
</tr>
<tr>
<td>7</td>
<td></td>
<td>00110111</td>
<td>37</td>
<td>55</td>
<td>&#55;</td>
<td>Chr(55)</td>
</tr>
<tr>
<td>8</td>
<td></td>
<td>00111000</td>
<td>38</td>
<td>56</td>
<td>&#56;</td>
<td>Chr(56)</td>
</tr>
<tr>
<td>9</td>
<td></td>
<td>00111001</td>
<td>39</td>
<td>57</td>
<td>&#57;</td>
<td>Chr(57)</td>
</tr>
<tr>
<td>:</td>
<td></td>
<td>00111010</td>
<td>3A</td>
<td>58</td>
<td>&#58;</td>
<td>Chr(58)</td>
</tr>
<tr>
<td>;</td>
<td></td>
<td>00111011</td>
<td>3B</td>
<td>59</td>
<td>&#59;</td>
<td>Chr(59)</td>
</tr>
<tr>
<td>&lt;</td>
<td></td>
<td>00111100</td>
<td>3C</td>
<td>60</td>
<td>&#60;</td>
<td>Chr(60)</td>
</tr>
<tr>
<td>=</td>
<td></td>
<td>00111101</td>
<td>3D</td>
<td>61</td>
<td>&#61;</td>
<td>Chr(61)</td>
</tr>
<tr>
<td>&gt;</td>
<td></td>
<td>00111110</td>
<td>3E</td>
<td>62</td>
<td>&#62;</td>
<td>Chr(62)</td>
</tr>
<tr>
<td>?</td>
<td></td>
<td>00111111</td>
<td>3F</td>
<td>63</td>
<td>&#63;</td>
<td>Chr(63)</td>
</tr>
<tr>
<td>@</td>
<td></td>
<td>01000000</td>
<td>40</td>
<td>64</td>
<td>&#64;</td>
<td>Chr(64)</td>
</tr>
<tr>
<td>A</td>
<td></td>
<td>01000001</td>
<td>41</td>
<td>65</td>
<td>&#65;</td>
<td>Chr(65)</td>
</tr>
<tr>
<td>B</td>
<td></td>
<td>01000010</td>
<td>42</td>
<td>66</td>
<td>&#66;</td>
<td>Chr(66)</td>
</tr>
<tr>
<td>C</td>
<td></td>
<td>01000011</td>
<td>43</td>
<td>67</td>
<td>&#67;</td>
<td>Chr(67)</td>
</tr>
<tr>
<td>D</td>
<td></td>
<td>01000100</td>
<td>44</td>
<td>68</td>
<td>&#68;</td>
<td>Chr(68)</td>
</tr>
<tr>
<td>E</td>
<td></td>
<td>01000101</td>
<td>45</td>
<td>69</td>
<td>&#69;</td>
<td>Chr(69)</td>
</tr>
<tr>
<td>F</td>
<td></td>
<td>01000110</td>
<td>46</td>
<td>70</td>
<td>&#70;</td>
<td>Chr(70)</td>
</tr>
<tr>
<td>G</td>
<td></td>
<td>01000111</td>
<td>47</td>
<td>71</td>
<td>&#71;</td>
<td>Chr(71)</td>
</tr>
<tr>
<td>H</td>
<td></td>
<td>01001000</td>
<td>48</td>
<td>72</td>
<td>&#72;</td>
<td>Chr(72)</td>
</tr>
<tr>
<td>I</td>
<td></td>
<td>01001001</td>
<td>49</td>
<td>73</td>
<td>&#73;</td>
<td>Chr(73)</td>
</tr>
<tr>
<td>J</td>
<td></td>
<td>01001010</td>
<td>4A</td>
<td>74</td>
<td>&#74;</td>
<td>Chr(74)</td>
</tr>
<tr>
<td>K</td>
<td></td>
<td>01001011</td>
<td>4B</td>
<td>75</td>
<td>&#75;</td>
<td>Chr(75)</td>
</tr>
<tr>
<td>L</td>
<td></td>
<td>01001100</td>
<td>4C</td>
<td>76</td>
<td>&#76;</td>
<td>Chr(76)</td>
</tr>
<tr>
<td>M</td>
<td></td>
<td>01001101</td>
<td>4D</td>
<td>77</td>
<td>&#77;</td>
<td>Chr(77)</td>
</tr>
<tr>
<td>N</td>
<td></td>
<td>01001110</td>
<td>4E</td>
<td>78</td>
<td>&#78;</td>
<td>Chr(78)</td>
</tr>
<tr>
<td>O</td>
<td></td>
<td>01001111</td>
<td>4F</td>
<td>79</td>
<td>&#79;</td>
<td>Chr(79)</td>
</tr>
<tr>
<td>P</td>
<td></td>
<td>01010000</td>
<td>50</td>
<td>80</td>
<td>&#80;</td>
<td>Chr(80)</td>
</tr>
<tr>
<td>Q</td>
<td></td>
<td>01010001</td>
<td>51</td>
<td>81</td>
<td>&#81;</td>
<td>Chr(81)</td>
</tr>
<tr>
<td>R</td>
<td></td>
<td>01010010</td>
<td>52</td>
<td>82</td>
<td>&#82;</td>
<td>Chr(82)</td>
</tr>
<tr>
<td>S</td>
<td></td>
<td>01010011</td>
<td>53</td>
<td>83</td>
<td>&#83;</td>
<td>Chr(83)</td>
</tr>
<tr>
<td>T</td>
<td></td>
<td>01010100</td>
<td>54</td>
<td>84</td>
<td>&#84;</td>
<td>Chr(84)</td>
</tr>
<tr>
<td>U</td>
<td></td>
<td>01010101</td>
<td>55</td>
<td>85</td>
<td>&#85;</td>
<td>Chr(85)</td>
</tr>
<tr>
<td>V</td>
<td></td>
<td>01010110</td>
<td>56</td>
<td>86</td>
<td>&#86;</td>
<td>Chr(86)</td>
</tr>
<tr>
<td>W</td>
<td></td>
<td>01010111</td>
<td>57</td>
<td>87</td>
<td>&#87;</td>
<td>Chr(87)</td>
</tr>
<tr>
<td>X</td>
<td></td>
<td>01011000</td>
<td>58</td>
<td>88</td>
<td>&#88;</td>
<td>Chr(88)</td>
</tr>
<tr>
<td>Y</td>
<td></td>
<td>01011001</td>
<td>59</td>
<td>89</td>
<td>&#89;</td>
<td>Chr(89)</td>
</tr>
<tr>
<td>Z</td>
<td></td>
<td>01011010</td>
<td>5A</td>
<td>90</td>
<td>&#90;</td>
<td>Chr(90)</td>
</tr>
<tr>
<td>[</td>
<td></td>
<td>01011011</td>
<td>5B</td>
<td>91</td>
<td>&#91;</td>
<td>Chr(91)</td>
</tr>
<tr>
<td>\</td>
<td></td>
<td>01011100</td>
<td>5C</td>
<td>92</td>
<td>&#92;</td>
<td>Chr(92)</td>
</tr>
<tr>
<td>]</td>
<td></td>
<td>01011101</td>
<td>5D</td>
<td>93</td>
<td>&#93;</td>
<td>Chr(93)</td>
</tr>
<tr>
<td>^</td>
<td></td>
<td>01011110</td>
<td>5E</td>
<td>94</td>
<td>&#94;</td>
<td>Chr(94)</td>
</tr>
<tr>
<td>_</td>
<td></td>
<td>01011111</td>
<td>5F</td>
<td>95</td>
<td>&#95;</td>
<td>Chr(95)</td>
</tr>
<tr>
<td>$</td>
<td></td>
<td>01100000</td>
<td>60</td>
<td>96</td>
<td>&#96;</td>
<td>Chr(96)</td>
</tr>
<tr>
<td>a</td>
<td></td>
<td>01100001</td>
<td>61</td>
<td>97</td>
<td>&#97;</td>
<td>Chr(97)</td>
</tr>
<tr>
<td>b</td>
<td></td>
<td>01100010</td>
<td>62</td>
<td>98</td>
<td>&#98;</td>
<td>Chr(98)</td>
</tr>
<tr>
<td>c</td>
<td></td>
<td>01100011</td>
<td>63</td>
<td>99</td>
<td>&#99;</td>
<td>Chr(99)</td>
</tr>
<tr>
<td>d</td>
<td></td>
<td>01100100</td>
<td>64</td>
<td>100</td>
<td>&#100;</td>
<td>Chr(100)</td>
</tr>
<tr>
<td>e</td>
<td></td>
<td>01100101</td>
<td>65</td>
<td>101</td>
<td>&#101;</td>
<td>Chr(101)</td>
</tr>
<tr>
<td>f</td>
<td></td>
<td>01100110</td>
<td>66</td>
<td>102</td>
<td>&#102;</td>
<td>Chr(102)</td>
</tr>
<tr>
<td>g</td>
<td></td>
<td>01100111</td>
<td>67</td>
<td>103</td>
<td>&#103;</td>
<td>Chr(103)</td>
</tr>
<tr>
<td>h</td>
<td></td>
<td>01101000</td>
<td>68</td>
<td>104</td>
<td>&#104;</td>
<td>Chr(104)</td>
</tr>
<tr>
<td>i</td>
<td></td>
<td>01101001</td>
<td>69</td>
<td>105</td>
<td>&#105;</td>
<td>Chr(105)</td>
</tr>
<tr>
<td>j</td>
<td></td>
<td>01101010</td>
<td>6A</td>
<td>106</td>
<td>&#106;</td>
<td>Chr(106)</td>
</tr>
<tr>
<td>k</td>
<td></td>
<td>01101011</td>
<td>6B</td>
<td>107</td>
<td>&#107;</td>
<td>Chr(107)</td>
</tr>
<tr>
<td>l</td>
<td></td>
<td>01101100</td>
<td>6C</td>
<td>108</td>
<td>&#108;</td>
<td>Chr(108)</td>
</tr>
<tr>
<td>m</td>
<td></td>
<td>01101101</td>
<td>6D</td>
<td>109</td>
<td>&#109;</td>
<td>Chr(109)</td>
</tr>
<tr>
<td>n</td>
<td></td>
<td>01101110</td>
<td>6E</td>
<td>110</td>
<td>&#110;</td>
<td>Chr(110)</td>
</tr>
<tr>
<td>o</td>
<td></td>
<td>01101111</td>
<td>6F</td>
<td>111</td>
<td>&#111;</td>
<td>Chr(111)</td>
</tr>
<tr>
<td>p</td>
<td></td>
<td>01110000</td>
<td>70</td>
<td>112</td>
<td>&#112;</td>
<td>Chr(112)</td>
</tr>
<tr>
<td>q</td>
<td></td>
<td>01110001</td>
<td>71</td>
<td>113</td>
<td>&#113;</td>
<td>Chr(113)</td>
</tr>
<tr>
<td>r</td>
<td></td>
<td>01110010</td>
<td>72</td>
<td>114</td>
<td>&#114;</td>
<td>Chr(114)</td>
</tr>
<tr>
<td>s</td>
<td></td>
<td>01110011</td>
<td>73</td>
<td>115</td>
<td>&#115;</td>
<td>Chr(115)</td>
</tr>
<tr>
<td>t</td>
<td></td>
<td>01110100</td>
<td>74</td>
<td>116</td>
<td>&#116;</td>
<td>Chr(116)</td>
</tr>
<tr>
<td>u</td>
<td></td>
<td>01110101</td>
<td>75</td>
<td>117</td>
<td>&#117;</td>
<td>Chr(117)</td>
</tr>
<tr>
<td>v</td>
<td></td>
<td>01110110</td>
<td>76</td>
<td>118</td>
<td>&#118;</td>
<td>Chr(118)</td>
</tr>
<tr>
<td>w</td>
<td></td>
<td>01110111</td>
<td>77</td>
<td>119</td>
<td>&#119;</td>
<td>Chr(119)</td>
</tr>
<tr>
<td>x</td>
<td></td>
<td>01111000</td>
<td>78</td>
<td>120</td>
<td>&#120;</td>
<td>Chr(120)</td>
</tr>
<tr>
<td>y</td>
<td></td>
<td>01111001</td>
<td>79</td>
<td>121</td>
<td>&#121;</td>
<td>Chr(121)</td>
</tr>
<tr>
<td>z</td>
<td></td>
<td>01111010</td>
<td>7A</td>
<td>122</td>
<td>&#122;</td>
<td>Chr(122)</td>
</tr>
<tr>
<td>{</td>
<td></td>
<td>01111011</td>
<td>7B</td>
<td>123</td>
<td>&#123;</td>
<td>Chr(123)</td>
</tr>
<tr>
<td>|</td>
<td></td>
<td>01111100</td>
<td>7C</td>
<td>124</td>
<td>&#124;</td>
<td>Chr(124)</td>
</tr>
<tr>
<td>}</td>
<td></td>
<td>01111101</td>
<td>7D</td>
<td>125</td>
<td>&#125;</td>
<td>Chr(125)</td>
</tr>
<tr>
<td>~</td>
<td></td>
<td>01111110</td>
<td>7E</td>
<td>126</td>
<td>&#126;</td>
<td>Chr(126)</td>
</tr>
<tr>
<td></td>
<td>DELETE</td>
<td>01111111</td>
<td>7F</td>
<td>127</td>
<td></td>
<td>Chr(127)</td>
</tr>
</tbody>
</table>
<p><a href="http://www.w3.org/TR/REC-html40/sgml/entities.html">More HTML Char entities</a><br />
<a href="http://www.ramsch.org/martin/uni/fmi-hp/iso8859-1.html">iso8859-1 table</a><br />
<a href="http://www.bbsinc.com/symbol.html">ISO Latin 1 Character Entities and HTML Escape Sequence Table</a><br />
<a href="http://www.intuitive.com/coolweb/entities.html">HTML Character Entities</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rithyph.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rithyph.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rithyph.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rithyph.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rithyph.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rithyph.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rithyph.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rithyph.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rithyph.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rithyph.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rithyph.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rithyph.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rithyph.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rithyph.wordpress.com/77/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rithyph.wordpress.com&amp;blog=9431073&amp;post=77&amp;subd=rithyph&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rithyph.wordpress.com/2010/03/03/ascii-table/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a2f59b2eb3ed10c5a03a4141cd2fcd26?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rithyph</media:title>
		</media:content>
	</item>
		<item>
		<title>Disadvantages and Advantages of Scrum</title>
		<link>http://rithyph.wordpress.com/2010/02/09/disadvantages-and-advantages-of-scrum/</link>
		<comments>http://rithyph.wordpress.com/2010/02/09/disadvantages-and-advantages-of-scrum/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 08:26:58 +0000</pubDate>
		<dc:creator>Rithy Pheath</dc:creator>
				<category><![CDATA[Scrum Method]]></category>

		<guid isPermaLink="false">http://rithyph.wordpress.com/?p=74</guid>
		<description><![CDATA[The scrums (teams) are made up of the Product Owner, the Scrum Master and the team members. The Product Owner is responsible for representing the interest of the client for whom the product is being made. The Scrum Master is the liaison between the team and the Product Owner. The team itself is comprised of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rithyph.wordpress.com&amp;blog=9431073&amp;post=74&amp;subd=rithyph&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The scrums (teams) are made up of the <a href="http://www.scrumalliance.org/articles/39-glossary-of-scrum-terms#1122" target="_blank">Product Owner</a>, the <a href="http://www.scrumalliance.org/articles/39-glossary-of-scrum-terms#1121" target="_blank">Scrum Master</a> and the team members. The Product Owner is responsible for representing the interest of the client for whom the product is being made. The Scrum Master is the liaison between the team and the Product Owner. The team itself is comprised of a cross-functional mix of personnel, which can include software engineers, programmers, Q/A specialists and the like. While the Scrum Master is responsible for facilitating the team, the team has total control over how they will perform their work.</p>
<p><!--AD_PLACEHOLDER_2--></p>
<h2>Scrum Process</h2>
<div>
<p>The first step in the Scrum process starts with the Product Backlog, which is a prioritized list of software requirements for the product. While anyone can add items to the Product Backlog, the Product Owner has the final say on the Product Backlog.</p>
<p>The next step in process is the Sprint, a 15-30 day period during which the team creates an increment of potential priorities. Each team chooses from the list of priorities and decides on their Sprint Backlog. The Sprint Backlog is a list of tasks that the team believes they can finish during the Sprint. During the Sprint, tasks are broken down into specific chunks of time. Each day, the time remaining on each task is updated. When the time remaining on the Sprint reaches zero, the team will provide a demonstration of the software to all involved.</p>
</div>
<p><!--AD_PLACEHOLDER_3--></p>
<h2>Scrum Daily Meetings</h2>
<div>
<p>During the course of the Scrum, a daily meeting will take place to update everyone on each team’s progress. A summary will be given of accomplishments since the last meeting, future plans and reasons why something was not accomplished. This allows the Scrum Master to see where each team is and possibly offer help, if required.</p>
<p>These daily meetings should be a fixed amount of time, usually 15 to 20 minutes maximum. An agenda made prior to the meeting and distributed to all parties will help keep the meetings on track and within time constraints. To ensure that there are no delays, Scrum meetings should be held at the same time and use the same method of communication. If the teams are international, a compromise time should be made. This way no one feels that they always have to go out of their way to accommodate everyone else.</p>
<p>During the meeting, each team member answers three questions:</p>
<ul>
<li>What have you done since yesterday?</li>
<li>What are you planning to do by tomorrow?</li>
<li>Do you have any problems preventing you from accomplishing your goal?</li>
</ul>
<p>To show how much time is left on a particular task, a Burndown Chart is used. This helps determine the amount of time still needed to complete a project. While the goal is to consistently decrease this number, the estimates will toggle up and down as new work is added or completed. The Burndown Chart can also assist in Release Planning. A release date can be estimated based on time information from the Burndown chart.</p>
<p>There are many advantages to using the Scrum Methodology:</p>
<ul>
<li>Communication can improve across all the teams.</li>
<li>It provides for an open forum, where everyone knows who is responsible for which item.</li>
<li>Scrum can increase team efficiency by as much as 20 percent.</li>
<li>Problems are more transparent.</li>
</ul>
</div>
<p><!--AD_PLACEHOLDER_4--></p>
<h2>Disadvantages of Scrum</h2>
<div>
<p>While a whole project can be intimidating, using the Scrum Methodology helps break it into smaller, manageable parts. Above all, Scrum gives the project stakeholder, who is paying for the product, the advantage of seeing the progress being made every day. They are able to build a relationship with the people involved and they get constant feedback from the Scrum Team.</p>
<p>A few drawbacks to the Scrum Methodology are:</p>
<ul>
<li> Decision-making is entirely in the hands of the teams.</li>
<li>There has to be constant, hands-on management.</li>
</ul>
<p>While Scrum is not perfect, it is definitely a way to maximize efficiency, improve communication between teams and provide for an open approach to tackling a project.</p>
<p>Figure One is courtesy of <a href="http://www.controlchaos.com/about/burndown.php" target="_blank">http://www.controlchaos.com/about/burndown.php</a>.</p>
<p>Figure Two is courtesy of <a href="http://www.mountaingoatsoftware.com/sprint_backlog" target="_blank">http://www.mountaingoatsoftware.com/sprint_backlog</a>.</p>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rithyph.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rithyph.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rithyph.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rithyph.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rithyph.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rithyph.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rithyph.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rithyph.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rithyph.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rithyph.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rithyph.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rithyph.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rithyph.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rithyph.wordpress.com/74/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rithyph.wordpress.com&amp;blog=9431073&amp;post=74&amp;subd=rithyph&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rithyph.wordpress.com/2010/02/09/disadvantages-and-advantages-of-scrum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a2f59b2eb3ed10c5a03a4141cd2fcd26?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rithyph</media:title>
		</media:content>
	</item>
		<item>
		<title>A True Metrics: Running Tested Features (RTF)</title>
		<link>http://rithyph.wordpress.com/2010/02/09/a-true-metrics-running-tested-features-rtf/</link>
		<comments>http://rithyph.wordpress.com/2010/02/09/a-true-metrics-running-tested-features-rtf/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 08:08:47 +0000</pubDate>
		<dc:creator>Rithy Pheath</dc:creator>
				<category><![CDATA[Scrum Method]]></category>

		<guid isPermaLink="false">http://rithyph.wordpress.com/?p=71</guid>
		<description><![CDATA[Ron Jeffries, one of the founding fathers of Agile wrote an excellent summary of what he considers a truly valuable metric, RTF or Running Tested Features. You can view the article here. From the article: What is the Point of the Project? I&#8217;m just guessing, but I think the point of most software development projects [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rithyph.wordpress.com&amp;blog=9431073&amp;post=71&amp;subd=rithyph&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ron Jeffries, one of the founding fathers of Agile wrote an excellent summary of what he considers a truly valuable metric, RTF or Running Tested Features. You can view the article <a href="http://www.xprogramming.com/xpmag/jatRtsMetric.htm">here</a>.</p>
<p>From the article:</p>
<p>What is the Point of the Project?</p>
<p>I&#8217;m just guessing, but I think the point of most software development projects is software that works, and that has the most features possible per dollar of investment. I call that notion Running Tested [Features], and in fact it can be measured, to a degree.</p>
<p>Imagine the following definition of RTF:</p>
<ol>
<li>The desired software is broken down into named features (requirements, stories) which are part of what it means to deliver the desired system.</li>
<li>For each named feature, there are one or more automated acceptance tests which, when they work, will show that the feature in question is implemented.</li>
<li>The RTF metric shows, at every moment in the project, how many features     are passing all their acceptance tests.</li>
</ol>
<p>How many customer-defined features are known, through independently-defined testing, to be working? Now there&#8217;s a metric I could live with.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rithyph.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rithyph.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rithyph.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rithyph.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rithyph.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rithyph.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rithyph.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rithyph.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rithyph.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rithyph.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rithyph.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rithyph.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rithyph.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rithyph.wordpress.com/71/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rithyph.wordpress.com&amp;blog=9431073&amp;post=71&amp;subd=rithyph&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rithyph.wordpress.com/2010/02/09/a-true-metrics-running-tested-features-rtf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a2f59b2eb3ed10c5a03a4141cd2fcd26?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rithyph</media:title>
		</media:content>
	</item>
		<item>
		<title>5 Essentials for Software Development Metrics</title>
		<link>http://rithyph.wordpress.com/2010/02/09/5-essentials-for-software-development-metrics/</link>
		<comments>http://rithyph.wordpress.com/2010/02/09/5-essentials-for-software-development-metrics/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 08:07:51 +0000</pubDate>
		<dc:creator>Rithy Pheath</dc:creator>
				<category><![CDATA[Scrum Method]]></category>

		<guid isPermaLink="false">http://rithyph.wordpress.com/?p=69</guid>
		<description><![CDATA[I ran across a whitepaper today by 6th Sense Analytics that summarizes the essentials of a software development metrics program. The paper doesn&#8217;t specify the metrics to collect, just the properties they should all have. An overview is provided below. You can find the full whitepaper here. From my perspective, for any metric to be [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rithyph.wordpress.com&amp;blog=9431073&amp;post=69&amp;subd=rithyph&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I ran across a whitepaper today by <a href="http://www.6sa.com/">6th Sense Analytics</a> that summarizes the essentials of a software development metrics program. The paper doesn&#8217;t specify the metrics to collect, just the properties they should all have. An overview is provided below. You can find the full whitepaper <a href="http://www.6sa.com/wp-content/uploads/whitepapers/6SA-5-essentials-for-software-dev-metrics.pdf">here</a>.</p>
<p>From my perspective, for any metric to be useful, it needs to help the Project Manager make decisions. As this whitepaper states, all metrics should be actionable. If it&#8217;s not actionable, then it&#8217;s not useful.</p>
<p>Introduction<br />
Today&#8217;s approach to metrics calls for automation over process and in-process adjustments over post-mortem analysis. Information should be made available to all stakeholders throughout the lifecycle.</p>
<p>To be effective, metrics must be properly planned, managed and acted upon. What is measured, how it’s collected and how it’s interpreted are the difference between brilliant insights and blind alleys on the path to metrics-driven software development.</p>
<p>The key is to ensure metrics are meaningful, up-to-date, unobtrusive, empirical and actionable.</p>
<p>#1 &#8211; MEANINGFUL<br />
Emerging activity-based software development metrics solutions focus on a simple and fundamental unit of measure: Active Time. Understanding the actual time being applied to these activities across a portfolio of systems and projects can provide an important level of insight that enables organizations to understand project velocity, relative investment, sequencing of activities, and opportunities and risks. It also provides a uniform basis for comparison across projects and teams.</p>
<p>Select metrics that will enable you to steer your projects in a meaningful way.</p>
<p>#2 &#8211; UP-TO-DATE<br />
It is important to look for metrics that can be captured automatically during the execution of the process itself. Activity-based metrics solutions are able to automatically capture metrics during the conduct of the software development process, ensuring that the metric is consistently based on up-to-date data.</p>
<p>#3 &#8211; UNOBTRUSIVE<br />
The process of collecting data for your metrics program should be seamless and unobtrusive, not imposing new processes or asking developers to spend time collecting or reporting on data.</p>
<p>#4 &#8211; EMPIRICAL<br />
Activity-based metrics solutions capture data as software development processes are executed, eliminating all of the issues that compromise the integrity and accuracy of data. Additionally, the use of the Active Time metric ensures data consistency; an Active Hour is the same in Boston, Bangalore, Mumbai and Beijing.</p>
<p>#5 &#8211; ACTIONABLE<br />
It is critical that the metrics you gather inform specific decisions during the course of your software development projects. Avoid information that is nice to know, but doesn’t help you make decisions or solve problems.</p>
<p>The litmus test for any metric is asking the question, “What decision or decisions does this metric inform?” Be sure you select your metrics based on a clear understanding of how actionable they are and be sure they are tied to a question you feel strongly you need to answer to effect the outcome of your software development projects.</p>
<p>It is also critically important to ensure that you are able to act on and react to metrics during the course of a project.</p>
<p>Finally, be sure that metrics programs are inclusive and that data is available to all stakeholders within the software development lifecycle. Data that is widely available is empowering.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rithyph.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rithyph.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rithyph.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rithyph.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rithyph.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rithyph.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rithyph.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rithyph.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rithyph.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rithyph.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rithyph.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rithyph.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rithyph.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rithyph.wordpress.com/69/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rithyph.wordpress.com&amp;blog=9431073&amp;post=69&amp;subd=rithyph&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rithyph.wordpress.com/2010/02/09/5-essentials-for-software-development-metrics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a2f59b2eb3ed10c5a03a4141cd2fcd26?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rithyph</media:title>
		</media:content>
	</item>
		<item>
		<title>Standard Progress Reporting &amp; Tracking</title>
		<link>http://rithyph.wordpress.com/2010/02/09/standard-progress-reporting-tracking/</link>
		<comments>http://rithyph.wordpress.com/2010/02/09/standard-progress-reporting-tracking/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 08:06:07 +0000</pubDate>
		<dc:creator>Rithy Pheath</dc:creator>
				<category><![CDATA[Scrum Method]]></category>

		<guid isPermaLink="false">http://rithyph.wordpress.com/?p=67</guid>
		<description><![CDATA[A simply way to improve visibility for customers into projects is through reporting and metrics. Timeline The first thing that all stakeholders want to know is how does the timeline look. Are we on track? Are there any delays? What is our next milestone? I create a simple timeline in Excel (you can use Visio [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rithyph.wordpress.com&amp;blog=9431073&amp;post=67&amp;subd=rithyph&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A simply way to improve visibility for customers into projects is through reporting and metrics.</p>
<div><strong><em>Timeline</em></strong></div>
<div>The first thing that all stakeholders want to know is how does the timeline look. Are we on track? Are there any delays? What is our next milestone? I create a simple timeline in Excel (you can use Visio if you prefer) and color code it to indicate the health of each iteration.</div>
<div>
<a href="http://3.bp.blogspot.com/_DHcIJngEEpY/RdXvOu5Zw_I/AAAAAAAAAG8/exZKjq-ifD8/s1600-h/1+-+Project+Dashboard+-+Timeline.gif"><img src="http://3.bp.blogspot.com/_DHcIJngEEpY/RdXvOu5Zw_I/AAAAAAAAAG8/exZKjq-ifD8/s400/1+-+Project+Dashboard+-+Timeline.gif" border="0" alt="" /></a></div>
<div><strong><em>Parking Lot</em></strong></div>
<div>Provide visibility into the progress of features of the system. Use the same color coding system as the timeline. Each feature has a number of UCs associated with it and you can show the percentage of those UCs that have been delivered to the client.</div>
<div><a href="http://3.bp.blogspot.com/_DHcIJngEEpY/RdXvyu5ZxAI/AAAAAAAAAHE/zYVfGvhMnjc/s1600-h/4+-+Project+Dashboard+-+Parking+Lot.GIF"><img src="http://3.bp.blogspot.com/_DHcIJngEEpY/RdXvyu5ZxAI/AAAAAAAAAHE/zYVfGvhMnjc/s400/4+-+Project+Dashboard+-+Parking+Lot.GIF" border="0" alt="" /></a></div>
<div><strong><em>Productivity</em></strong><br />
Report the team&#8217;s productivity after each iteration. Also show the target for the team. I report function points per hour because I want to see the productivity going up.</div>
<p><a href="http://1.bp.blogspot.com/_DHcIJngEEpY/RdXwQO5ZxBI/AAAAAAAAAHM/9K3JZemNyiQ/s1600-h/6+-+Project+Dashboard+-+Productivity.GIF"><img src="http://1.bp.blogspot.com/_DHcIJngEEpY/RdXwQO5ZxBI/AAAAAAAAAHM/9K3JZemNyiQ/s400/6+-+Project+Dashboard+-+Productivity.GIF" border="0" alt="" /></a></p>
<div>
<div><strong><em>Resource Burn Rate</em></strong></div>
<div>Our customers need to know how many resources we have any our burn rate. They have budgets they need to manage too. In this example, I am only reporting past periods, but it could easily be extended to any future timeframe. I build this from the Ramp Plan. I also report the resource count (onshore and offshore) by role.</div>
<p><a href="http://4.bp.blogspot.com/_DHcIJngEEpY/RdXwu-5ZxCI/AAAAAAAAAHU/BXrk_aRRJgs/s1600-h/7+-+Project+Dashboard+-+Weekly+Financials.GIF"><img src="http://4.bp.blogspot.com/_DHcIJngEEpY/RdXwu-5ZxCI/AAAAAAAAAHU/BXrk_aRRJgs/s400/7+-+Project+Dashboard+-+Weekly+Financials.GIF" border="0" alt="" /></a></div>
<p><strong><em>Burndown &amp; Burnup</em></strong></p>
<p>Use a burndown chart to track the remaining effort against plan. Use a burnup to track the % complete against plan. I color code the bars to indicate where we went off track. I also add call outs to explain large changes. I report the data in a small table (e.g., planned effort, actual effort remaining, difference).<br />
<a href="http://3.bp.blogspot.com/_DHcIJngEEpY/RdXxQu5ZxDI/AAAAAAAAAHc/3Ky8GnEmv4U/s1600-h/Iteration+Burndown+-+Development+Team.GIF"><img src="http://3.bp.blogspot.com/_DHcIJngEEpY/RdXxQu5ZxDI/AAAAAAAAAHc/3Ky8GnEmv4U/s400/Iteration+Burndown+-+Development+Team.GIF" border="0" alt="" /></a><br />
<a href="http://4.bp.blogspot.com/_DHcIJngEEpY/RdXxQ-5ZxEI/AAAAAAAAAHk/tLjT2gvY1TY/s1600-h/Iteration+Burnup+-+Development+Team.GIF"><img src="http://4.bp.blogspot.com/_DHcIJngEEpY/RdXxQ-5ZxEI/AAAAAAAAAHk/tLjT2gvY1TY/s400/Iteration+Burnup+-+Development+Team.GIF" border="0" alt="" /></a><br />
<strong><em>Testing</em></strong></p>
<p>There are several reports that you can create to provide visibility into testing. This example represents our defect trend by severity over the course of an iteration.</p>
<p><a href="http://3.bp.blogspot.com/_DHcIJngEEpY/RdXyBu5ZxFI/AAAAAAAAAHs/kC751VUrE3s/s1600-h/5+-+Project+Dashboard+-+Testing.GIF"><img src="http://3.bp.blogspot.com/_DHcIJngEEpY/RdXyBu5ZxFI/AAAAAAAAAHs/kC751VUrE3s/s400/5+-+Project+Dashboard+-+Testing.GIF" border="0" alt="" /></a></p>
<p><strong><em>Attrition Rate</em></strong><br />
Most of our clients are concerned about turnover and losing key resources. We have introduced the following graphs to track our attrition rate per quarter. We also list the resources that left and the reasons for leaving.<br />
<a href="http://4.bp.blogspot.com/_DHcIJngEEpY/RdXyn-5ZxGI/AAAAAAAAAIU/FUCfU378RX0/s1600-h/Attrition+Data.GIF"><img src="http://4.bp.blogspot.com/_DHcIJngEEpY/RdXyn-5ZxGI/AAAAAAAAAIU/FUCfU378RX0/s400/Attrition+Data.GIF" border="0" alt="" /></a><br />
<a href="http://4.bp.blogspot.com/_DHcIJngEEpY/RdXyn-5ZxHI/AAAAAAAAAIc/UXiko_XyBaQ/s1600-h/Attrition+Rate.GIF"><img src="http://4.bp.blogspot.com/_DHcIJngEEpY/RdXyn-5ZxHI/AAAAAAAAAIc/UXiko_XyBaQ/s400/Attrition+Rate.GIF" border="0" alt="" /></a></p>
<p><strong><em>Other Metrics Under Consideration</em></strong></p>
<ul>
<li>Planned vs. actual features delivered by iteration</li>
<li>Velocity (# of FPs delivered by iteration)</li>
<li>Defect discovery rate</li>
<li>Defect density (defects per FP)</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rithyph.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rithyph.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rithyph.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rithyph.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rithyph.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rithyph.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rithyph.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rithyph.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rithyph.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rithyph.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rithyph.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rithyph.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rithyph.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rithyph.wordpress.com/67/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rithyph.wordpress.com&amp;blog=9431073&amp;post=67&amp;subd=rithyph&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rithyph.wordpress.com/2010/02/09/standard-progress-reporting-tracking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a2f59b2eb3ed10c5a03a4141cd2fcd26?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rithyph</media:title>
		</media:content>

		<media:content url="http://3.bp.blogspot.com/_DHcIJngEEpY/RdXvOu5Zw_I/AAAAAAAAAG8/exZKjq-ifD8/s400/1+-+Project+Dashboard+-+Timeline.gif" medium="image" />

		<media:content url="http://3.bp.blogspot.com/_DHcIJngEEpY/RdXvyu5ZxAI/AAAAAAAAAHE/zYVfGvhMnjc/s400/4+-+Project+Dashboard+-+Parking+Lot.GIF" medium="image" />

		<media:content url="http://1.bp.blogspot.com/_DHcIJngEEpY/RdXwQO5ZxBI/AAAAAAAAAHM/9K3JZemNyiQ/s400/6+-+Project+Dashboard+-+Productivity.GIF" medium="image" />

		<media:content url="http://4.bp.blogspot.com/_DHcIJngEEpY/RdXwu-5ZxCI/AAAAAAAAAHU/BXrk_aRRJgs/s400/7+-+Project+Dashboard+-+Weekly+Financials.GIF" medium="image" />

		<media:content url="http://3.bp.blogspot.com/_DHcIJngEEpY/RdXxQu5ZxDI/AAAAAAAAAHc/3Ky8GnEmv4U/s400/Iteration+Burndown+-+Development+Team.GIF" medium="image" />

		<media:content url="http://4.bp.blogspot.com/_DHcIJngEEpY/RdXxQ-5ZxEI/AAAAAAAAAHk/tLjT2gvY1TY/s400/Iteration+Burnup+-+Development+Team.GIF" medium="image" />

		<media:content url="http://3.bp.blogspot.com/_DHcIJngEEpY/RdXyBu5ZxFI/AAAAAAAAAHs/kC751VUrE3s/s400/5+-+Project+Dashboard+-+Testing.GIF" medium="image" />

		<media:content url="http://4.bp.blogspot.com/_DHcIJngEEpY/RdXyn-5ZxGI/AAAAAAAAAIU/FUCfU378RX0/s400/Attrition+Data.GIF" medium="image" />

		<media:content url="http://4.bp.blogspot.com/_DHcIJngEEpY/RdXyn-5ZxHI/AAAAAAAAAIc/UXiko_XyBaQ/s400/Attrition+Rate.GIF" medium="image" />
	</item>
		<item>
		<title>Scrum vs. RUP &#8211; The winner is&#8230;</title>
		<link>http://rithyph.wordpress.com/2010/02/09/scrum-vs-rup-the-winner-is/</link>
		<comments>http://rithyph.wordpress.com/2010/02/09/scrum-vs-rup-the-winner-is/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 08:04:35 +0000</pubDate>
		<dc:creator>Rithy Pheath</dc:creator>
				<category><![CDATA[Scrum Method]]></category>

		<guid isPermaLink="false">http://rithyph.wordpress.com/?p=65</guid>
		<description><![CDATA[Back in August, I talked about how agile was working with my offshore team. Over the past few months we&#8217;ve had our ups and downs, but the good thing is that we&#8217;ve learned from our mistakes and continued to modify the process to fit our project&#8217;s needs. All those iteration assessments (or lessons learned or [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rithyph.wordpress.com&amp;blog=9431073&amp;post=65&amp;subd=rithyph&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Back in August, I talked about how agile was working with my offshore team. Over the past few months we&#8217;ve had our ups and downs, but the good thing is that we&#8217;ve learned from our mistakes and continued to modify the process to fit our project&#8217;s needs. All those iteration assessments (or lessons learned or retrospectives) that we conduct really pay off if you take the time to adjust based on what you learn.</p>
<p>Overall, we&#8217;ve ended up modifying our strictly RUP process to accomodate for some of the Scrum methodologies that we are comfortable with as an organization. Here is an update:</p>
<p>Potentially Releasable Software</p>
<ul>
<li>The team was having difficulty with this concept</li>
<li>The team was killing themselves trying to get the defect counts within the acceptance criteria</li>
<li>We came up with a compromise that is working well.<br />
(1) Iterations are now about 3 months long versus 5 weeks<br />
(2) We deliver an &#8220;in progress&#8221; build to the customer at the end of each month to get early feedback; this build always includes UCs that have been completed during that month and other in progress UCs.<br />
(3) We commit to meeting the quality criteria by the end of the iteration</li>
</ul>
<p>Product Backlog</p>
<ul>
<li>We&#8217;ve altered the Product Backlog to be a combined Release Roadmap and Release Planning document</li>
<li>It serves the same purpose, however it has made planning easier since we have added more columns to track builds, effort per build, contingencies, rework, etc.</li>
</ul>
<p>Planning</p>
<ul>
<li>This was the biggest problem area and the area where we&#8217;ve seen the most improvement. It&#8217;s amazing how good planning improves morale!</li>
<li>We now have one master Iteration Backlog for the team as a whole.</li>
<li>Each of the teams manages their own Project Plan and these roll up into a Master Project Plan.</li>
<li>From the Master Project Plan I can get the progress of the build and the progress of the iteration.</li>
<li>We are using both burndown and burnup charts. This makes is very easy to see the progress and gives the customer visibility into the project.</li>
<li>On the burndown charts, I track the remaining effort against the target.</li>
<li>On the burnup charts, I track the percent complete against the target.</li>
<li>The actual data that generates these charts changes to red if something is behind.</li>
</ul>
<p>Sample Iteration and Build Burndowns<br />
<a href="http://3.bp.blogspot.com/_DHcIJngEEpY/RbjnX4nxvPI/AAAAAAAAAAc/h5LOSo2rkBE/s1600-h/Iteration+Burndown+-+Development+Team.GIF"><img src="http://3.bp.blogspot.com/_DHcIJngEEpY/RbjnX4nxvPI/AAAAAAAAAAc/h5LOSo2rkBE/s400/Iteration+Burndown+-+Development+Team.GIF" border="0" alt="" /></a></p>
<p><a href="http://1.bp.blogspot.com/_DHcIJngEEpY/RbjnjYnxvQI/AAAAAAAAAAk/IlOwdP8DeQQ/s1600-h/Iteration+Build+Burndown+-+Development+Team.GIF"><img src="http://1.bp.blogspot.com/_DHcIJngEEpY/RbjnjYnxvQI/AAAAAAAAAAk/IlOwdP8DeQQ/s400/Iteration+Build+Burndown+-+Development+Team.GIF" border="0" alt="" /></a></p>
<p>Sample Iteration and Build Burnups<a href="http://2.bp.blogspot.com/_DHcIJngEEpY/RbjomonxvRI/AAAAAAAAAAs/ZD39Xt_f_LA/s1600-h/Iteration+Burnup+-+Development+Team.GIF"><img src="http://2.bp.blogspot.com/_DHcIJngEEpY/RbjomonxvRI/AAAAAAAAAAs/ZD39Xt_f_LA/s400/Iteration+Burnup+-+Development+Team.GIF" border="0" alt="" /></a></p>
<p><a href="http://3.bp.blogspot.com/_DHcIJngEEpY/RbjpG4nxvSI/AAAAAAAAAA0/oNuNGfp25zU/s1600-h/Iteration+Build+Burnup+-+Development+Team.GIF"><img src="http://3.bp.blogspot.com/_DHcIJngEEpY/RbjpG4nxvSI/AAAAAAAAAA0/oNuNGfp25zU/s400/Iteration+Build+Burnup+-+Development+Team.GIF" border="0" alt="" /></a></p>
<p><em>posted by Andy @ <a title="permanent link" href="http://thescrumblog.blogspot.com/2007/01/scrum-vs-rup-winner-is.html">11:58 AM</a></em> <a href="https://www.blogger.com/comment.g?blogID=30596174&amp;postID=1629828394917215375">3 comments</a> <a title="Edit Post" href="http://www.blogger.com/post-edit.g?blogID=30596174&amp;postID=1629828394917215375"><img src="http://www.blogger.com/img/icon18_edit_allbkg.gif" alt="" width="18" height="18" /></a></p>
<p><!-- End .post --> <!-- Begin #comments --> <!-- End #comments --></p>
<h2>Monday, October 16, 2006</h2>
<p><!-- Begin .post --><a name="116100452677508132"></a></p>
<h3>5 Reasons for Project Management Failure</h3>
<p>Adapted from PM Network, October 2006</p>
<ol>
<li>Organizations lack the resources, know-how and commitment to manage culture change.</li>
<li>Executives says they want good project management methologies, but their actions don&#8217;t back up their words.</li>
<li>The methodology isn&#8217;t scaled appropriately to the size of the project &#8212; making project management seem cumbersome and unfocused.</li>
<li>Organizations fail to plan up front.</li>
<li>Senior managers think project management is a software tool.</li>
</ol>
<p>It&#8217;s take courage to initiate change. Managers need to be willing to take risks if they want projects to run better. SCRUM provides a framework for addressing these failures.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rithyph.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rithyph.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rithyph.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rithyph.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rithyph.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rithyph.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rithyph.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rithyph.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rithyph.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rithyph.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rithyph.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rithyph.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rithyph.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rithyph.wordpress.com/65/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rithyph.wordpress.com&amp;blog=9431073&amp;post=65&amp;subd=rithyph&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rithyph.wordpress.com/2010/02/09/scrum-vs-rup-the-winner-is/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a2f59b2eb3ed10c5a03a4141cd2fcd26?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rithyph</media:title>
		</media:content>

		<media:content url="http://3.bp.blogspot.com/_DHcIJngEEpY/RbjnX4nxvPI/AAAAAAAAAAc/h5LOSo2rkBE/s400/Iteration+Burndown+-+Development+Team.GIF" medium="image" />

		<media:content url="http://1.bp.blogspot.com/_DHcIJngEEpY/RbjnjYnxvQI/AAAAAAAAAAk/IlOwdP8DeQQ/s400/Iteration+Build+Burndown+-+Development+Team.GIF" medium="image" />

		<media:content url="http://2.bp.blogspot.com/_DHcIJngEEpY/RbjomonxvRI/AAAAAAAAAAs/ZD39Xt_f_LA/s400/Iteration+Burnup+-+Development+Team.GIF" medium="image" />

		<media:content url="http://3.bp.blogspot.com/_DHcIJngEEpY/RbjpG4nxvSI/AAAAAAAAAA0/oNuNGfp25zU/s400/Iteration+Build+Burnup+-+Development+Team.GIF" medium="image" />

		<media:content url="http://www.blogger.com/img/icon18_edit_allbkg.gif" medium="image" />
	</item>
		<item>
		<title>Changing the Mindset of an Organization</title>
		<link>http://rithyph.wordpress.com/2010/02/09/changing-the-mindset-of-an-organization/</link>
		<comments>http://rithyph.wordpress.com/2010/02/09/changing-the-mindset-of-an-organization/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 08:02:59 +0000</pubDate>
		<dc:creator>Rithy Pheath</dc:creator>
				<category><![CDATA[Scrum Method]]></category>

		<guid isPermaLink="false">http://rithyph.wordpress.com/?p=63</guid>
		<description><![CDATA[I have been working hard to convince people (i.e., management) within my organization that the benefits and values that Agile brings to organizations and projects far outweigh any possible side effects (I guess some warped people could see hyperproductivity and making everything visible as negative side effects). We have a global agile process group and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rithyph.wordpress.com&amp;blog=9431073&amp;post=63&amp;subd=rithyph&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have been working hard to convince people (i.e., management) within my organization that the benefits and values that Agile brings to organizations and projects far outweigh any possible side effects (I guess some warped people could see hyperproductivity and making everything visible as negative side effects).</p>
<p>We have a global agile process group and everyone on the team is in complete agreement that our current RUP process would benefit by adapting some Agile/Scrum techniques. Here&#8217;s our current game plan:</p>
<ol>
<li>How do we convince the organization of the benefits?  How do we convince them that change is good?</li>
<li>Who do we get to sponsor the initiative at the executive level? We need someone with the courage to act differently, to find out if the environment will support us.</li>
<li>How do we incorporate Agile &amp; Scrum best practices into our corporate culture and our projects sooner rather than later?</li>
</ol>
<p>Any suggestions or experience with these questions would be greatly appreciated (both good and and comments welcome).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rithyph.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rithyph.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rithyph.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rithyph.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rithyph.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rithyph.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rithyph.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rithyph.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rithyph.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rithyph.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rithyph.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rithyph.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rithyph.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rithyph.wordpress.com/63/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rithyph.wordpress.com&amp;blog=9431073&amp;post=63&amp;subd=rithyph&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rithyph.wordpress.com/2010/02/09/changing-the-mindset-of-an-organization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a2f59b2eb3ed10c5a03a4141cd2fcd26?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rithyph</media:title>
		</media:content>
	</item>
		<item>
		<title>Scrum Core Values</title>
		<link>http://rithyph.wordpress.com/2010/02/09/scrum-core-values/</link>
		<comments>http://rithyph.wordpress.com/2010/02/09/scrum-core-values/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 08:01:24 +0000</pubDate>
		<dc:creator>Rithy Pheath</dc:creator>
				<category><![CDATA[Scrum Method]]></category>

		<guid isPermaLink="false">http://rithyph.wordpress.com/?p=61</guid>
		<description><![CDATA[I believe these should be posted somewhere for everyone on the team to see. It&#8217;s very easy for them to lose sight of them otherwise. Commitment Be willing to commit to a goal Support &#38; encourage commitment The team has the authority to decide how to do the work it has selected Focus Do your [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rithyph.wordpress.com&amp;blog=9431073&amp;post=61&amp;subd=rithyph&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I believe these should be posted somewhere for everyone on the team to see. It&#8217;s very easy for them to lose sight of them otherwise.</p>
<p>Commitment</p>
<ul>
<li>Be willing to commit to a goal</li>
<li>Support &amp; encourage commitment</li>
<li>The team has the authority to decide how to do the work it has selected</li>
</ul>
<p>Focus</p>
<ul>
<li>Do your job</li>
<li>Focus all of your efforts and skills on doing the work that you’ve committed to doing</li>
<li>Don&#8217;t worry about anything else</li>
<li>Once you&#8217;re focused, all of your time is spent looking for and trying solutions to bring order to the problems</li>
</ul>
<p>Openness</p>
<ul>
<li>Keep everything about the project visible to everyone</li>
<li>Scrum removes the ability to dissemble</li>
<li>Responsibilities are clear, authority is allocated, and everything is visible</li>
<li>Scrum counters interference; No one is allowed to add work to a Sprint once it is underway</li>
<li>It’s better to produce something than it is to pursue many alternatives, please everyone, and produce nothing</li>
</ul>
<p>Respect</p>
<ul>
<li>Individuals are shaped by their background and their experiences</li>
<li>Respect the different people who comprise a team</li>
<li>The team adjusts and adapts to meet its commitments for a Sprint:<br />
(1) Who does what is up to the team<br />
(2) The team commits as a whole and sinks or swims together</li>
<li>Do your best, remember everyone else is doing his/her best, and help your teammates</li>
</ul>
<p>Courage</p>
<ul>
<li>Have the courage to commit, to act, to be open, and to expect respect</li>
<li>It requires courage to act differently; Courage to see find out that the environment will support these values; Courage to be willing to find out that relying on one’s own judgment is acceptable – even admirable</li>
<li>Courage is having the guts, the determination, to do the best you can</li>
<li>Courage is the stubbornness not to give up, but to figure out how to meet commitment</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rithyph.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rithyph.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rithyph.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rithyph.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rithyph.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rithyph.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rithyph.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rithyph.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rithyph.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rithyph.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rithyph.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rithyph.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rithyph.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rithyph.wordpress.com/61/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rithyph.wordpress.com&amp;blog=9431073&amp;post=61&amp;subd=rithyph&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rithyph.wordpress.com/2010/02/09/scrum-core-values/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a2f59b2eb3ed10c5a03a4141cd2fcd26?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rithyph</media:title>
		</media:content>
	</item>
		<item>
		<title>Eureka: The Daily Scrum</title>
		<link>http://rithyph.wordpress.com/2010/02/09/eureka-the-daily-scrum-2/</link>
		<comments>http://rithyph.wordpress.com/2010/02/09/eureka-the-daily-scrum-2/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 07:59:37 +0000</pubDate>
		<dc:creator>Rithy Pheath</dc:creator>
				<category><![CDATA[Scrum Method]]></category>

		<guid isPermaLink="false">http://rithyph.wordpress.com/?p=59</guid>
		<description><![CDATA[We have a team at the client site that is holding daily scrum meetings. I am onsite this week and was listening to the conversation (as a chicken from the other room). What I heard caught me off guard; it was a status meeting where they would actually go through and update each task in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rithyph.wordpress.com&amp;blog=9431073&amp;post=59&amp;subd=rithyph&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>We have a team at the client site that is holding daily scrum meetings. I am onsite this week and was listening to the conversation (as a chicken from the other room). What I heard caught me off guard; it was a status meeting where they would actually go through and update each task in the Sprint Backlog.</p>
<p>I took the ScrumMaster to lunch and discussed with him the purpose and benefits of the 3 questions:</p>
<ol>
<li>What did you do yesterday?</li>
<li>What will you do today?</li>
<li>What is preventing you from accomplishing your goal?</li>
</ol>
<p>He was very receptive and acknowledged that he needed to make a change. We held a daily scrum this morning and went through the 3 questions with each team member.</p>
<p>The difference was remarkable. The meeting turned into a conversation rather than a status meeting. Team members were offering help to each other. They finally get it that they are a team and that they are measured as a team.</p>
<p>If anyone is running a project without the daily scrum, they are really missing out on significant opportunities.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rithyph.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rithyph.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rithyph.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rithyph.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rithyph.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rithyph.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rithyph.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rithyph.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rithyph.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rithyph.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rithyph.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rithyph.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rithyph.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rithyph.wordpress.com/59/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rithyph.wordpress.com&amp;blog=9431073&amp;post=59&amp;subd=rithyph&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rithyph.wordpress.com/2010/02/09/eureka-the-daily-scrum-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
	
		<media:content url="http://0.gravatar.com/avatar/a2f59b2eb3ed10c5a03a4141cd2fcd26?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rithyph</media:title>
		</media:content>
	</item>
	</channel>
</rss>
