<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>nexidecimal</title>
	
	<link>http://www.nexidecimal.com/blog</link>
	<description>Talking about what's next in tech.</description>
	<lastBuildDate>Mon, 09 Nov 2009 23:18:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/nexidecimal" /><feedburner:info uri="nexidecimal" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Eight More Google Wave Nominations</title>
		<link>http://feedproxy.google.com/~r/nexidecimal/~3/ZMKxmz6NK0k/</link>
		<comments>http://www.nexidecimal.com/blog/2009/11/eight-more-google-wave-nominations/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 23:17:25 +0000</pubDate>
		<dc:creator>wjklos</dc:creator>
				<category><![CDATA[Announcement]]></category>
		<category><![CDATA[The Cloud]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[wave]]></category>

		<guid isPermaLink="false">http://www.nexidecimal.com/blog/?p=252</guid>
		<description><![CDATA[Well, actually 06 as I spent two of them already.  If you follow me on Twitter (@wjklos) &#8211; you would have found out first.  Co-workers was 2nd priority.  Blog 3rd.  I may have to change that lineup a bit as my first response on Twitter was a spammer (sorry, no Wave for you) and the [...]]]></description>
			<content:encoded><![CDATA[<p>Well, actually 06 as I spent two of them already.  If you follow me on Twitter (@wjklos) &#8211; you would have found out first.  Co-workers was 2nd priority.  Blog 3rd.  I may have to change that lineup a bit as my first response on Twitter was a spammer (sorry, no Wave for you) and the last wave of Wave invites to co-workers has not generated a lot of buzz from them (at least in the way of Waves that I&#8217;ve been added to).  Bottom line, please put Wave through its paces if I nominate you!</p>
<img src="http://feeds.feedburner.com/~r/nexidecimal/~4/ZMKxmz6NK0k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.nexidecimal.com/blog/2009/11/eight-more-google-wave-nominations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.nexidecimal.com/blog/2009/11/eight-more-google-wave-nominations/</feedburner:origLink></item>
		<item>
		<title>Operation Ordertaker: Changing the Standard Consulting Model</title>
		<link>http://feedproxy.google.com/~r/nexidecimal/~3/l6dnPiXQhMM/</link>
		<comments>http://www.nexidecimal.com/blog/2009/11/operation-ordertaker-changing-the-standard-consulting-model/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 02:04:36 +0000</pubDate>
		<dc:creator>wjklos</dc:creator>
				<category><![CDATA[Conceptual]]></category>
		<category><![CDATA[Idea]]></category>

		<guid isPermaLink="false">http://www.nexidecimal.com/blog/?p=246</guid>
		<description><![CDATA[Over the next 10 years, the world will change as much as it has in the last twenty. If you buy into that statement, then 2020, will make 2010 look like 1990. As a business owner, that rate of change is something I probably can't fathom too well. I'm focusing on my day-to-day operations (or maybe quarter-to-quarter in a public company). I'm dealing with annual budgets, reviews, sales quotas, economic issues, and so on. On top of all that, I probably don't consider myself a technology company so I happily run my systems, make sure I'm compliant where I need to be, stay out of the newspaper RSS feeds with data security issues, and hope my BC/DR plans are up-to-date (they're not). I didn't see the end of my business coming -- until it was too late.]]></description>
			<content:encoded><![CDATA[<p style="font-weight: bold;"><span style="font-weight: normal;">Over the next 10 years, the world will change as much as it has in the last twenty. If you buy into that statement, then 2020, will make 2010 look like 1990. As a business owner, that rate of change is something I probably can&#8217;t fathom too well. I&#8217;m focusing on my day-to-day operations (or maybe quarter-to-quarter in a public company). I&#8217;m dealing with annual budgets, reviews, sales quotas, economic issues, and so on. On top of all that, <a href="http://www.nexidecimal.com/blog/2009/11/eventually-your-company-will-be-a-technology-company/">I probably don&#8217;t consider myself a technology company</a> so I happily run my systems, make sure I&#8217;m compliant where I need to be, stay out of the <span style="text-decoration: line-through;">newspaper</span> RSS feeds with data security issues, and hope my BC/DR plans are up-to-date (they&#8217;re not). I didn&#8217;t see the end of my business coming &#8212; until it was too late.<span id="more-246"></span></span></p>
<p>The world of consulting is not immune from this rapid change, if anything, depending upon the type of consulting that you do, you may actually be in a worse position. Not recognizing that you passed the &#8220;peak oil&#8221; of whatever your specialty happens to be, going from project to project looking for better ways to extract crude from the shale, without realizing that there is an abundance of productive new fields opening up all over &#8211; has you looking at the wrong side of the profit margin slope and stuck on projects that don&#8217;t position you for the next &#8220;big thing&#8221;.</p>
<p>I&#8217;ve been a consultant for 15 years now after spending about 6 years in industry. I&#8217;ve worked for boutique firms, &#8220;Tier 1&#8243; firms (Andersen represent!), and &#8220;firms&#8221; in the middle. One of the things most of them have in common is their general operating model. You know, how they make money, how they sell, and their general outlook on the marketspace. These are some of things that are going to need to change over the next several years in order to move ahead.</p>
<p>As part of this series, the main idea I want to explore is reversing the order of precedence in a consulting company (or any organization, company, department, etc.) where a marketable talent should be the basic unit-of-measure by which that organization is judged. Where the success of whatever organization that talent is attached to is dependent upon nurturing, marketing, and harvesting that talent. Make the talent be the entry point to new projects, not the sales staff. To this end, we&#8217;ll be:</p>
<ol>
<li>Building a model that operates more like a sports team rather than like a 1950s, top-down, &#8220;Tin Men&#8221;, sell-or-die mentality;</li>
<li>Avoiding a fall into a &#8220;Jennifer Government&#8221; type relationship with your employer. Consultants are responsible for their own marketability, thus their voice needs to be their voice. If done right, the voice of the consultant can be of simultaneous benefit to the &#8220;firm&#8221; too.</li>
<li>Focusing the message, generalizing less &#8211; but at the same time not becoming hyperfocused.</li>
</ol>
<p>The selling model will be first. What we will need to breakdown is the notion that because sales is a low-supply, high-demand scarce resource, it is more valuable than the plentiful resources used on the delivery side of the house. While I&#8217;m not one to try and turn basic tenets of simple economics on its head, I am one to flip the problem around a bit so that I can show that maybe the types of people we generally <span style="font-weight: bold;">think</span> we need to fill the sales and delivery roles, are not the ones we actually do need.</p>
<p>My goal is not necessarily to marginalize the sales effort <span style="border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #ff0000;">or</span><span style="-webkit-user-modify: read-only;"><span> </span></span> the people that perform it, as I don&#8217;t think they should be an order taker any more than I want to be considered an order filler. Rather my goal is actually to make people that focus on doing delivery well, worth a dozen dimes instead of being a dime a dozen. <span> </span><span> </span></p>
<img src="http://feeds.feedburner.com/~r/nexidecimal/~4/l6dnPiXQhMM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.nexidecimal.com/blog/2009/11/operation-ordertaker-changing-the-standard-consulting-model/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.nexidecimal.com/blog/2009/11/operation-ordertaker-changing-the-standard-consulting-model/</feedburner:origLink></item>
		<item>
		<title>Eventually, You Will Become a Technology Company</title>
		<link>http://feedproxy.google.com/~r/nexidecimal/~3/3rxyjmahoEM/</link>
		<comments>http://www.nexidecimal.com/blog/2009/11/eventually-your-company-will-be-a-technology-company/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 03:54:07 +0000</pubDate>
		<dc:creator>wjklos</dc:creator>
				<category><![CDATA[Idea]]></category>
		<category><![CDATA[consulting]]></category>
		<category><![CDATA[status quo]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://www.nexidecimal.com/blog/?p=240</guid>
		<description><![CDATA[Things are changing.  Rapidly.  The old solutions are just that...old.  It's time we start embracing the change and tell our clients, "Sorry, you used to be an insurance/medical/financial company, but now you are a technology company - and you're doing it wrong."]]></description>
			<content:encoded><![CDATA[<p>I ran across this the other day from <a href="http://www.opposableplanets.com/insight/2009/10/technology-is-your-business/">Opposable Planets</a> and thought it was very poignant.  Of course I didn&#8217;t &#8220;star&#8221; when I had the chance and spent over an hour reviewing my Twitter feeds and doing Google searches looking for it before finally tracking it down via RSS.</p>
<p>I&#8217;m working on a series of posts that deal with making us (myself included) better consultants, changing the old sell &amp; deliver model that rewards the wrong side of the equation and nets our clients a &#8220;net-static&#8221; solution at best.  The theme will be to quit proposing a &#8220;business as usual&#8221; stance.  All too often, we as consultants tell companies, &#8220;You&#8217;re not in the &#8217;so-and-so&#8217; so you need to focus on your core strengths.&#8221;  Maybe that&#8217;s not the right answer anymore.</p>
<p>Things are changing.  Rapidly.  The old solutions are just that&#8230;old.  It&#8217;s time we start embracing the change and tell our clients, &#8220;Sorry, you used to be an insurance/medical/financial company, but now you are a technology company &#8211; and you&#8217;re doing it wrong.&#8221;</p>
<img src="http://feeds.feedburner.com/~r/nexidecimal/~4/3rxyjmahoEM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.nexidecimal.com/blog/2009/11/eventually-your-company-will-be-a-technology-company/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.nexidecimal.com/blog/2009/11/eventually-your-company-will-be-a-technology-company/</feedburner:origLink></item>
		<item>
		<title>The Value of Backchannel Discussions in Web 2.0 &amp; Web Squared</title>
		<link>http://feedproxy.google.com/~r/nexidecimal/~3/UzcPEMDxaKw/</link>
		<comments>http://www.nexidecimal.com/blog/2009/10/the-value-of-backchannel-discussions-in-web-2-0-web-squared/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 01:25:26 +0000</pubDate>
		<dc:creator>wjklos</dc:creator>
				<category><![CDATA[Conceptual]]></category>
		<category><![CDATA[Idea]]></category>
		<category><![CDATA[Social]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Web^2]]></category>
		<category><![CDATA[backchannel]]></category>
		<category><![CDATA[conversations]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[future]]></category>
		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://www.nexidecimal.com/blog/?p=228</guid>
		<description><![CDATA[In an area where people are gathered, either physically or vitually, the conversations and comments being made in the background, are often more prescient, and almost certainly more entertaining than than the subject matter being officially presented. Encouraging and capturing these backchannel discussions is a way to make your presentations more relevant to that specific audience and allow the speaker to morph and refine the message based on those sessions of invaluable feedback.]]></description>
			<content:encoded><![CDATA[<p style="font-weight: bold;"><span style="font-weight: normal;">In an area where people are gathered, either physically or vitually, the conversations and comments being made in the background, are often more prescient, and almost certainly more entertaining than than the subject matter being officially presented. Encouraging and capturing these backchannel discussions is a way to make your presentations more relevant to that specific audience and allow the speaker to morph and refine the message based on those sessions of invaluable feedback.</span><span id="more-228"></span></p>
<p style="font-weight: bold;"><span style="font-weight: normal;"><strong><span style="font-weight: normal;">What is the backchannel? Murmur, background noise&#8230;you know, those annoying side conversations during a meeting that usually only serve to disrupt and distract from whatever the main person in the room happens to be talking about. That&#8217;s the backchannel. Sometimes they&#8217;re secret discussions about you (at least in your mind they&#8217;re about you) that take place in closed-door offices. Or sometimes they&#8217;re all the <span style="border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #ff0000;">chatiness</span><span style="-webkit-user-modify: read-only;"><span> </span></span> happening over instant messenger while you&#8217;re sitting on a boring conference call. Or it can be even something as simple as the comments on this blog posting. Some people refer to it as a meta-conversation (conversation about the conversation) or even sidebar discussions, but regardless of <span style="border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #ff0000;">you</span><span style="-webkit-user-modify: read-only;"><span> </span></span> choice of phrase, the backchannel represents all conversations that are not part of the main thread of discussion &#8211; however are somehow contextually related to you either by subject-matter<span style="font-style: italic;"> </span>(topical), <span style="font-style: italic;">geography </span>(<span style="border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #ff0000;">locational</span><span style="-webkit-user-modify: read-only;"><span> </span></span>), and/or <span style="font-style: italic;">intimate frame-of-reference </span>(personal). </span></strong></span></p>
<p><span style="font-style: italic;">Topical<br />
<span style="font-style: normal;">The topical backchannel context involves groups of people that are congregating for a specific purpose. These could be meetings, <span style="border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #ff0000;">rallys</span><span style="-webkit-user-modify: read-only;"><span> </span></span>, conferences, concerts, sporting events, etc. &#8211; but essentially everyone is there for a common purpose. The participants may or may not be all physically in the same location (for web conferences, people are scattered all over the world) but it&#8217;s the subject matter that draws them together. It&#8217;s a shared purpose.</span></span></p>
<p><em>Locational<br />
<span style="font-style: normal;">Where topical backchannel conversations have people sharing their experience around a subject matter, the locational backchannel has experiences being shared around a common geography. The geography can be hyper-local such as a stadium or arena, or more widespread like a neighborhood or town. The topics being shared can be varied, but the context maintains relevance by tying everything together via the proximity to the other participants. A perfect example of this is using your Twitter client to see all the tweets being broadcast in your immediate area. The subjects of those tweets can range from announcing dinner plans to lamenting about work but interest is piqued by the fact that these are neighbors of your in some way.</span></em></p>
<p><span style="font-style: italic;">Personal<br />
<span style="font-style: normal;">Personal conversations may or may not have topical or locational contexts that relate to your own situation at that particular moment, but you care about what some people say because you have some vested interest in the actual person. They could be friends, family members, co-workers, or someone of a varying degree of celebrity. While, it may not always be interesting conversations they&#8217;re having, but it is always pertinent to you. This is why you follow certain people in the first place isn&#8217;t it? </span></span></p>
<p><span style="font-weight: bold;">Purpose<br />
<span style="font-weight: normal;">The primary purpose of the backchannel is to give someone an opportunity to be heard. Whether it&#8217;s about expressing an alternate opinion, obtaining/providing clarification on a comment, or airing some form of agreement/disagreement &#8211; it&#8217;s an empowering form of expression. There may be 1000s of people involved with whatever is going on, but each backchannel voice is equal in weight. Assuming you&#8217;re even listening that is.</span></span></p>
<p>The secondary purpose is for sharing experiences. &#8220;I am here&#8221;. &#8220;We are here&#8221;. People at the front of the group, relaying messages to the people in the back. &#8220;I just saw so-and-so, I think the band&#8217;s coming out&#8221;! &#8220;Accident on I-71, take the lateral to I-75 instead&#8221;. These relationships can be formed and broken in a matter of minutes or hours, but the value of the interaction can last for much longer if you listen correctly.</p>
<p>To the actual participants of these out-of-band conversations, they get value from the interaction itself. But if you, the provider, are savvy enough, you can give them extra value by reacting timely to their discussions.</p>
<p><span style="font-weight: bold;">Value<br />
<span style="font-weight: normal;">The <span style="border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #ff0000;">forechannel</span><span style="-webkit-user-modify: read-only;"><span> </span></span> discussion, without the backchannel is a flat subject. Two dimensional in that it has height and width, but no real depth. A backchannel discussion without it&#8217;s <span style="border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #ff0000;">forechannel</span><span style="-webkit-user-modify: read-only;"><span> </span></span> has no context, It&#8217;s essentially just random noise. Together though, these two channels can form a symbiotic mesh of discussion where the <span style="border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #ff0000;">forechannel</span><span style="-webkit-user-modify: read-only;"><span> </span></span> gives relevance and shape to the background noise, and the backchannel gives the main idea more depth and understanding. OK, that&#8217;s maybe a little obtuse. How about a couple of examples: </span></span></p>
<ol>
<li>Giving a presentation for a local user group, the speaker has been through this material dozens of times. In order to keep it fresh for himself, the speaker gives the audience a Twitter #hashtag to use while he&#8217;s wading through the material.  He tells them that while he welcomes any questions during the talk, if they ask them via Twitter, he can address them during the appropriate portion of the presentation. A positive of this approach is that all of the gathered questions can be compiled and used to refine the message, establish FAQs, get direct contact information of the participants, and possibly sift through the conversations to find new avenues of business.</li>
<li>A downtown venue is hosting a sold out concert event and a few hours before it begins, starts to monitor the backchannel of patrons registered for the event talking about excitement for the event, traffic issues, and what they hope the band will be playing that night. Based on the number of messages about leaving for the event, the venue can estimate when the bulk of the crowd will be arriving. Complaints about traffic can prompt response back out to the incoming fans about alternate routes and which venue gates have the shortest lines. And the performing band can use the desires of the audience to maybe add a song to that night&#8217;s set that originally wasn&#8217;t scheduled to be played.</li>
<li>Getting ready to go out on the town, every couple, family, and group of friends has the same discussion - &#8220;<span style="font-style: italic;">Where do you want to go/eat? What do you want to do/see?</span>&#8220;. Each person surfing their personal backchannels can quickly come up with new restaraunts or movies that quickly get narrowed down into a decision. Sure, there are web sites and iPhone apps that will let you see reviews of local places, but the power of the backchannel is that it makes recommendations more personal. In the end, all decisions are made with a mixture of logic and emotion and the personal backchannel provides that emotional element when logic cannot choose between two or more equal unknown options.</li>
</ol>
<p>Obviously, a lot of things need to happen in order to make this work, but the building blocks are all there to do it today. <a style="font-family: arial, sans-serif; color: #664d9f;" href="http://www.web2summit.com/web2009/public/schedule/detail/10194" target="_blank">Web Squared</a>, the follow-on to Web 2.0 according to Tim O&#8217;Reilly, will help make these mainstream capabilities. Acquiring the data will not be the barrier in making use of the backchannel, rather it will be the sifting and application to their specific needs that will require the imagination and effort. This is why high-end data skills will be one of the hottest markets and job opportunities during the next wave.</p>
<p><span style="font-weight: bold;">It&#8217;s Not About Control<br />
<span style="font-weight: normal;">You can&#8217;t control the backchannel. Don&#8217;t even try. The more you try to shape the message, the more you&#8217;re not going to like how it comes out. Your job is to enable the conversations, capture them, and adapt yourself based on them. You can take the inputs and transform them into something useful for yourself and others, but in the end, it&#8217;s not your message because you didn&#8217;t create it, you just allowed it to happen.<br />
</span></span></p>
<p><span style="font-weight: bold;">S</span><span style="font-weight: bold;">ummary<br />
<span style="font-weight: normal;">If not officially provided by the venue, sponsor, or host, these backchannel discussions will occur organically. People will make up hashtags or keywords that make the most sense, or follow the lead of their <span style="border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #ff0000;">neighbor</span><span style="-webkit-user-modify: read-only;"><span> </span></span>. Some of these conversation snippets you may be able to find later by randomly looking for tell tale keywords that your audience may have used, but a good portion will be lost into the ether &#8211; at least to you. These could have been the most damning comments or those harboring the most praise. In either case, you won&#8217;t be able to use them to your advantage if you can&#8217;t find them. </span></span></p>
<img src="http://feeds.feedburner.com/~r/nexidecimal/~4/UzcPEMDxaKw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.nexidecimal.com/blog/2009/10/the-value-of-backchannel-discussions-in-web-2-0-web-squared/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.nexidecimal.com/blog/2009/10/the-value-of-backchannel-discussions-in-web-2-0-web-squared/</feedburner:origLink></item>
		<item>
		<title>My First Week with Google Wave</title>
		<link>http://feedproxy.google.com/~r/nexidecimal/~3/7cLJR2tCLDE/</link>
		<comments>http://www.nexidecimal.com/blog/2009/10/my-first-week-with-google-wave/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 02:06:23 +0000</pubDate>
		<dc:creator>wjklos</dc:creator>
				<category><![CDATA[The Cloud]]></category>
		<category><![CDATA[first look]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[impression]]></category>
		<category><![CDATA[wave]]></category>

		<guid isPermaLink="false">http://www.nexidecimal.com/blog/?p=212</guid>
		<description><![CDATA[Like everyone else it seems, after I saw the GoogleIO  presentation of Wave this Summer, I navigated through all the links I could find trying to find a way to sign up. I mean, come on. I&#8217;m an early adopter of everything they put out for consumption, that&#8217;s gotta be worth a little consideration right? [...]]]></description>
			<content:encoded><![CDATA[<p style="font-weight: bold;"><span style="font-weight: normal;"><strong><span style="font-weight: normal;">Like everyone else it seems, after I saw the <span style="border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #ff0000;">GoogleIO</span><span style="-webkit-user-modify: read-only;"><span> </span></span> presentation of Wave this Summer, I navigated through all the links I could find trying to find a way to sign up. I mean, come on. I&#8217;m an early adopter of everything they put out for consumption, that&#8217;s gotta be worth a little consideration right? As usual no, so I put my name into the hat along with all the other Google-committed early adopters&#8230;and waited. </span></strong></span></p>
<p>I read the pro-Wave viewpoints and I read the anti-Wave viewpoints. Each had good points, and each had &#8220;I don&#8217;t think they get it&#8221; viewpoints. And I waited. Waited for the day when I could try it out and form my own viewpoint.<span id="more-212"></span></p>
<p><span style="font-weight: bold;">Fall 2009<br />
<span style="font-weight: normal;">Rumors began to circulate that on October 1, Google would be expanding their pool of testers. Maybe, just maybe, my self-proclaimed tight relationship with Google would get me the invite I so desired, or rather &#8220;needed&#8221;. I needed to be out in front. If Wave <span style="border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #ff0000;">leaned</span><span style="-webkit-user-modify: read-only;"><span> </span></span> even a little bit in the direction of the positive spin, being out on the front in of this &#8220;next big thing&#8221; could be useful in so many ways. I watched my inbox throughout the day. Nothing. But Twitter had my answer. One of my co-workers had an invite! Know that there were 8 additional invitations attached to each invite from Google. Surely he could give one up! I begged, pleaded, and cajoled, and thankfully &#8211; he ponied one up. In my euphoria, I don&#8217;t recall if I actually promised anything unfortunate in return. I&#8217;m sure he&#8217;ll remind me if I did.</span></span></p>
<p>Again with the waiting. I continued to watch my inbox. C&#8217;mon Google, where&#8217;s my invite. Maybe he didn&#8217;t really send it. Wait, wait, wait. Still nothing. The conjecture engine on the Internet was saying that Google was hand approving the invites, and a few days later, reports of the &#8220;nominations&#8221; being released start to trickle out. Still waiting. Tuesday, Wednesday, Thursday&#8230;.</p>
<p>Driving home from Columbus Thursday night, I got an email &#8220;ding&#8221;. While driving (yes, I know), I reached down to check who it was from&#8230;gasp! Google! It was the invite! I called my buddy Tom. &#8220;Dude! Check your email!&#8221; A few minutes later he pinged me back. He had gotten his too and I now knew what I was going to be doing that night.</p>
<p><span style="font-weight: bold;">The First Wave<br />
<span style="font-weight: normal;">&#8220;Look! We&#8217;re typing at the same time!&#8221; I&#8217;m almost ashamed to admit it, especially since <span style="border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #ff0000;">chat</span><span style="-webkit-user-modify: read-only;"><span> </span></span> clients have done that for years &#8211; but that was the jist of my first interaction with Wave. Tom and I did that for a while, getting used to the navigation, adding pictures and files, checking out all of the extensions, &#8216;bots, and gadgets that were available. Essentially, the digital equivalent of kicking the tires. </span></span></p>
<p><span style="font-weight: bold;">The Next Day<br />
<span style="font-weight: normal;">After getting my fill of the simultaneous typing exercises, I wanted to do something a bit more useful and figured that getting a handle on developing for Wave would be a good way to spend my time. I needed the Google App Engine so I went ahead and downloaded that. Then I chose Python to be my language of choice for creating a &#8216;bot (Java to me is going to become the COBOL of the 21st Century, but that&#8217;s a discussion for another time) and sat down to hook it all up. Aside from some Google instructions that lacked a bit a of clarity, the &#8216;bot was working a short time later. Satisfied with my progress, I put Wave aside for a couple of days to let the whole thing ferment a bit.</span></span></p>
<p><span style="font-weight: bold;">The Rest of the Week<br />
<span style="font-weight: normal;">So now it&#8217;s been a couple of days since my invite. Tolerance for the &#8220;Look, I can see you typing! Isn&#8217;t this cool!&#8221; comments has waned. If I could kick these people from my wave, I would, but &#8220;Delete&#8221; doesn&#8217;t always work. Overall though, I&#8217;m finding good uses for Wave, but so far, all of them are in the collaboration camp: </span></span></p>
<ul>
<li>Getting feedback on blog entries before I post them;</li>
<li>Discussion of events or activities (hmmm, maybe a Wave hosted Windows 7 House Party!);</li>
<li>Group updating of BC/DR or other &#8220;living&#8221; documents;</li>
<li>Keeping an internal company list of people to invite to Wave once we have more invites to give.</li>
</ul>
<p>One idea I really like is using Wave to operate as a backchannel discussion conduit. When I&#8217;m speaking about whatever the topic du jour is, having a conversation running in the background can help me direct the event in ways the audience wants it to go instead where I may be forcing it. Similar to monitoring for #hashtags in Twitter. Value for them, value for me.</p>
<p>But there&#8217;s got to be more. Maybe replacing Sharepoint as our internal &#8220;Knowledge Base&#8221;? That would be awesome. Like Twitter, I don&#8217;t see it as being a chat tool (at least a general chat tool. Discussions around a central topic, yes.).</p>
<p>It&#8217;s a given that Wave will replace our company group mailing list, at least once we all have Wave. Before Wave, we&#8217;ve had tech discussions that have lasted for days and have generated 100s of emails. Then, as quick as they start, they&#8217;re forgotten. Which is unfortunate because our internal topics generate a lot of good thought and content.</p>
<p>A few other observations:</p>
<p><span style="font-style: italic;">Stability</span></p>
<p>Look folks, it&#8217;s not even beta software yet. Some options that I really want to work are grayed out. There are times when you can delete things, and times when inexplicably you can&#8217;t. There have been a few times when Wave has crashed, but I can count them on one hand after several days of decent use. And I have yet to lose any data (which makes sense as everything is saved as soon as you type it).</p>
<p><span style="font-style: italic;">Offline</span></p>
<p>I&#8217;ve been able to do a few things offline which then get posted up to the cloud once I get connected. However, I have not tested to see whether anything is stored locally by turning off my laptop. My gut feel is that would be a situation where you would lose data if you&#8217;re not connected. If Google Gears were running, maybe&#8230;don&#8217;t know yet.</p>
<p><span style="font-style: italic;">Browsers<br />
<span style="font-style: normal;">Most of my Waving has been with Safari (on Mac &amp; iPhone) and Chrome (on Mac &amp; Windows). I did do some Firefox on Windows, and while it worked, mostly, it was the least stable of all the browsers. I may have to try IE just so I can get the error message.</span></span></p>
<p><span style="font-style: italic;"><img class="alignright size-full wp-image-216" style="margin-left: 3px; border: 3px solid black;" title="photo-1" src="http://www.nexidecimal.com/blog/wp-content/uploads/2009/10/photo-1.jpeg" alt="photo-1" width="320" height="480" />iPhone</span></p>
<p>The iPhone implementation of the Wave interface is actually pretty nice. It&#8217;s a browser still (obviously), but done up to look like an application (you even get the cool Google Wave icon for the desktop). It works the same way as a regular browser does in that you see updates live as they happen (and even though I said my tolerance for people talking about that was waning, seeing it happen on my iPhone was pretty cool). Now if I can figure out how to get things into Wave from my phone (e.g. pictures), that would be useful. The File/Upload function doesn&#8217;t seem to work. If I could email content into a Wave that might even be better.</p>
<p><span style="font-style: italic;">Public Waves</span></p>
<p>The few of these I&#8217;ve been a part of make me wonder what the purpose is going to be. In the current iteration, these public waves can fill up fast (to the point where they can no longer be updated) and the conversations so disjointed that no value can be extracted without mounting a full mining expedition. Some sort of sub-grouping or organization mechanism may be required here to help keep sense of things.</p>
<p><span style="font-weight: bold;">Summary</span></p>
<p>Wave will be useful. It actually already is even in its not-beta, mystifying usage model current form. The extensions and &#8216;bots will be part of what makes it a success, and being willing to change the way you think about how information needs to be shared may be the key to really exploring its opportunity.</p>
<img src="http://feeds.feedburner.com/~r/nexidecimal/~4/7cLJR2tCLDE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.nexidecimal.com/blog/2009/10/my-first-week-with-google-wave/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.nexidecimal.com/blog/2009/10/my-first-week-with-google-wave/</feedburner:origLink></item>
		<item>
		<title>Data Center Agility – Execution</title>
		<link>http://feedproxy.google.com/~r/nexidecimal/~3/b7vnIopmgQY/</link>
		<comments>http://www.nexidecimal.com/blog/2009/10/data-center-agility-execution/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 01:49:34 +0000</pubDate>
		<dc:creator>wjklos</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Conceptual]]></category>
		<category><![CDATA[Idea]]></category>
		<category><![CDATA[Methodology]]></category>
		<category><![CDATA[data center]]></category>

		<guid isPermaLink="false">http://www.nexidecimal.com/blog/?p=197</guid>
		<description><![CDATA[ The Execution phase of our Agile Data Center move is where all the fun stuff happens. As a reminder from the previous entries about the project setup and preparation, we&#8217;re doing a data center move where the schedule is flexible (the client is more tolerant of time, less tolerant of risk) and the requirements [...]]]></description>
			<content:encoded><![CDATA[<p style="font-weight: bold;"><span style="font-weight: normal;"> The Execution phase of our Agile Data Center move is where all the fun stuff happens. As a reminder from the previous entries about the <a href="http://www.nexidecimal.com/blog/2009/10/moving-a-data-center-using-agile/">project setup</a> and <a href="http://www.nexidecimal.com/blog/2009/10/data-center-agility-preparation/">preparation</a>, we&#8217;re doing a data center move where the schedule is flexible (the client is more tolerant of time, less tolerant of risk) and the requirements are somewhat nebulous. Our current migration strategy has us virtualizing as many physical servers as possible as well as using SAN replication as our data pusher whenever we can. Our basic currency is an application (Migration Element) to be moved as compared to a feature or requirement that you would usually find in a software project. Our iterations (Migration <span style="border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #ff0000;">Events</span><span style="-webkit-user-modify: read-only;"><span> </span></span>) are a week long and occur during the weekly 6h maintenance window on Sundays. Essentially, our goal is to make the migration as a whole the least disruptive it can possibly be.<span id="more-197"></span><img class="size-full wp-image-200 alignright" title="Migration Event Wheel" src="http://www.nexidecimal.com/blog/wp-content/uploads/2009/10/Migration-Event-Wheel.png" alt="Migration Event Wheel" width="381" height="367" /></span></p>
<p>If you refer to the classic diagram, aka, the Agile Circle of Everything, you&#8217;ll see we have five main work areas that get performed during a Migration Event (I&#8217;m purposefully leaving out the &#8220;Perform Warranty&#8221; piece for the moment). Let&#8217;s look at each of these work areas in more detail:</p>
<ul>
<li>Plan Migration Event</li>
<li>Begin Staging Activities</li>
<li>Perform Event Staging</li>
<li>Perform Event Cutover</li>
<li>Conduct Lessons Learned</li>
</ul>
<p>The first task for the Migration Event is to set up a plan of the work that needs to get done over the next period (whatever amount you selected as the duration of each event: week, two-weeks, <span style="border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #ff0000;">month</span><span style="-webkit-user-modify: read-only;"><span> </span></span>, etc.). This essentially is going to be a list of all the Migration Elements that are next in the priority list, or are leftover from previous Migration Events, or even those that have been prioritized up from subsequent Migration Events. If this is the first Event of your overall Migration Plan, you will need to make a somewhat educated guess as to how many points you can get during during the period (your initial velocity). After you complete a few Migration Events you&#8217;ll have a better feel for what your actual velocity is, but until then, it&#8217;s an estimate.</p>
<p>Select the Migration Elements from your prioritized list, paying close attention to the Migration Groups (this helps assure that you&#8217;re getting applications that need to travel together). Based on your velocity (either experienced or estimated), select as many Elements as can fit in the Event. If you have any holdover Elements from the previous <span style="border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #ff0000;">Event</span><span style="-webkit-user-modify: read-only;"><span> </span></span>, those usually go at the top of your list (unless of course they&#8217;ve been deleted from the project due to a business change. Hey, it happens.) Once compiled, you have your marching orders for this Event. It&#8217;s time to get down to the real work.</p>
<p>Now that you know what it is you&#8217;re trying to accomplish, it&#8217;s time to start setting it up. In our data center move, we&#8217;re anticipating a setup stage where we stand a temporary environment up at the current data center, get the application configured and ready for how it will exist at its destination. Then, in most cases, ship it across the wire though SAN replication or some other electronic other means where it&#8217;s stood up in an identical configuration on the other side. There may be some forklifting occasionally, but we&#8217;re hoping to minimize it. To manage this process, and the following two: Perform Event Staging and Perform Event Cutover, I&#8217;ve created a Migration Element Worksheet that tracks: Element ID, Assigned Migration Event, Assigned Migration Group, Migration Element Sizing, Migration Element Priority, Migration Element Value, Environment, and a progress checklist. This worksheet rolls up to another worksheet which tracks my overall process within the Migration Event, which in turn rolls up to a Burndown Chart.</p>
<p><img class="size-full wp-image-201 alignleft" title="Migration Plan Execution Tree" src="http://www.nexidecimal.com/blog/wp-content/uploads/2009/10/Migration-Plan-Execution-Tree.png" alt="Migration Plan Execution Tree" width="307" height="366" /></p>
<p>The metaphor I&#8217;ve been using for the migration is a moving truck where, being the Virtualization Guy, means I virtualize whatever application I need to move, throw it on the truck (aka the SAN) and then wait for it to get to the new data center. Once there, I unpack it (attach it to the new host) and fire it up! Obviously I&#8217;m glossing over the details of the configuration for the destination environment and testing of the connectivity and the application itself &#8211; in part because I&#8217;m more concerned with the process of moving at the moment, and in part because we haven&#8217;t really worked out all of the details yet. Nevertheless, what I described, while definitely the &#8220;happy path&#8221;, is how we hope to get the bulk of machines to the new data center.</p>
<p>For virtualization activities that have to deal with high-availability, SLAs, replication, high-utilization, etc. &#8211; I&#8217;ll make sure my sizing exercise reflects the extra effort required to move these types of machines, but the overall process will stay the same. If during this process I find I can&#8217;t get all of the work done as specified in the Migration Event Plan, then I&#8217;ll need to defer those Elements (with consent of the business) and adjust my spreadsheets accordingly (although I&#8217;ll probably use <a href="http://www.pivotaltracker.com">Pivotal Tracker</a> when it comes time to do it for real).</p>
<p>The last step in the process, &#8220;Conduct Lessons Learned&#8221; is one that should never be overlooked, even if you have a large number of Migration Events. This is one of the areas where an agile process excels because it takes the tight feedback loop generated by a short Event cycle and turns it into process improvement. Use this time to tweak your <a href="http://www.nexidecimal.com/blog/2009/10/sizing-agile-projects-with-fibonacci/">Fibonacci</a> scale, determine what&#8217;s working and what desperately needs to be improved (or even improved just a little bit).</p>
<p>What about the Perform Warranty step in the iterative process? Once the work is completed and accepted by the business, the Perform Warranty is actually a separate thread of execution following more of a &#8220;help desk&#8221; set of processes. In the diagram, I just wanted to show the hand-off from the main line of work to that sub-process. Essentially, as we complete a migration, the warranty clock starts running. If that group uncovers anything that needs to be addressed by the migration group, we would fold it in to the next Migration Event at the top of the queue along with any deferred items from previous Migration Event.</p>
<p><span style="font-weight: bold;">Summary<br />
<span style="font-weight: normal;">Over these three posts, we discussed a situation where it is possible to use an agile methodology to perform a data center move. The constraints that seem to work include:</span></span></p>
<ul>
<li>A protracted execution timeframe where the client is more apt to avoid risk than either time or money.</li>
<li>A strict schedule for performing the migration (in this case during weekly system maintenance windows).</li>
<li>A willingness to allow elements to &#8220;<span style="border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #ff0000;">slip</span><span style="-webkit-user-modify: read-only;"><span> </span></span>&#8221; from one event to the next.</li>
<li>A nebulous set of requirements and constraints.</li>
</ul>
<p>These are not requirements, although a systematic, repeated schedule is somewhat. If the client were to do a &#8220;big bang&#8221; or a more sporadic implementation, then getting the rhythm and predictability required for an agile process would prove problematic.  If you&#8217;re interested in looking at my spreadsheets for how all of the things I described above fit together, just let me know via Twitter @nexidecimal.</p>
<img src="http://feeds.feedburner.com/~r/nexidecimal/~4/b7vnIopmgQY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.nexidecimal.com/blog/2009/10/data-center-agility-execution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.nexidecimal.com/blog/2009/10/data-center-agility-execution/</feedburner:origLink></item>
		<item>
		<title>Sizing Agile Projects with Fibonacci</title>
		<link>http://feedproxy.google.com/~r/nexidecimal/~3/ySeRaNnDpxs/</link>
		<comments>http://www.nexidecimal.com/blog/2009/10/sizing-agile-projects-with-fibonacci/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 00:24:44 +0000</pubDate>
		<dc:creator>wjklos</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Methodology]]></category>
		<category><![CDATA[fibonacci]]></category>

		<guid isPermaLink="false">http://www.nexidecimal.com/blog/?p=185</guid>
		<description><![CDATA[I got an email today asking essentially, &#8220;WTF does Fibonacci have to do with estimating?&#8221;. Well, my argument starts with the word &#8220;estimating&#8221; as to me, it&#8217;s more about &#8220;sizing&#8221;.
The Fibonacci sequence is essentially a relative scale of effort required to complete a task.  It’s not meant to be an absolute value of how long [...]]]></description>
			<content:encoded><![CDATA[<p>I got an email today asking essentially, &#8220;WTF does Fibonacci have to do with estimating?&#8221;. Well, my argument starts with the word &#8220;estimating&#8221; as to me, it&#8217;s more about &#8220;sizing&#8221;.</p>
<p>The <a href="http://en.wikipedia.org/wiki/Fibonacci_number">Fibonacci</a> sequence is essentially a relative scale of effort required to complete a task.  It’s not meant to be an absolute value of how long something will take – rather, Task A is a lot harder than Task B, but twice as easy as Task C.  The smaller the numbers, the more accurate the sizing should be.  So if I know how to do a series of tasks because I’ve done them over-and-over, then I can baseline those as a “1” or a “2”.  Every task after that becomes a factor relative to that baseline and is based on how much you don’t know about a requirement (or feature) in addition to how much “you know that you don’t know”.<span id="more-185"></span></p>
<p>The Fibonacci scale is good for two reasons (and I&#8217;m leaving out the obvious &#8220;because Fibonacci sounds cool&#8221;) each of which addresses a different estimating concern:</p>
<ol>
<li>I know how to do it, so the scale becomes relative to how difficult a task is, or</li>
<li>I don’t know how to do it very well so the scale is a measure of how much I don’t know.</li>
</ol>
<p>In my head, I break it down this way.  Other people’s definitions may vary, but the scale should be roughly the same:</p>
<ul>
<li><strong>0</strong>: No effort required.  Or, there is some effort required (possibly not trivial), but there is no value delivered so no credit is given for doing the work. It’s essentially a chore that has to be done.</li>
<li><strong>.5</strong>: I’m a Fibonacci purist that likes to split hairs (the two &#8220;1&#8243;s in the 0,1,1,2,3&#8230; sequence are redundant so some people put a .5 in place of a &#8220;1&#8243;).  Or, since 0 is reserved for chores that provide no business value, I can use this in place of “No Effort Required”.</li>
<li><strong>1</strong>: Trivial.  This will be an easy point for my burn-down chart.  I can do these all day to pad my stats.  Or, I underestimate everything I do because I assume I understand the requirement.</li>
<li><strong>2</strong>: A little bit of thought is required, but I’ve done so many, I won’t even break a sweat.  Or, it sounds trivial, but I’m going to hedge my bets a bit.</li>
<li><strong>3</strong>: I&#8217;ve done this a lot, I know what needs to be done, maybe a few extra steps, but that’s it.  Doubtful that I’ll need to Google anything. Or, hmmm.  I don&#8217;t want to overestimate or underestimate, so I&#8217;ll stick this one in the middle.</li>
<li><strong>5</strong>: OK, now we’re getting into the heart of the problem.  Or, I don’t do this very often. I’ll need a fair amount of assistance from Google.</li>
<li><strong>8</strong>: This is going to take some time and planning. Or, I’ve seen other people do this and I prototyped something like it a few years ago.  I’ll need to buy a book.</li>
<li><strong>13</strong>: Possibly the maximum amount I can do and still get it done in one iteration or sprint.  If this item is truly reduced to its simplest form, then it’s a complex piece of work and depending upon my iterative velocity, I may or may not be able to get it done in the time required.  For example, if my average velocity for an iteration is “10” or “11” points, then this one task will be a struggle.  If my personal velocity is “16”, then I should be able to get it done, but there’s obviously a lot of unknowns associated with it otherwise it wouldn’t have been given such a high number.  Keep in mind that 13&#215;1 != 1&#215;13.</li>
<li><strong>21</strong>: I don’t want to do it.  This is designed to show people that it is very complex and cannot possibly be done in the timeframe of an iteration or sprint.  Either the requirements are so fuzzy that it’s rife with danger, or someone keeps asking for something stupid and I want them to go away. Some people put their “21” at “34” or some other higher value.  Some make it an even “100” just to give it some distance from the standard sizing numbers.</li>
</ul>
<p>One reason why this approach is used in Agile is because for absolute estimating, you need to tie the estimate to the actual person doing the work in order for it to be accurate.  Something that takes you 8h to do may take me 16h, but on a relative scale they can both be the same point value.  The nice thing is, that no matter what, the scale is the same for everybody.  Your “1 Point” and my “1 Point” may be different in regards to how long we each take to execute the task, but the since the scale is relative to our own individual abilities, I should see the same work completed curve as we both work through tasks with the same point values.</p>
<p>For team estimations, there is a nominalization process that occurs to make sure we’re all making the same assumptions behind our sizing.  For example, if I size a task at a “2”, but you throw down an “8”, given we share a similar amount of ability, we obviously are interpreting the requirement differently, or approaching it from different directions.  We get together and hash it out so that the actual sizing estimate is agreed upon.</p>
<p>You can also use the same scale for assigning priorities to the tasks so that it becomes easier to know what to jettison based on time constraints and also for measuring business value for help in prioritization.  The principles are the same.  The lower the number the higher the priority or the more definitive the expected value.  The higher the number, the more a priority is a “nice-to-have” or the more nebulous the value proposition.</p>
<img src="http://feeds.feedburner.com/~r/nexidecimal/~4/ySeRaNnDpxs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.nexidecimal.com/blog/2009/10/sizing-agile-projects-with-fibonacci/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.nexidecimal.com/blog/2009/10/sizing-agile-projects-with-fibonacci/</feedburner:origLink></item>
		<item>
		<title>Google Wave Nominations Like App Store Process</title>
		<link>http://feedproxy.google.com/~r/nexidecimal/~3/Y1cIISb5gr8/</link>
		<comments>http://www.nexidecimal.com/blog/2009/10/google-wave-nominations-like-app-store-process/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 14:02:00 +0000</pubDate>
		<dc:creator>wjklos</dc:creator>
				<category><![CDATA[The Cloud]]></category>
		<category><![CDATA[app store]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[nomination]]></category>
		<category><![CDATA[wave]]></category>

		<guid isPermaLink="false">http://www.nexidecimal.com/blog/2009/10/google-wave-nominations-like-app-store-process/</guid>
		<description><![CDATA[Via a co-worker&#8217;s nomination (thanks @michaelcollier!), I got my Google Wave invitation last night.  The nomination was submitted on October 1st and the invitation came through about a week later.  Another co-worker was also nominated about the same time, and he got his invite a few minutes after I did.  So all [...]]]></description>
			<content:encoded><![CDATA[<p>Via a co-worker&#8217;s nomination (thanks @michaelcollier!), I got my Google Wave invitation last night.  The nomination was submitted on October 1st and the invitation came through about a week later.  Another co-worker was also nominated about the same time, and he got his invite a few minutes after I did.  So all those who have been nominated, think of it like the iPhone App Store approval process.  Except that maybe you won&#8217;t be seemingly arbitrarily rejected.</p>
<p>I&#8217;ve only been able to play with it for a couple of hours thus far and the collaboration benefits are obvious.  This weekend I hope to be able to get into it enough to start to see all the possibilities (including writing a bot or two).</p>
<img src="http://feeds.feedburner.com/~r/nexidecimal/~4/Y1cIISb5gr8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.nexidecimal.com/blog/2009/10/google-wave-nominations-like-app-store-process/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.nexidecimal.com/blog/2009/10/google-wave-nominations-like-app-store-process/</feedburner:origLink></item>
		<item>
		<title>Data Center Agility – Preparation</title>
		<link>http://feedproxy.google.com/~r/nexidecimal/~3/MuJgwGIxxCI/</link>
		<comments>http://www.nexidecimal.com/blog/2009/10/data-center-agility-preparation/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 01:30:39 +0000</pubDate>
		<dc:creator>wjklos</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Methodology]]></category>
		<category><![CDATA[data center]]></category>
		<category><![CDATA[pmp]]></category>

		<guid isPermaLink="false">http://www.nexidecimal.com/blog/?p=172</guid>
		<description><![CDATA[Recently, I talked at a high-level about a data center migration on which I&#8217;m currently working, and how it would be possible to use an agile approach for it (or at least parts of it).  The high-level process seemed to make sense, so I wanted to dig a little deeper to see if it was [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, I <a href="http://www.nexidecimal.com/blog/2009/10/moving-a-data-center-using-agile/">talked at a high-level</a> about a data center migration on which I&#8217;m currently working, and how it would be possible to use an agile approach for it (or at least parts of it).  The high-level process seemed to make sense, so I wanted to dig a little deeper to see if it was still a workable solution once more of the details were considered.  Because I&#8217;m also using this concept to try and sell my co-project managers on the beauty of agile, I&#8217;m integrating standard agile-speak with the project-speak we&#8217;re using internally. After all, finding a way to translate concepts is part of the battle when promoting agile to a waterfall crowd.<span id="more-172"></span> Here is the translation dictionary:</p>
<ol>
<li>Migration Element = Feature or Story</li>
<li>Migration Event = Iteration or Sprint</li>
</ol>
<p>Some of the characteristics of Migration Elements are:</p>
<ol>
<li>The base-level of a migration is a Migration Element</li>
<li>Migration Elements are assigned relative priorities</li>
<li>Migration Elements are assigned relative effort (e.g. 0,1,2,3,5,8,13,21)</li>
<li>Migration Elements are associated with like elements into Migration Groups</li>
</ol>
<p>For those of you used to agile methodologies or projects, these notions should be familiar even though the names have a more Data Center-ish flavor to them.  For the purposes of our detailed discussion, I&#8217;m going to use the same major segments of work that we&#8217;re using in our project: Preparation, Execution, and Validation. Today, I&#8217;ll go through Preparation.  It&#8217;s definitely not the fun part of the process, but we gotta do it.</p>
<p><img class="aligncenter size-full wp-image-176" title="prepstage" src="http://www.nexidecimal.com/blog/wp-content/uploads/2009/10/prepstage.jpeg" alt="prepstage" width="592" /></p>
<p><strong>The Preparation<br />
<span style="font-weight: normal;">Preparing for a data center move can be a huge endeavor.  Data volumes are measured in anywhere from dozens of terabytes to petabytes.  Mission critical applications, stringent disaster-recovery requirements, and inconsistent backups all factor in to making a thorough and detailed setup for such a project &#8211; absolutely key for being able to be successful.  In my current situation, we&#8217;re handling the preparation as a traditional waterfall approach, trying to know everything that&#8217;s knowable before actually getting to work on migrating systems from the old to the new data center.  Doing the prep work in a more agile way may be more difficult than it&#8217;s worth, given the interconnectedness of the applications.  We can&#8217;t really take them a company or department at a time and going in we don&#8217;t have visibility into all of the systems to know which &#8220;wire hangars&#8221; we can pull out alone or which ones are hooked together in a big wire blob.  In addition to that, the facility won&#8217;t be ready for us until mid-November so the only thing we have to do anyway is plan.</span></strong></p>
<p><strong><span style="font-weight: normal;"><em>Discovery</em><br />
Ah discovery.  This is the part where you know next to nothing at the beginning of the stage, and think you know everything at the end of it. Where Planning will be the phase to create my agile flow, Discovery will provide my raw material.  Now, we&#8217;ve all done discoveries before, and since the preparation portion of our data center migration project is not really agile, I&#8217;m going to gloss over the act of discovery a bit.<br />
</span></strong></p>
<p><strong><span style="font-weight: normal;">For our project, the big things we need to know during this phase are: </span></strong></p>
<ol>
<li>What are we moving/not moving?</li>
<li>How do systems &amp; applications interrelate?</li>
<li>What BC/DR and security rules do we need to follow?</li>
<li>What are the time/budget constraints?</li>
</ol>
<p><strong><span style="font-weight: normal;">There are other things too, like strategic directions and all the paths you can possibly take to get there.  But for the purposes of what we&#8217;re talking about, we&#8217;ll stop the list here.  Hopefully, we are able to put together a lucid set of documents that organizes all of this collected data into information that is usable for our Planning phase because that&#8217;s where it all starts to take shape.</span></strong></p>
<p><strong> </strong></p>
<p><strong>Planning<br />
<span style="font-weight: normal;"> Now that we know everything &#8211; at least mostly.  We can start figuring out how we need to fit it all together.  While we&#8217;re producing many deliverables as part of this effort, in order to support the agile stuff I want to do during the execution phase, these are the things I need to know coming out of the Preparation phase:</span></strong></p>
<ol>
<li>Assess Migration Grouping &#8211; Which applications and servers go together? What are the upstream and downstream dependencies? Are there any service-level agreements in place dictating which applications have performance requirements, cannot be virtualized, or needs its own box?  Most of this info would have been uncovered during the Discovery.  Here, we need to coalesce it into something useful so I can better plan my Migration Events.</li>
<li>Determine Grouping Priority &#8211; Which groups are high, medium, and low, priority?  Essentially, who does the business say should go first? This will determine the order of the migration events and if I need to defer an application (or promote one) based on time constraints, I&#8217;ll have a good idea of the best candidates for that.</li>
<li>Determine Grouping Effort &#8211; How difficult will each migration be relative to other elements?  As an example, if an application already sits on a virtual server, it should be easier to migrate than one that sits on a physical server.  Also, applications that touch many other applications will require additional steps and testing so would have a higher effort number associated with them.  The end goal is to be able to gauge my migration velocity for each migration event thus allowing me to track performance and increase sizing accuracy over time.  It also lets me &#8220;horse trade&#8221; migration elements if the business were to ask me to re-prioritize an element from a later event into my current one.  Just like in an agile project, we&#8217;re not estimating hours here.  Whether you call them: units, points, or rocks, the intent is for them not to be time-based. You need to know how complex a Migration Element is relative to all of the other Migration Elements or some sort of standard baseline.  Personally, I use a Fibonacci scale because it gives me more separation in sizing the less I know about it, but feel free to use whatever you wish.</li>
<li>Create Migration Event Plan (iteration or sprint plan) &#8211; With the priority and sizings now known, I can lay out an overall schedule of migration events.  This would include the number of total events (iterations), the date each migration element would be delivered, as well as the estimated cost.  This plan would be modified over the course of the migrations, being refined by the actualities of the execution, adding or subtracting migration events as necessary (and adjusting the cost appropriately).  Since we&#8217;ll be using the weekly maintenance window to do our migrations, I&#8217;m going to assume that a Migration Event is 7 days.  I could easily have picked 14 days for two-week Migration Events, but given that my maintenance window is only six hours per week, I&#8217;ll leave it at 7 days until the actual migration velocity proves me wrong.</li>
</ol>
<p><strong><span style="font-weight: normal;">Assuming a one week iteration, where my maintenance window falls on a Sunday, my week could kind of look like this:</span></strong></p>
<p><img class="aligncenter size-full wp-image-177" style="font-weight: normal;" title="iteratonweek" src="http://www.nexidecimal.com/blog/wp-content/uploads/2009/10/iteratonweek.jpeg" alt="iteratonweek" width="592 /&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;span style=" />My constraints somewhat force me into a situation like this, where an iteration starts on a Wednesday and ends on a Monday.  Whether or not this would be workable depends upon how much migration I can get done in my window.  If I can only get 10% done per Migration Event, then I&#8217;ve got 10 weeks of Sundays to look forward to.  Unless I want to go to an every other week schedule or maybe open up the maintenance window for a longer period of time, or even accept mid-week planned outages.  However, if I get 25% done each window, then maybe we can all &#8220;suck it up&#8221; for that long.  In the end, the business, and the IT folks will decide how to distribute the pain.</p>
<p><strong><span style="font-weight: normal;">We should have everything we need now to start iterating through the work.  I know how long the project should take, how much effort is going to be required, and how much it will cost.  However, the most important thing I know is that I don&#8217;t know everything.  My knowledge is still based on estimates, and these estimates won&#8217;t be tested until I actually start doing the work and measuring the results.  Once I start getting real data, I can refine these estimates into something a bit more bankable.  I&#8217;ll cover that in the next segment.</span></strong></p>
<img src="http://feeds.feedburner.com/~r/nexidecimal/~4/MuJgwGIxxCI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.nexidecimal.com/blog/2009/10/data-center-agility-preparation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.nexidecimal.com/blog/2009/10/data-center-agility-preparation/</feedburner:origLink></item>
		<item>
		<title>Moving a Data Center Using Agile</title>
		<link>http://feedproxy.google.com/~r/nexidecimal/~3/EnKQEg6EnW8/</link>
		<comments>http://www.nexidecimal.com/blog/2009/10/moving-a-data-center-using-agile/#comments</comments>
		<pubDate>Tue, 06 Oct 2009 02:25:03 +0000</pubDate>
		<dc:creator>wjklos</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[FDD]]></category>
		<category><![CDATA[Methodology]]></category>
		<category><![CDATA[data center]]></category>

		<guid isPermaLink="false">http://www.nexidecimal.com/blog/?p=158</guid>
		<description><![CDATA[One of the main questions I always get when talking about agile methodologies is - "Can I use it to manage non-development projects?"  The answer is typically yes, although it's not always evident until you start to break it down.  My most recent test is with a data center move.]]></description>
			<content:encoded><![CDATA[<p>Part of being a consultant for a company that doesn&#8217;t really specialize in one specific area, is being thrown into environments that don&#8217;t always directly align with my specialties (read, things I <em>like</em> to do).  For example, here&#8217;s a recent exchange between me and one of my matrix-bosses:</p>
<ul>
<li><strong>Bill, can you manage part of this project to move a data center?</strong></li>
<li><em>Do I get to pick how it&#8217;s managed?</em></li>
<li><strong> </strong><strong>Umm, no &#8211; not so much</strong>.  <strong>But you do get to play with virtualization.</strong></li>
<li><em>Hmmm. Alright I guess. </em></li>
</ul>
<p>In this case, I&#8217;m one of five project managers on a data center migration project.  I, being the only one without a PMP and a software developer by trade, immediately start looking to find an Agile angle for my piece.  At first, I admit, I wasn&#8217;t seeing it.  Then we had a meeting to try and sync up the five projects with regards to their overall migration process when the nice round circles of iterations started to come into view.<span id="more-158"></span></p>
<p>Part of the current issue we&#8217;re facing with the move is that nothing is really set in stone.  Is it going to be one large migration event or maybe several dozen? Does the mainframe go first or last?  Are we forklifting anything at all?  What about the best virtualization strategy?  All of these questions and very few definitive answers. Hazy requirements. Score one for an agile process.</p>
<p>Additionally, there is currently no fixed timeline as the only current constraint is quality.  The more we move towards zero tolerance for unplanned outages and/or extended downtime, the more lenient we can be with the overall length of the schedule.  While an extended number of migrations does not negate all risk of an unplanned problem, it does let us move things to the new location using a more controlled approach.  I can, of course, make the argument that an extended timeline actually increases the risk of problems because every time I take apart a piece of the network, I introduce the possibility of all sorts of bad things happening; however, in this environment, it&#8217;s a lesser risk.  Score two for agile because now I have the ability to add iterations as necessary in order to handle any complexities we uncover during the process.</p>
<p>We&#8217;ve also been chartered to build a repeatable process for executing the migration.  The client wants something that can be performed over and over for however long it takes to get all the servers and applications from the current data center to the new one.  Essentially a checklist or a handbook to walk them through the sequence of events.  In order to do this, I need to break migration types into components so that I can try to homogenize the process as much as possible.  This gives me small, discrete units of work that can be prioritized, scheduled, and assigned effort.  Score three for an agile approach for being able to treat a migration element like a feature or story card.</p>
<p>In the end, the process we came up with looked like this:</p>
<p><img class="aligncenter size-full wp-image-161" title="custom" src="http://www.nexidecimal.com/blog/wp-content/uploads/2009/10/custom.jpeg" alt="custom" width="592" /></p>
<p>Lastly, we want to try and fit our migrations into predetermined time slots that the client uses for maintenance windows.  These maintenance windows occur every week for six hours.  If we can utilize these six hour increments as much as we can, then it may be possible to get all of our moves done during scheduled maintenance slots making this a &#8220;non-event&#8221; series of events.  These maintenance windows don&#8217;t move and they happen regardless of whether there is any work to perform or not.  A non-movable date is a core agile tenet.  Score += 1.  If we can&#8217;t get all of the migration elements completed in a maintenance window, we can just push it to the next window.  That sounds agile to me too!  Score += 1.</p>
<p>So all of these things fit within the spirit of an agile opportunity.  The business value being delivered over each time period are existing systems being brought up in the brand new data center (more reliable, better managed).  Delivering business value at the end of each iteration is again, a core agile tenet.</p>
<p>As we got through mapping the approach, at a high level, it looked suspiciously like Feature-Driven Development.  All of the investigation and planning being done up front, and the actual execution of the effort (which in our case is moving machines instead of building software) being done iteratively.</p>
<p><img class="aligncenter size-full wp-image-161" title="custom" src="http://www.nexidecimal.com/blog/wp-content/uploads/2009/10/fdd.jpeg" alt="fdd" /></p>
<p>So, overall &#8211; yes, it looks like we can move a data center using an agile-type methodology.  I&#8217;m not going to say that it IS agile simply because I don&#8217;t want to draw the ire of my fellow project managers.  And even if they don&#8217;t agree and subsequently run their respective projects using more traditional methods where the &#8220;Execution&#8221; phase of the project lasts for 6-9 months instead of 2-4 week increments, that&#8217;s fine.  I&#8217;ll run my piece with an agile flavor, and in the next entry, I&#8217;ll break it down to a detailed level showing you how.</p>
<img src="http://feeds.feedburner.com/~r/nexidecimal/~4/EnKQEg6EnW8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.nexidecimal.com/blog/2009/10/moving-a-data-center-using-agile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.nexidecimal.com/blog/2009/10/moving-a-data-center-using-agile/</feedburner:origLink></item>
	</channel>
</rss>
