tag:blogger.com,1999:blog-52014042024-03-08T13:48:04.681+11:00Falkayn's NestThis is my personal blog - stuff not directly connected to my work goes here - some of it's a little spicy, so watch out for heartburn. Of course if you're lucky you'll find something valuable in the mix of product development, Agile development, innovation, technology and marketing that I write about.Falkaynhttp://www.blogger.com/profile/13474476407114622880noreply@blogger.comBlogger353125tag:blogger.com,1999:blog-5201404.post-5678468641807852532020-02-27T15:48:00.002+11:002020-02-27T15:48:27.165+11:00View more at my Medium blogFor more posts on product development, product management and business strategy, please see my new Medium blog at:<br />
<br />
<div style="text-align: center;">
<span style="font-size: large;"><a href="https://medium.com/@Falkayn">https://medium.com/@Falkayn</a></span></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeymYdPtOfNOsPygMGxKioNNktFxMAKmGzXMa43bWBlqgYptCLgS5-3ex4Trwbh-un5jcRVDtqXy0KIguREoeFLESXIhkMW16sEatQVaFbwurJxjH7BHS_R3wu1eH8s3pOxUJ0xQ/s1600/North+Narrabeen+Rockpool+04.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeymYdPtOfNOsPygMGxKioNNktFxMAKmGzXMa43bWBlqgYptCLgS5-3ex4Trwbh-un5jcRVDtqXy0KIguREoeFLESXIhkMW16sEatQVaFbwurJxjH7BHS_R3wu1eH8s3pOxUJ0xQ/s640/North+Narrabeen+Rockpool+04.jpg" width="640" /></a></div>
<br />Falkaynhttp://www.blogger.com/profile/13474476407114622880noreply@blogger.com0tag:blogger.com,1999:blog-5201404.post-35085922650527044512015-08-17T23:23:00.001+10:002015-08-31T09:32:07.238+10:00Business Process – the missing element from Delve?<a href="https://products.office.com/en-us/business/explore-office-delve">Microsoft Delve</a> is an interesting new cloud product that attempts to bring together the many information sources a typical enterprise business user is interested in so that they can make sure they know what they need to.<br />
<br />
It is often simplified to talk about finding people through content, or content through people.<br />
<a href="http://lh3.googleusercontent.com/-Tj1ELnDXnHo/VdHgRZXUDDI/AAAAAAAABas/GxzRnxl01hU/s1600-h/image%25255B5%25255D.png"><img alt="image" border="0" src="http://lh3.googleusercontent.com/-IedxBEwE34k/VdHgTGL_GvI/AAAAAAAABa0/Z60CU_cCaDA/image_thumb%25255B3%25255D.png?imgmax=800" height="301" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="658" /></a><br />
Leaving aside the similarities with stalking work colleagues, it does seem to offer some value. One potential use case I heard of was finding all presentations presented to me in the last 12 months.<br />
Delve is based around the <a href="https://dev.office.com/officegraph">Office Graph</a>, which gathers data from across Office 365 and other tools (even eventually ones from ISVs). The idea seems simple enough:<br />
<img height="362" src="https://officeblogswest.blob.core.windows.net/wp-content/2014/03/Olso_dd_02.png" width="640" /><br />
The two relationship types they currently support are “Trending Around” (content related to a specific person) and “Working With” (people working with a specific piece of content). Graph edges are relationships and the nodes can be people or content (documents or conversations).<br />
<br />
Clearly this could be very useful, but I think the missing element is business process.<br />
<br />
Now traditionally we have represented the business process in a number of ways. perhaps it was the location (e.g. a Virtual File), a piece of metadata (e.g. project name), or just when it occurred (e.g. Collaborate 2015). These are all fairly imprecise, and one of the issues with business process as an idea is that you can have more than one present at a given moment in time.<br />
<br />
For instance, this weekend I ended up paying $36 for internet access at the hotel my employer had our annual conference at. I am planning on expensing that amount on Monday. There are three business processes this involves:<br />
<ol>
<li>The expense reimbursement business process.</li>
<li>But the expense was only necessary because we were offsite at Activate 2015, so it was part of the Activate conference.</li>
<li>The internet access was required because my flatmate at the time needed to upload a user research prototype for our Connect product.</li>
</ol>
I would expect that the expense reimbursement could show up any one of these three. Either a query about all employee (or my specific) expense reimbursements, a query about Activate 2015 activities or a query about the user research for the next phase of Objective Connect.<br />
<br />
In a graph we could add business process as another node, but that doesn’t involve it in the relationship between person and content the way we would want to. However, custom content types are going to be added soon, so the API would allow us to add a business process node easily enough. But would we link the piece of content, or the person to it?<br />
<br />
We could make it an attribute of relationship, but that might limit our ability to query it (or not – see the idea of looking for content presented to me). Given there is a potential one-to-many relationship between a given edge (relationship) and business processes, it might requires changes to the Office Graph from Microsoft to give us that functionality.<br />
<br />
There is another technical problem, which is how do we capture the relevant business processes that are involved in these person/content relationships? Do we ask users to act like lawyers and specify at every minute of the day what business processes they are involved in? Do we merely make them hashtags and allow people to tag everything they do, if they choose to do so? Is there some automated process that will prompt people to classify their content based on the meaning detected in the words they use?<br />
<br />
Personally I think there is some real value in using hashtags – but they must be understood in the context of that person’s role, activities and context. So I might have tagged that expense reimbursement with these hashtags:<br />
<div align="center">
<span style="font-family: Cordia New; font-size: large;">#expense #Activate2015 #ConnectUX</span></div>
But they way those might be interpreted might vary by context. For example, #expense will be associated with the sort of expenses I am allowed – perhaps “discretionary travel expenses”. Further to that, #ConnectUX will be regarded due to the time period as relating to the Connect user experience research being conducted between the 10th and 21st of August.<br />
<br />
Those context variations to the hashtags require some rules, some intelligence, be applied to my hashtags in order to derive a better set of processes. That is hard, and that is where I would expect an app might want to call out to <<em>handwave></em> (Cortana and the Office Graph?) to find info that would help solve the problem. We would also want other apps (CRM, ERP, etc) to support this sort of tagging, so their content could be properly understood as well. It sounds improbable, but interesting I think …<br />
<br />
More info about the <a href="https://msdn.microsoft.com/office/office365/HowTo/query-Office-graph-using-gql-with-search-rest-api#bk_actiontypes">actions available as edges</a>.Falkaynhttp://www.blogger.com/profile/13474476407114622880noreply@blogger.com0tag:blogger.com,1999:blog-5201404.post-7801314884195955512015-02-24T16:52:00.001+11:002015-02-24T17:01:00.340+11:00Stewardship vs Governance, is there a difference?Early last year, Andrew White at Gartner asked the question <a href="http://blogs.gartner.com/andrew_white/2014/04/25/when-information-governance-and-stewardship-efforts-differdo-they/">When Information Governance and Stewardship Efforts Differ…do they?</a><br />
<br />
He was dealing with the sort of grey line where two terms that almost equate to each other are used interchangeably or at least close to each other.<br />
<br />
Information governance is something we concern ourselves a lot at <a href="http://www.objective.com/">Objective</a>, so I was interested, and stewardship is something often talked about in Christian circles, so thinking about it in terms of information is also interesting.<br />
<br />
Without just referencing online dictionaries/thesauri I would give the following definitions myself:<br />
<blockquote>
<strong>Information Governance</strong><br />
Information governance is concerned with ensuring that we govern the way our organisation creates, consumes, collects and stores the information necessary to fulfil our purpose. It has connotations of restrictions, rules, compliance and auditing. It emphasises controls, policies and risk analysis.</blockquote>
<blockquote>
<strong>Information </strong><strong>Stewardship</strong><br />
Information stewardship is concerned with ensuring that we derive value from the information our organisation creates, consumes, collects and stores. It has connotations of exploitation, efficiency, profiting and judging. It emphasises usefulness, ease of access and valuation.</blockquote>
I think you could implement either of these concepts and find you were not doing the other. Both are desirable, but their emphasis is slightly different and they may indeed be two sides of the same coin. Perhaps it’s the classic dichotomy between cost and revenue, or pessimism and optimism at work.<br />
<b><br /></b>
<b>Update:</b> I certainly <i>don't</i> think stewardship is '13 minutes a week' as <a href="http://blogs.gartner.com/andrew_white/2012/07/05/13-minutes-a-week-what-your-data-steward-should-be-doing/">this Gartner blog post</a> suggests!Falkaynhttp://www.blogger.com/profile/13474476407114622880noreply@blogger.com0tag:blogger.com,1999:blog-5201404.post-10853111849938368582014-10-22T18:13:00.001+11:002014-10-22T18:13:36.916+11:00Evaporating Web Records<p>You’re hip, you’re cool – ‘business enablement’ is your middle name, and you’ve got social media accounts, blogs, forums, Atom/RSS feeds and wikis rocking and rolling. As Chief Records Officer (CRO) you help your agency move into the 21st Century full speed ahead.</p> <p>Except. Things are never that easy, and what we find is web records are sadly missing. </p> <p>We know that a short URL was used in this tweet, but 2 years later the URL has been re-used and no longer points where it did when we created the tweet. Worse yet, we relied on identifying records at creation and we missed one, it never got recorded and Facebook’s API is refusing to give it to us.</p> <p>The wiki system was migrated to a new platform and the old edit history has been lost – worse the new system tracks comments in a different form and they have been lost too.</p> <p>An ill-considered rollout of a new website neglected to ensure that all of our old URLs were migrated, and apart from losing Google ranking, we also now can’t identify what content a user might have seen on a given date for a given URL.</p> <p>In other words, our web records are evaporating. It’s not your EDRMS that’s failing, it’s the fact that all of these web systems exist outside the EDRMS and compliance needs are seen as a secondary (unimportant?) requirement for replacement systems. Practical needs for delivering services now are overwhelming the old centralised compliance needs.</p> <p>The “Review of Social Media and Defence” report in 2011 by George Patterson Y&R is a good example of the sorts of problems agencies face:</p> <blockquote> <p>“Given the dynamic nature of social media communications and the collaborative approach to the creation of user generated content, Defence will need to take particular care to ensure that such content is properly identified as a Commonwealth record as and when it is created. <font style="background-color: #ffff00">An accurate and authentic copy of such content will need to be captured and saved as a record so as to ensure that obligations under the relevant auditing, recordkeeping and disclosure legislation can be met.</font> This is likely to require the development of a specific Defence social media records policy that provides guidance for each particular social media channel to be used by Defence during Professional Use.”<br><strong>Review of Social Media and Defence, p.102</strong></p></blockquote> <blockquote> <p align="left">“The simplest interpretation of international record-keeping policy is that all outgoing communication should be housed on an official website that provides both a credible source for the community and a method of archiving content. The content can then be shared easily into social media, and <font style="background-color: #ffff00">important or significant conversations can be selected for archiving</font>.”<br><strong>Review of Social Media and Defence, p.124</strong></p></blockquote> <blockquote> <p>“Because the National Archives of Australia (NAA) considers social media to simply be channels in which Commonwealth records can be shared, existing record management and archiving protocols need to be followed. The challenge lies in identifying commonwealth records worthy of archiving but also in the resourcing and processes required to ensure compliance. The government’s response to the Government 2.0 Taskforce (p. 15) states explicitly that the Archives will produce guidance on what constitutes a Commonwealth record in the context of social media. <font style="background-color: #ffff00">The NAA should be consulted to provide greater clarification for DEOC.</font>”<br><strong>Review of Social Media and Defence, p.157</strong></p></blockquote> <p>Rebecca Stoks produced an academic paper in October 2012 that summarised a survey of actual recordkeeping practices for social media records amongst Australian government agencies (mostly state (33), but some local (20) and federal(9) agencies). Her summary was damning:</p> <blockquote> <p>“The transient nature of social media opposes traditional recordkeeping methods; <font style="background-color: #ffff00">consequently, most government agencies are not meeting their legal obligation to keep records</font>.”<br><strong>Taming the Wild West: Capturing Public Records Created on Social Media Websites, p.8</strong></p>“In this study, only a minority of government agencies were found to be capturing social media records. <font style="background-color: #ffff00">Most of those capturing records were not very confident that they are meeting their legal obligations or that their methods are sustainable.</font> Within the sample, the level of internal support, be it strong or lacking, was found to affect the degree to which social media records were being captured. Although well regarded as a resource, the guidance provided by PROs did not seem to have an impact on whether or how agencies were capturing records, <font style="background-color: #ffff00"><font style="background-color: #ffff00"></font></font><font style=><font style=>with </font></font><font style="background-color: #ffff00"><font style="background-color: #ffff00"></font>several respondents expressing a desire for more practical advice</font>.”<br><strong>Taming the Wild West: Capturing Public Records Created on Social Media Websites, p.48</strong></blockquote> <p>What do we want to know about web records when we capture them?</p> <ul> <li>URL <li>AGLS meta-data (author, publish date/time, country, copyright, etc) <li>Re-use (trackbacks, retweets, inbound links, ratings, likes, votes) <li>Outbound links, and their status (if they redirect, then to what URL? do they have meta-tags set like NoFollow?) <li>Linked resources (images, JavaScript, iframes, Flash files, video/audio) – not always useful, but worth bringing images into content as an embedded image at very least <li>Conversations started by the record (comments, replies, threads in general) <li>Relative site-map location compared to other web records (requires the concept of a site, perhaps leverage Google site maps?)</li></ul> <p>Much of this comes from Atom/RSS feeds, but some of it requires post-capture processing.</p> <p>How do we want to see web records that we capture?</p> <ul> <li>As an HTML page, even though stored as XML. <li>As a PDF, even though originally seen as an HTML page and stored as XML.</li></ul> <p>Of course this only gets us 80% of what we need, there will always be the missing context of what the page design looked like when that content was displayed (and what other content was dynamically displayed alongside it). With social media there is also the context of an responses, retweets, likes, shares or trackbacks to consider.</p> <p>Do we organise web records by the site they belong to, the Atom/RSS feed they come from, or by some other more definite measure?</p> <p>I don’t know anyone that has all the answers to those questions, I’m not even sure I know that many people that care about all those questions! However, I do know that without those answers there are essential government records that are literally evaporating every minute of the day, never to be seen again, or known about. They may not be important now, they may not ever be important, but our lack of care with them is likely to be lamented by future generations seeking to understand what motivated, inspired and drove us into action (or not).</p> Falkaynhttp://www.blogger.com/profile/13474476407114622880noreply@blogger.com0tag:blogger.com,1999:blog-5201404.post-61952238855621685952014-10-21T14:17:00.005+11:002014-10-24T13:47:24.904+11:00Collaborate 2014 RoundupWe just finished another <a href="http://www.objective.com/news-events/collaborate-2014">Collaborate conference</a> for Objective Corp's international customers and it was a great effort by all; staff, partners and customers included.<br />
<br />
The amount of effort that goes into the event is extraordinary, but the payoff is an event that informs, excites and inspires our customers to get more value from their Objective products (<a href="http://www.objective.com/products/enterprise-content-management">ECM</a>, <a href="http://www.objective.com/products/enterprise-content-creation">ECC</a> and <a href="http://www.objectiveconnect.com/">Connect</a>) and change the way their organisations impact the world.<br />
<br />
A big part of that is helping them drive business process innovation so they can deliver better services and products to the public.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfVEDlDwZMQ8R8Nzk5Iw6uNDKcweG5FBzK5oL257neXXmI0_5FYoagUa7fTGlDd7u7KQOIP2NuL_KuBDxeXP4jBawInet4ZupGdH6cPm6Il-dzUzBfVT-rQWyTF8eixt7_kPEt6A/s1600/Slide4.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Business Process Innovation" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfVEDlDwZMQ8R8Nzk5Iw6uNDKcweG5FBzK5oL257neXXmI0_5FYoagUa7fTGlDd7u7KQOIP2NuL_KuBDxeXP4jBawInet4ZupGdH6cPm6Il-dzUzBfVT-rQWyTF8eixt7_kPEt6A/s1600/Slide4.PNG" height="360" title="" width="640" /></a></div>
<br />
Something we are doing across our products is looking to deliver great user experiences, especially ones that are customised for our customers' organisations so that they are received by their end users with credibility.<br />
<br />
One of the challenges that raises is what an old colleague of mine used to call the "pink flamingo effect":<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-rTdfaedqCx4/UJSkNNnPxqI/AAAAAAAAf1c/-3wNYQpzjiQ/lake-nakuru-flamingos-10%5B2%5D.jpg?imgmax=800" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Pink Flamingos" border="0" src="http://4.bp.blogspot.com/-rTdfaedqCx4/UJSkNNnPxqI/AAAAAAAAf1c/-3wNYQpzjiQ/lake-nakuru-flamingos-10%255B2%255D.jpg?imgmax=800" height="426" title="" width="640" /></a></div>
<br />
This is the tendency of some people to go wild with any sort of HTML customisation and add what they assume is an attractive element (e.g. pink flamingos) to an otherwise functional page.<br />
<br />
We can't prevent that altogether, but a big part of the move we're making is to educate customers about the sorts of things they should consider customising (logos, fonts, colours) and how to consider the user experience when customising things that we have carefully designed, such as our responsively designed sample email templates.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguHrarbEbf_I4isBxSr-4x97wTzLa42JYUZeo2ymvr5KddF48rUEoNxUhVYdVqVdXKx_oAC5Ww7subilqd9jUMxmnUURDPoDE9nZ_Dp_ldeNRbGIxefUO4SfpHuobUwuUJLq6kYw/s1600/Slide6.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguHrarbEbf_I4isBxSr-4x97wTzLa42JYUZeo2ymvr5KddF48rUEoNxUhVYdVqVdXKx_oAC5Ww7subilqd9jUMxmnUURDPoDE9nZ_Dp_ldeNRbGIxefUO4SfpHuobUwuUJLq6kYw/s1600/Slide6.PNG" height="360" width="640" /></a></div>
<br />
To that end the slide above was used to help explain the difference between user interfaces (UI) and user experiences (UX).<br />
<br />
<i>Edit:</i> See more about <a href="http://blog.davidjeade.com/2014/03/on-ui-ux-and-the-feeling-you-get-when-you-ride-a-horse/">UI vs UX</a> at my colleague David Eade's blog.Falkaynhttp://www.blogger.com/profile/13474476407114622880noreply@blogger.com0tag:blogger.com,1999:blog-5201404.post-74955599657873438112014-10-21T13:58:00.000+11:002014-10-21T13:58:07.110+11:00Updated blog templateIt's been a few years since I updated the template my blog uses, so I've taken the chance now to simplify things and apply a template that seems less busy and more modern. I've also updated the fonts to make them more readable on modern screens.Falkaynhttp://www.blogger.com/profile/13474476407114622880noreply@blogger.com0tag:blogger.com,1999:blog-5201404.post-28188141050876545072013-01-18T17:21:00.001+11:002014-07-04T13:08:51.710+10:00You need consumer-grade usability<p>It’s interesting watching the English language evolve in response to technology and changing cultural ideas. Take the term “consumer-grade”, this used to (and sometimes still does) mean, lower quality, less robust construction.</p><p>Compare it to “weapons-grade”, a term commonly applied to uranium and plutonium, but simply meaning it is <a href="http://en.wikipedia.org/wiki/Weapons-grade">a substance pure enough to to be used to make a weapon</a> or has properties that make it suitable for weapons use. “Export-grade” is similarly used to define food or beverage that is better than average, and worthy of consumption away from its place of production. <a href="http://weaponsgradedrink.blogspot.com.au/2011/04/what-does-weapons-grade-mean-or-how-i.html">Some people</a> seem to confuse the two.</p><p><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="sign-24092_640 (1)" border="0" alt="sign-24092_640 (1)" src="http://lh3.ggpht.com/-fwobI0kEp9Y/UPjp6ZxtEyI/AAAAAAAABMI/C0dXDf1IcIg/sign-24092_640%252520%2525281%252529%25255B4%25255D.png?imgmax=800" width="336" height="297"></p><p>So you might be confused by someone espousing “consumer-grade usability” as a good thing … confused that is, if you <a href="http://www.urbandictionary.com/define.php?term=party%20like%20it's%201999">lived in 1999</a> and knew <em>nothing</em> about the history of consumer devices in the 21st century … you know, the whole iPod, iPhone, iPad, Alienware, LCD televisions, Android and “just google it” thing?</p><p>Now that we are living in an increasingly <abbr title="bring your own device">BYOD</abbr> world it is obvious what the term means. It is a purity of user interface design that brings the essential features of the device or application to the fore, and frees anyone to use it with confidence and passion.</p><p>It’s easy to see how this came about, “consumers” includes everyone, “enterprise users” are a small subset of the working population, itself a subset. When creating for the consumer it has become obvious that success increasingly comes from great usability – even when competing in the budget end of the market. This means everyone gives usability lip-service, hence the rise in usability consultancies.</p><p>Consumers have access to free tools that are developed with such care that they make the average enterprise application look clunky in comparison – and they are beginning to get sick of it!!</p><p>The challenge as I see it is how do I as an enterprise product manager bring consumer-grade usability to my products, without making people see it as just a gimmick, or a band-aid fix?</p><p><em>Update:</em> The <a href="http://community.qlik.com/blogs/theqlikviewblog/2013/04/18/consumerization-revisited-why-aesthetics-matter">Consumerization Revisited – Why Aesthetics Matter</a> article from QlikTech points out that aesthetics matter when it comes to usability and user adoption.</p>Falkaynhttp://www.blogger.com/profile/13474476407114622880noreply@blogger.com0tag:blogger.com,1999:blog-5201404.post-86908788742855648302012-11-26T11:32:00.000+11:002014-10-21T13:55:42.520+11:00Windows Live Writer ate my blogger login<p>Well thank you Microsoft.</p> <p>The latest release of Windows Live Writer demands that I configure a blog when I start it up - fair enough, it does want to know my blog styles in order to show me formatted posts, so I go to login and ...BAM! Login fails.</p> <p>Oops! Retry. Login fails.</p> <p>Expand to full email rather than just username. Retry. Login fails.</p> <p>Try every combo possible. Login fails, fails, fails ...</p> <p>I finally worked out that because I use 2-step verification with Google authentication, and this app doesn't have an app-specific password, it will always fail. Now this is a failing of the Windows Live Writer devs, but I wonder how many other dev teams would think of this?</p> <p>My solution? Fallback to online editing. Nowhere nears as nice as Windows Live Writer, nor as available, but it <em>works</em>*.</p> <p>Although the damn thing did put in DIVS in place of P tags and I instead of EM tags ... sigh.</p> <p><strong>EDIT:</strong> Matt was right, using an app-specific password solved my problem – apologies Microsoft devs, not your problem (well, except for perhaps not providing nice help around the problem).</p> Falkaynhttp://www.blogger.com/profile/13474476407114622880noreply@blogger.com1tag:blogger.com,1999:blog-5201404.post-16526899237000124272012-09-14T12:54:00.001+10:002012-09-17T15:46:04.547+10:00Why is social media so ... anti-social?<p>Perhaps this is a stupidly obvious question, but why is so much social media so <em>anti</em>-social? Let me expand that a bit before you deride my lack of Facebook ‘friends’, Twitter followers or Klout score (currently a <a title="Falkayn's Klout score" href="http://klout.com/#/Falkayn/">healthy 46</a> thank you very much).</p> <p>Sure, you can be social with your friends on these sites, and off-them thanks to mobile apps, but there are some key issues that I at least run into with them:</p> <ol> <li>If we don’t share a network then my friends don’t see my updates, share my life or catch my drift.</li> <li>Twitter and Facebook (at least), seem hell-bound on making third-party developers lives hard, they depend on you ending up on their apps, on their site to make advertising money.</li> <li>If I like the features of a new network better, I need to bring across my friendships or contacts, and re-apply my privacy settings and do a bunch of other work before I can use it fully.</li></ol> <p>Recently people have been comparing social platforms to early email clients and networks. Albert Wenger (a VC, ex-President of del.icio.us) <a title="App.net And The Need for Social Networking Standards" href="http://continuations.com/post/29335242698/app-net-and-the-need-for-social-networking-standards">wrote</a>:</p> <blockquote> <p>It would (be) a huge benefit to society if we can get with social networking to where we are with email today: it is fundamentally decentralized with nobody controlling who can email whom about what, anyone can use email essentially for free, there are opensource and commercial implementations available and third parties are offering value added services.</p></blockquote> <p>Thomas Baekdal (social media commentator) writes about <a title="What Comes After Facebook? The Future of Social Media" href="http://www.baekdal.com/insights/whats-comes-after-facebook-the-future-of-social-media/CCE7520DF20A4244B0798D46D99A6299B61D2DE23BA9791DED751FB6D2B09410">the future of social media</a> and makes the same comparison to email:</p> <blockquote> <p>In the early 1980s, email worked pretty much as social services do today. Each email provider used their own proprietary protocols and systems, and each system was unable to communicate with any other.<br>…<br>So email didn't take off because the process was simply too complicated. It wasn't until every email provider finally decided on an open, non-proprietary format, that email started to work and became the massively popular communication mechanism that we know today.<br>…<br>The question is then, what is the next step? What is the future of social media? And the answer is painfully obvious because we have already seen it happen with email. The future is when social becomes a protocol.</p></blockquote> <p>More than just anti-social, the current networks lock up our content as Scott Hanselman (Microsoft employee and prolific blogger) <a title="Your words are wasted" href="http://www.hanselman.com/blog/YourWordsAreWasted.aspx">recently pointed out</a>:</p> <blockquote> <p><strong>You are not blogging enough. </strong>You are pouring your words into increasingly closed and often walled gardens. You are giving control - and sometimes ownership - of your content to social media companies that will SURELY fail. These companies are <a href="http://www.bloomberg.com/news/2012-05-11/facebook-ipo-overvalued-at-96-billion-in-global-investors-poll.html">profoundly overvalued</a>, <a href="http://www.hanselman.com/blog/GooglePlusOffersASophiesChoiceToEarlyAdoptersOfGoogleAppsViaAnIncompleteTakeoutMigrationTool.aspx">don't care about permalinks</a>, <a href="http://www.hanselman.com/blog/GooglePlusOffersASophiesChoiceToEarlyAdoptersOfGoogleAppsViaAnIncompleteTakeoutMigrationTool.aspx">don't make your content portable</a>, and have <a href="http://tos-dr.info/">terms of service that are so complex and obtuse that there are entire websites dedicate to explaining them</a>.</p></blockquote> <p>Scott is more railing against social media than suggesting an alternative (FWIW, I think RSS is great, but it provably does not solve all the issues here). I do think he’s right about not stopping blogging, and <a title="Keep Blogging, Don’t Stop!" href="http://blog.falkayn.com/2009/11/keep-blogging-dont-stop.html">I said it myself back in 2009</a> too.</p> <p>So if the future of social is to be a protocol, how will this happen? Google tried something like this with Google Wave, which morphed into Google+, but nobody trusts them anymore it seems, so it kinda died before it could be really interesting. </p> <p>How could this happen with social media?</p> <ul> <li>Facebook could die, and then people pick up the pieces with smaller shared networks. But Zuckerberg has nailed that one with the successful IPO.</li> <li>Twitter could die, and then on the way out offer its data and API to the world for free. More likely than Facebook going, but again not hugely likely.</li> <li>A dominant OS, browser or device vendor could introduce the ability to use such a protocol without caring about controlling it. Microsoft could give this a shot with WIndows 8, but that will have its own issues to face before then. Google+ as a service is trying to be this, and might just be there if they bake it into Android.</li> <li>Amazon could surprise everyone by creating a platform for it and being open about it. It would probably generate huge storage and bandwidth revenue for them.</li> <li>Yahoo! could be a surprise player in this area, Marissa Mayer needs to give them something to aim for, and they have form in creating useful technical solutions for others (<a title="Yahoo! Pipes" href="http://pipes.yahoo.com/pipes/">Yahoo! Pipes</a>, <a title="Yahoo! Developer Network" href="http://developer.yahoo.com/">Yahoo! Developer Network</a>, <a title="YUI Library" href="http://yuilibrary.com/">YUI Library</a>).</li></ul> <p>Baekdal is the most bullish that social <em>must</em> become a protocol, but he doesn’t offer us a way forward, other than pointing to the need for social to be an activity we do, not a place we go.</p> <p>I think there might be a surprising way forward, but that can wait for another post.</p> Falkaynhttp://www.blogger.com/profile/13474476407114622880noreply@blogger.com1tag:blogger.com,1999:blog-5201404.post-60469840289928250922012-05-18T19:05:00.001+10:002012-09-17T15:46:25.918+10:00AusCloud Forum May 2012I had the pleasure this week of being <a href="http://www.orionvm.com.au/">OrionVM’s guest</a> on the panel for this month’s <a href="http://auscloudforum.org/">AusCloud Forum</a> (see <a href="https://twitter.com/#!/search/%23auscloud">tweets</a>).<br />
<a href="http://auscloudforum.org/"><img src="http://ebmedia.eventbrite.com/s3-s3/eventlogos/10916893/3448278895-1.png" style="display: inline;" /></a><br />
The panel I was on followed the three keynote speakers:<br />
<ol>
<li><a href="http://www.linkedin.com/pub/david-yuile/0/a73/906">David Yuile</a>, CEO of AAPT on Powering the Cloud</li>
<li><a href="https://twitter.com/#!/davidwerdiger">David Werdiger</a>, CEO of Billing Brureau on SmartBilling</li>
<li><a href="https://twitter.com/#!/shengyeo">Sheng Yeo</a>, CEO of OrionVM on Carrier Clouds</li>
</ol>
The speakers were interesting in the most part, I think David had us the most entertained, but unfortunately he was in the dark for most of it (and really needs to read <a href="http://beyondbulletpoints.com/">Beyond Bulletpoints</a> as his first slide had tiny icons I couldn’t even read from the 5th row.<br />
The panel was about “Enterprise in the Cloud” and put me in some very flattering company:<br />
<ul>
<li><a href="https://twitter.com/#!/Rog42">Roger Lawrence</a>, CTO Enterprise Cloud Services at HP</li>
<li><a href="http://www.linkedin.com/pub/david-yuile/0/a73/906">David Yuile</a>, CEO at AAPT</li>
<li><a href="https://twitter.com/#!/davidhodges">David Hodges</a>, CEO at Loc8.com</li>
<li><a href="https://twitter.com/#!/jamiepride">Jamie Pride</a>, Partner at Deloitte (CRM/SaaS practice)</li>
</ul>
We had several great questions to answer, and some interesting variances in opinion. I wasn’t tracking well enough to keep everything in order, but some of the high points from my point of view were:<br />
<h3>
Cloud Has Arrived</h3>
It is clear that enterprises are switching to use the cloud, at least on new/internal projects. This was backed up at yesterday’s AWS Summit where News Ltd and Realestate.com.au both shared they have moved their development/test environments over to Amazon’s cloud. This is what we’re doing at Elcom. Our release testing now occurs on servers at OrionVM that get spinned up when we need them and archived in between.<br />
<h3>
Hardware Must Be Sweated</h3>
Both Roger Lawrence and David Yuile were emphatic that enterprises have significant hardware (and skill) investments that need to be sweated before they will feel free to move to the cloud. Sometimes these can be re-tasked for other duties, but all too often they can’t be (few banks are moving their mainframe code just yet (although <a href="http://cloudservices.microfocus.com/">MicroFocus</a> and <a href="http://www.heirloomcomputing.com/">Heirloom Computing</a> both offer COBOL in the cloud).<br />
<h3>
Give Me Standards</h3>
David Yuile was heavy on the need for cloud standards, and he thinks that larger players should put some money up to ensure standards get worked on properly. He likened the current trepidation about cloud to the same feelings enterprises had about VLAN – and in a similar fashion he thinks some standards will help it go mainstream. <br />
Roger pointed out that there’s a difference between standards and certifications, with the later being what most enterprises care about. I agree to a point, as a small ISV we can’t always afford to get all the certifications we’d like to, and being able to assure customers we can adhere to a standard is often all we need to do.<br />
<h3>
CIOs See New Savings, CEOs See New Possibilities</h3>
Roger had a very interesting point to make about how different occupants of the C-suite tend to approach cloud. CIOs tend to see the cost savings and efficiencies to be gained, whilst CEOs come from the point of view of what new possibilities the cloud offers their business. A case in point was that of a large construction company where IT costs were around 1% of revenue – any saving being negligible – but being able to reduce the wait between delivery of goods to clients and payment of invoices from 27 to 26 days was worth $34M in extra cashflow.<br />
<h3>
We Ain’t Seen Nothing Yet</h3>
I think we have barely seen what the real effect of the cloud will be in the enterprise arena. Most technology shifts are not really embraced until the generation that grows up with it gets the chance to flex their muscles in the workforce and for the cloud that is still 5 years or so away. When you have grown up with streaming media as the norm, mobile access the primary means of internet access, true ubiquitous computing and commoditised cloud services how differently will you regard the problems enterprises (and countries) face today?<br />
<h3>
Cloud Helps Startups, But Not That Much</h3>
There is some lurking optimism that if we just commoditise the cloud and computing enough then startups will suddenly multiply and change the world. Unfortunately for that rather utopian idea the lowering of the barriers to entry helps everyone, big enterprise innovator and garage startup alike – it also means more competition and noise to rise above.<br />
An example comes from my wife’s cousin who has worked in the Australia games industry for over 15 years. The industry is currently deep in recession, but it <em>looks</em> like it’s healthy because so many developers are trying their hands at mobile games. The problem is that few (if any) of them are making any money (<a href="http://www.halfbrick.com/">Halfbrick</a> being a notable exception).<br />
<h3>
Microsoft’s Future (bonus)</h3>
Not particularly cloud related, but a subject dear to Roger and my heart and something that came out of one of the questions asked. We both have strong opinions on this, but what it boiled down to was the success of Windows 8 will define how much affect Microsoft has on the future.<br />
Roger pointed out that Microsoft might lose it’s way, but like IBM, still remain a giant in the IT space. He also noted that Microsoft’s partners, as heavily invested as they are in its success, are a mighty (not so) secret weapon when it comes to their success in the business world.<br />
Personally I think their Windows 8 Metro UI is inspired, and will probably be a great hit on tablets and mobile devices … it’s penetration into the business world will be limited by old non-touch LCD monitors (see “Hardware Must Be Sweated” above). However, Microsoft will both find ways to maximise the switch, and will care less than it used to if it can wrest majority control of the mobile/tablet space from Apple/Android.Falkaynhttp://www.blogger.com/profile/13474476407114622880noreply@blogger.com0tag:blogger.com,1999:blog-5201404.post-57762114073533051032011-08-30T14:30:00.001+10:002012-09-17T15:46:32.279+10:00My geek origin story<p><a href="http://twitter.com/#!/delic8genius">Delicate Genius</a> (aka Microsoft’s Michael Kordahi) tweeted me a while ago about putting this up, and in the interest of historical accuracy, here it is! Other <a href="http://delicategeniusblog.com/?p=1292">geek origin stories</a> can be found from his blog post.</p> <p>I wasn’t terribly geeky as a young lad, except I loved Lego and got into roleplaying games in a big way. At university I fell into a crowd that were much geekier than I (hat tip to <a href="http://twitter.com/#!/justinmclean">Justin McLean</a>), and along the way got pulled into doing an Information Systems major for my Bachelors of Commerce degree.</p> <p>Something must have happened because by the time I met and married my lovely wife I looked like a true geek! (gotta love the Doc Martens)</p> <p><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="apict2011-07-15_08-02-15-PM" border="0" alt="apict2011-07-15_08-02-15-PM" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5qU73n2e5gT3sLbL-oTKqLi7weRCuvvFU-395CcvTklMXJohG9ef2l7iAMk5x0JhSBSEYn7B_1SN8YtUJv2x0tmc90JMyk7u8sCaZD35fUugSAtJ1ie_WRPpEhCKTP-gpPlar8Q/?imgmax=800" width="399" height="484"></p> <p>Looking back I think the same qualities that caused me to fail Accounting Financial Management 1B led to my success as a geek. Things like:</p> <ul> <li>Always wanting to improve the system,</li> <li>Searching for truth,</li> <li>Wanting my work to matter.</li></ul> <p>None of those things applied to rote learning T accounts and double entry accounting, but they sure do matter when you are building <a href="http://www.elcomcms.com">fantastic tools for web developers to build awesome, award-winning sites with</a>.</p> <p>So that’s how I ended up becoming the geek t-shirt wearer I am today – although I no longer have those DMs ...</p> Falkaynhttp://www.blogger.com/profile/13474476407114622880noreply@blogger.com0tag:blogger.com,1999:blog-5201404.post-2092199654055039142011-06-25T14:51:00.004+10:002011-06-25T15:01:54.387+10:00Context may be key to blended learning<p>I have been reading two excellent books recently, John Medina’s <a href="http://www.amazon.com/gp/product/0979777747/ref=as_li_tf_tl?ie=UTF8&tag=falkayncom06-20&linkCode=as2&camp=217145&creative=399377&creativeASIN=0979777747">Brain Rules</a><img style="border-bottom-style: none !important; margin: 0px; border-left-style: none !important; border-top-style: none !important; border-right-style: none !important" border="0" alt="" src="http://www.assoc-amazon.com/e/ir?t=falkayncom06-20&l=as2&o=1&a=0979777747&camp=217145&creative=399377" width="1" height="1"><label id="showTextCategoryLinkPreview_l1"><img style="border-bottom-style: none !important; margin: 0px; border-left-style: none !important; border-top-style: none !important; border-right-style: none !important" border="0" alt="" src="http://www.assoc-amazon.com/e/ir?t=falkayncom06-20&l=as2&o=1&a=0979777747&camp=217145&creative=399385" width="1" height="1"> and Dan Coyle’s <a href="http://www.amazon.com/gp/product/0099519852/ref=as_li_tf_tl?ie=UTF8&tag=falkayncom06-20&linkCode=as2&camp=217145&creative=399377&creativeASIN=0099519852">The Talent Code</a><img style="border-bottom-style: none !important; margin: 0px; border-left-style: none !important; border-top-style: none !important; border-right-style: none !important" border="0" alt="" src="http://www.assoc-amazon.com/e/ir?t=falkayncom06-20&l=as2&o=1&a=0099519852&camp=217145&creative=399377" width="1" height="1"><label id="showTextCategoryLinkPreview_l1"> (see other </label><a href="http://www.amazon.com/Personal-Transformation-Self-Help-Books/b/ref=as_li_tf_tl?ie=UTF8&tag=falkayncom06-20&linkCode=as2&camp=217145&creative=399385&creativeASIN=0099519852&ie=UTF8&node=4745">Personal Transformation Books</a>)<img style="border-bottom-style: none !important; margin: 0px; border-left-style: none !important; border-top-style: none !important; border-right-style: none !important" border="0" alt="" src="http://www.assoc-amazon.com/e/ir?t=falkayncom06-20&l=as2&o=1&a=0099519852&camp=217145&creative=399385" width="1" height="1"></label><label>, both deal with how our brain works, and there are interesting things they tell us about learning skills that we can apply to how we structure and run blended learning programs.</label></p> <p><label>I have <a href="http://blog.falkayn.com/2010/03/goals-behaviours-roi-and-testing-ideas.html">mentioned before</a> David Maister’s article <a title="Why (Most) Training is Useless article" href="http://davidmaister.com/articles/1/96/">Why (Most) Training Is Useless</a> </label><label>in the context of saying that behaviour is what we should be aiming to change, and measure, not simple skill identification. The point was that it is not good saying I want to train your consulting skills if I don’t know what behaviour indicates that you are have learnt and are applying them. Maister also wants incentives made to match those behaviours, based on seeing his training undermined by the structure of the organisation’s incentives.</label></p> <p><label></label><label>Coyle breaks down two ways we can affect skills development, ignition, which is a combination of incentives/encouragement/vision and deep practice, which is the focused practicing of technique at the edge of our ability, with the aim of achieving perfection in the small components of a skill, and then building into perfection in the larger components. Maister’s complaint about incentives not matching behaviours is talking to the ignition side of skill development.</label></p> <p><label>Medina’s book is interesting because it gives us lots of clues about how memory relates to instructional methods, with the main points being that repetition is important, but so is learning in the context in which we want to be able to remember what we learn. In this sense it relates well to Coyle’s idea of deep practice.</label></p> <p><label></label><label>This last point is the one I want to focus on. If Medina is correct when he says that we recall things more easily when in the physical/emotional context we learned them in, then most teaching is done in the wrong context!</label></p> <p><label></label><label>This suggests that eLearning is best used when the skills being taught are to be expressed online, with use of much the same tools that the learning occurred on. It is one reason learner drivers are encouraged to use their own cars when learning and when going to do their driver’s test.</label></p> <p><label></label><label>Classroom learning may suit well skills that need to be exhibited in front of other people, in social or meeting situations, where the ability to perform before your peers may be required (it may also help people perform better in classrooms - any professional students listening?). Even then the layout of the room may benefit from being closer to their likely environment. When Anthony Milner and I did the excellent NIDA Corporate Performance Course the format was that of a class, but the frequent practice sessions were done in front of the group with us facing them as a very real audience, an experience that made it easier to recall the skills learnt when actually presenting in front of audiences later.</label></p> <p><label>One on one mentoring may be the best approach when the skill must be exhibited in the context of a personal relationship, and even then it is best done in the workplace. This is how we handle important parts of facilitator training in the <a href="http://www.careforcelifekeys.org/">Careforce Lifekeys’ courses</a> </label><label>– the small group facilitator is given the opportunity to practice their skills in the context of a one on one conversation with a trainer playing the role of a small group member.</label></p> <p><label>There is one caveat to this, both Medina and Coyle point out that the ability to comprehend the big picture is a vital component of skill competency – one of the factors that differentiates experts form beginners in a particular field is that the experts have a mental abstraction that allows them to deal with the complexities of the problem domain more easily. Getting that big picture view across need not necessarily take place in the environment the skill is exercised in – in fact it may benefit from the distance provided by being away from that environment.</label></p> Falkaynhttp://www.blogger.com/profile/13474476407114622880noreply@blogger.com0tag:blogger.com,1999:blog-5201404.post-72551381723990468002011-05-15T21:19:00.001+10:002012-09-17T15:46:56.464+10:00Why web will win the mobile app race<p>Everyone wants a mobile app, banks, health funds, airlines, pubs and all sorts of marketers want us interacting, playing with and using their mobile apps. This is fine and dandy, and is a Good Thing for the future of humanity, but … which OS do you want to target? </p> <p>Is your app going to target iPhone, Android, Blackberry, Windows Phone 7 or (heavens!) Symbian?</p> <p>The right answer will, of course, be <em>all of the above</em>. It really isn’t hard to figure out, and there is a precedent you see.</p> <p>What do you do if you want to target users on MacOS, Windows 7, Linux (a bazillion flavours itself), Google OS or (heavens!) Unix?</p> <p>The answer to that question is you created a web app, because the browser environment was designed to be (reasonably) neutral between vendors. The same paradigm exists in the mobile world. Creating a specific OS version just limits your app to that OS, and who wants that?</p> <p>However there is one big difference, the mobile app needs to deal with being <a href="blog.falkayn.com/2011/02/occasionally-dis-connected-is-future.html">occasionally (dis)connected</a>, right? Solving that problem has been hard enough that mobile apps are still sprouting up that basically show content offline.</p> <p>Riding to the rescue of the beleaguered user comes <a href="http://www.w3.org/TR/html5/offline.html#offline">HTML5 with its cache manifest</a> offering to give web apps a completely sane way of specifying what content should be held offline and what resides online. The only problem is the memory limits most browsers place on the cache – except for Opera they all only let you have 5MB (or 10MB if you are on IE) – and in these days of fast connections and rich media that simply isn’t enough to get the job done.</p> <p>There are various ways around this, with Google Gears, Microsoft Sync Framework and Flash also offering ways of getting offline storage to work, and there are some jQuery plugins that hint at the promise of getting this working in a framework that leaves the browser sensitivities to someone else (although I’m always leary of potentially <a href="http://www.joelonsoftware.com/articles/LeakyAbstractions.html">leaky abstraction layers</a>). </p> <p><strong>Personally I don’t care how we solve the problem of sufficiently large offline storage, but I think the future of web development demands that solve it we must.</strong></p> <p>In the meantime we will continue to see niche agencies offering native applications for various phone OSs, but not necessarily delivering the value the business needs because the cost is so high to develop cross-platform apps – and some other applications that target specific OS flavours, most notably Apple iOS or Android, and get away with that because the user base <em>can</em> be targeted that way (for now).</p> <h3>EDIT – 23rd Jun 2011</h3> <p><a href="http://gigaom.com/mobile/sorry-html-5-mobile-apps-are-used-more-than-the-web/">GigaOM recently weighed in</a>, telling us that native mobile apps were beating HTML5 ones. One commenter, Roshan Shrestha, <a href="http://gigaom.com/mobile/sorry-html-5-mobile-apps-are-used-more-than-the-web/#comment-632886">mentioned</a> that:</p> <blockquote> <p>“I see that many of the apps are just a wrapper against an HTML browser component. Most of them do not store much data locally and require internet connection, so these are basically web apps.”</p></blockquote> <p>I agree that most apps could be web apps, and I think it will end up there, but not yet. In the meantime everyone needs an Android app, wants an iPhone app and should have a Windows Phone 7 app.</p> Falkaynhttp://www.blogger.com/profile/13474476407114622880noreply@blogger.com1tag:blogger.com,1999:blog-5201404.post-37988486044050902682011-03-10T14:44:00.001+11:002011-03-10T14:45:57.263+11:00Arthur Douglas Burgess<p>I just got delivered a very nice present. The National Library of Australia maintains an online archive of Australian newspapers for the last hundred years or so called Trove (<a href="http://trove.nla.gov.au/">http://trove.nla.gov.au/</a>). A couple of weeks go I found a reference to my grandfather on my mother’s side, and a few days ago I ordered a copy of it via PDF. Thanks to the miracles of scanning + the internet, here it is:</p> <p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Arthur Douglas Burgess Biography" border="0" alt="Arthur Douglas Burgess Biography" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje92OO7-kdxKop91Us7WUZLLTRthiPp5QAS_8O_NJEN5jsixzzqFRf9CEZh_EsHovETAjrYgog1GQRNiZZnzZ5hMqI9ac9GcdexruemAPWyJatzL0hD0HOs9QothdBcWR2zS7d2Q/?imgmax=800" width="494" height="711"> </p> <p>My other grandfather was also involved with Fairfax and the Sydney Morning Herald, but in the capacity of a typesetter on the printing presses.</p> Falkaynhttp://www.blogger.com/profile/13474476407114622880noreply@blogger.com0tag:blogger.com,1999:blog-5201404.post-69769895842308346062011-03-09T14:02:00.002+11:002011-03-09T14:07:10.107+11:00Is knowledge all there is?<p>I spent a fair bit of time this week helping a client with their information strategy and information management policy. Their definition of information included “Emails, Databases, Documentation and Knowledge”, which is a mixed bag if ever I saw one!</p> <p>Clearly they needed to get a better handle on what they were dealing with, so I introduced them to a little pyramid that I had worked on several years ago (back when I was thinking about pursuing a career in knowledge management). I call this the <em>Wisdom Pyramid</em>, and use it to help differentiate between raw data, meaningful information, contextualised knowledge and applied wisdom.</p> <p align="center"><strong><font size="5" face="Trebuchet MS">Wisdom Pyramid</font></strong></p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXgyWZSoLdPtYjwakQyo6gHbPn1BrLLaYXZcKvLmUz56X5JcRNE5ioA8Zxir8EKMtlPaWBMIuWIC0ao1a9dmN7CrmrtVswTEPrKRu1cjLhXxZZzyMfmAeUKEu-VHy83WYbkxgKxg/s1600-h/Wisdom%20Knowledge%20Information%20Data%20Pyramid%5B15%5D.png"><img style="display: inline" title="Wisdom Knowledge Information Data Pyramid" alt="Wisdom Knowledge Information Data Pyramid" src="http://lh5.ggpht.com/_1GrPn-zPqXU/TXbt2SAVVlI/AAAAAAAABAQ/-tDbzA8eatU/Wisdom%20Knowledge%20Information%20Data%20Pyramid_thumb%5B13%5D.png?imgmax=800" width="490" height="366"></a> </p> <p>The example I usually use to bring it to life is that of a traffic light changing colour from amber to red.</p> <p>At a data level there is a single bit of information, isolated from context and basically without meaning, unless one is familiar with that particular data type.</p> <p>That data becomes information when meaning is given to it so that a human can more easily understand it.</p> <p>The information becomes knowledge when context is considered, in this case that the traffic light is one I am heading towards.</p> <p>Wisdom is exhibited when that knowledge is applied to my situation, so that I stop the car at the red light.</p> <p>The pyramid is pretty useful, although there is a catch with wisdom as we only call an action wise when knowledge is applied <em>correctly</em> to a situation. Incorrect application is at worst foolish, and at best thoughtless.</p> <p>Much ado has been made about the management of corporate knowledge, especially the attempt to capture explicit knowledge, although tacit knowledge is also sometimes acknowledged as something that must be transferred. The real issue however is how do we inculcate wisdom into our staff so they make wise decisions and not foolish ones?</p> <blockquote> <p>“Take hold of my words with all your heart; keep my commands, and you will live. Get wisdom, get understanding; do not forget my words or turn away from them. Do not forsake wisdom, and she will protect you; love her, and she will watch over you. The beginning of wisdom is this: Get wisdom. Though it cost all you have, get understanding.” <br><em>Proverbs 4:4-7 (NIV translation)</em></p></blockquote> <p>You grow wisdom by growing people, and that’s where most knowledge management should start – tools are useful (and Elcom has some <a href="http://www.elcom.com.au/Products/Intranet-Manager/Knowledge-Management">good KM tools</a>) but mentoring, teaching and encouraging wisdom in our people is where the real benefits come from.</p>Falkaynhttp://www.blogger.com/profile/13474476407114622880noreply@blogger.com2tag:blogger.com,1999:blog-5201404.post-39773906566458081532011-02-11T09:19:00.002+11:002011-02-11T09:20:50.270+11:00Fresh design!<p>In case you’re reading an RSS feed, I have updated my blog design to use a core Blogger template, and done some (slightly) artistic tweaking to get a look that I’m happy with.</p>Falkaynhttp://www.blogger.com/profile/13474476407114622880noreply@blogger.com0tag:blogger.com,1999:blog-5201404.post-55924185275797848962011-02-10T10:32:00.002+11:002011-02-10T10:38:26.731+11:00Occasionally (Dis-)Connected is the Future<p>As web application developers we tend to build for always connected scenarios. They simplify the problem of web development and allow us to keep the complexity of our solution hidden on web and application servers back at corporate headquarters.</p> <p>Pity the poor rich GUI developer who needed to handle both connected and disconnected modes – mainly for corporate management with laptops. This requirement increased the complexity of their applications and forced sharing of business logic with the client GUI layer. Recently mobile developers have realised the need to provide the same service, and with HTML5 web developers are now being pushed to as well.</p> <p>At the same time, the ability of any client machine to get connected is increasing dramatically. Modern cities provide plentiful sources of free, commercial public and private wifi services, and most modern telecommunications devices allow for secondary use as internet modems.</p> <p>It is now clear that most web applications/websites are likely to be accessed via mobile devices, and there are far more people with internet access via their mobile devices than via landlines/roaming broadband.</p> <p>One might wonder whether disconnected clients still need to be supported, or whether the vast majority of clients in the vast majority of locations are best handled by assuming connected, always-on access? </p> <p>The problem with this thinking is that it ignores a fundamental truth:</p> <blockquote> <p><font size="3">“Space is big. Really big.”</font><font size="2"> – <em>The Hitchhikers Guide to the Galaxy</em></font></p> </blockquote> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjauy1rvBDOd-prhNqDdx_FA5ffAYS4FbRTpLHPhstBweG44BR2gjzEoCYoiJoKkNZW4zBNlKA3K4FGe1cDpCeFWcgYI5k-j8KWrwk-AirInxlZCyZAL13cg4h3MEUMsoe5T4wUzw/s1600-h/hubbledeepfield4.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="hubbledeepfield" border="0" alt="hubbledeepfield" src="http://lh4.ggpht.com/_1GrPn-zPqXU/TVMkE1v53LI/AAAAAAAAA_k/vdzhxhSXX3U/hubbledeepfield_thumb2.jpg?imgmax=800" width="490" height="368" /></a></p> <p>OK, so these are not all apps that will be used in space (has the first iPhone gone to space yet?), but they can’t all assume that the user is always connected.</p> <p>There are two fallacies with the premise of always-on access, the first is assuming that most people’s situations mimic the developers’ own ultra-connected, hyper-geek, lives, the second is limiting “everywhere” to the points on the daily commute. For most people in the world, in most places, there are going to be frequent losses of signal – even in Australia <a href="http://au.todaytonight.yahoo.com/article/36032">most telcos</a> can’t get reliable mobile signal to all urban locations, let alone cover the vastness of our Outback.</p> <p>Of course mobile developers know this is a problem, and might decry that their app can handle the phone losing and resuming signal flawlessly. But is there still value in the app when it is disconnected?</p> <p>The <em>most</em> interesting opportunities lie with providing access to applications that can still provide value during the occasional disconnection – these are the applications that will be truly useful all the time and everywhere. For example the mapping application on my Nokia N85 can operate with three levels of connection:</p> <ol> <li><strong>Connected to the internet and GPS.</strong> <br />In this mode I get the latest map updates and can tell where I am on the map. </li> <li><strong>Connected to GPS only. <br /></strong>In this mode the maps used are the ones stored locally but my current location is derived from GPS. </li> <li><strong>Disconnected.</strong> <br />In this mode the maps are available to be read, queried or manually moved around on, but my current location is not available. </li> </ol> <p>Even in the most disconnected mode the maps are useful, I can lookup addresses and perform most of what I would have with an old-school street directory. When they connect further I get increasing amounts of value. Because of this sort of disconnected operation, the map and email applications are the most useful aspects of the phone to me (the other is the clock). They are more useful than a static application because they can occasionally connect and update themselves.</p> <p>There is a term for this sort of behaviour that web developers have coined with websites that offer substantial value for all browser clients, but increase their value for some special browser clients.</p> <blockquote> <p><a href="http://en.wikipedia.org/wiki/Progressive_enhancement"><font size="3">Progressive enhancement</font></a></p> </blockquote> <p>The point is to view the extra potential as something great to have, but not necessary for the application to fulfil its value proposition.</p> <p>I really think this is the killer feature for a mobile app – provided of course that there can still be a value proposition in the disconnected mode. I also think that the best mobile apps will be web apps that respond and adapt to the restrictions of the mobile space rather than custom built ghetto-apps that can only prosper in one particular mobile OS. But that can be another post …</p>Falkaynhttp://www.blogger.com/profile/13474476407114622880noreply@blogger.com0tag:blogger.com,1999:blog-5201404.post-76405493747906036812010-11-17T14:12:00.002+11:002010-11-17T14:13:56.743+11:00Dependency injection our way<style>div.code {background-color:#222; width:530px; overflow:scroll; margin:5px 0px 0px 0px; padding: 5px;}
pre.code {background-color:#222; width:1400px; height:100%; margin:0px; padding:0px;}</style> <p>
Like most everyone else practicing automated unit testing the developers at <a href="http://www.elcom.com.au">Elcom Technology</a> have the issue to deal with of how to handle dependency injection – that is the exposure of a given object’s dependencies on other objects outside of the object so that the calling object can be made responsible for acquiring those dependent objects. In general this is most easily done by exposing said dependencies in the object’s constructor as required parameters – thus ensuring that the calling objects knows it needs to supply them when new'ing the object. So far, so good.</p>
<p>
Recently (as of CM v7.2) we have introduced the Elcom.API library in an attempt to use the adapter pattern to present a more cogent, safer and easier to use interface to our <a href="http://www.elcom.com.au/Products/Community-Manager/Community-Manager-Summary/default.aspx">CommunityManager.NET web CMS product</a>. This is all well and good, but it means that to ensure testability we now have chains of dependencies throughout our application code – and declaring something a dependency of object A, when it is required by that object only to call object B, which then only needs it to call object C, creates some very smelly code.</p>
<p>
Clearly we needed a dependency injection framework of some sort, but what should we use? <a href="http://blog.objectmentor.com/articles/2010/01/17/dependency-injection-inversion">Like Uncle Bob</a> we didn’t want our DI framework to leave code smell throughout our projects. Well, we already have an object with all static/shared methods called <font face="Courier New">Current</font>. We use this to give an easy way of accessing some current state items, such as:</p>
<div class="code">
<pre class="code"><span style="color: #9d9dce">Dim </span><span style="color: #4fa745">a </span><span style="color: #e0e0e0">= </span><span style="color: #2b91af">Current</span><span style="color: #e0e0e0">.</span><span style="color: #4fa745">Configuration</span><span style="color: #e0e0e0">.</span><span style="color: #4fa745">ConnectionString
</span><span style="color: #9d9dce">Dim </span><span style="color: #4fa745">b </span><span style="color: #e0e0e0">= </span><span style="color: #2b91af">Current</span><span style="color: #e0e0e0">.</span><span style="color: #4fa745">Configuration</span><span style="color: #e0e0e0">.</span><span style="color: #4fa745">EncryptionSettings
</span><span style="color: #9d9dce">Dim </span><span style="color: #4fa745">c </span><span style="color: #e0e0e0">= </span><span style="color: #2b91af">Current</span><span style="color: #e0e0e0">.</span><span style="color: #4fa745">Configuration</span><span style="color: #e0e0e0">.</span><span style="color: #4fa745">ShortDateFormat
</span><span style="color: #9d9dce">Dim </span><span style="color: #4fa745">d </span><span style="color: #e0e0e0">= </span><span style="color: #2b91af">Current</span><span style="color: #e0e0e0">.</span><span style="color: #4fa745">HttpContext
</span><span style="color: #9d9dce">Dim </span><span style="color: #4fa745">e </span><span style="color: #e0e0e0">= </span><span style="color: #2b91af">Current</span><span style="color: #e0e0e0">.</span><span style="color: #4fa745">UrlId
</span><span style="color: #9d9dce">Dim </span><span style="color: #4fa745">f </span><span style="color: #e0e0e0">= </span><span style="color: #2b91af">Current</span><span style="color: #e0e0e0">.</span><span style="color: #4fa745">User
</span><span style="color: #9d9dce">Dim </span><span style="color: #4fa745">g </span><span style="color: #e0e0e0">= </span><span style="color: #2b91af">Current</span><span style="color: #e0e0e0">.</span><span style="color: #4fa745">UserId</span></pre>
</div>
<p>
Now we want to expand that to offer this sort of syntax to give easy access to services/repositories:</p>
<div class="code">
<pre class="code"><span style="color: #9d9dce">Dim </span><span style="color: #4fa745">myContSvc </span><span style="color: #9d9dce">As </span><span style="color: #4fa745">Content</span><span style="color: #e0e0e0">.</span><span style="color: #2b91af">IContentService </span><span style="color: #e0e0e0">= </span><span style="color: #2b91af">Current</span><span style="color: #e0e0e0">.</span><span style="color: #4fa745">Service</span><span style="color: #e0e0e0">.</span><span style="color: #4fa745">ContentServiceGet</span><span style="color: #e0e0e0">()</span></pre>
</div>
<p>
That would give a simple way for object B to instantiate an <font face="Courier New">IContentService</font> without needing to declare it as a dependency to object A (but object C should still declare this in its constructor). For this to be truly useful, we have to be able to wire up the <font face="Courier New">Content.Service</font> container at runtime from either a configuration file (the default behaviour) or from code (during testing).</p>
<h2>
Sidebar: On DI Containers</h2>
<p>
To digress briefly, you will notice that the Current.Service container is a custom-built one, rather than a <a href="http://unity.codeplex.com/">Unity</a> or other DI framework’s container. The reason for this is twofold:</p>
<ol>
<li>We want to minimise our product’s dependencies on other products or open-source projects. </li>
<li>We want developers using our product to be able to know in their IDE whether a given service can expect to be found wired up in the container, hence our use of methods like <font face="Courier New">ContentServiceGet()</font> and <font face="Courier New">SecurityServiceGet()</font>. </li>
</ol>
<p>
That second reason is very important given that we are still actively developing the Elcom.API and pushing it out across all of our product’s many modules. One version of CommunityManager.NET may have very different abilities to the next one, and our partners’ developers may be dealing in multiple versions at once – hence the need for good IDE support.</p>
<h2>
Saved by the Static Property</h2>
<p>
So we like the syntax afforded us by static/shared methods, but they present problems when it comes to setting the values during testing. We looked at lots of options, including using delegates or even events, but they all made production code smelly in order to aid testing, and that didn’t sit well with us.</p>
<p>
What we ended up doing was creating an <font face="Courier New">IServiceContainer</font> interface which declared all the types of services that could be returned, and using a factory within the <font face="Courier New">Current.Service</font> method to build a <font face="Courier New">DefaultServiceContainer</font> from a configuration file. We then provided a <font face="Courier New">Current.ServiceContainer</font> object which would contain the concrete version of <font face="Courier New">IServiceContainer</font> being used and which could be overwritten when testing.</p>
<div class="code">
<pre class="code"><span style="color: #ebd767">''' </span><span style="color: gray"><summary>
</span><span style="color: #ebd767">''' This holds the concrete implementation of IServiceContainer that is used. This is writable in order to help testability.
''' </span><span style="color: gray"></summary>
</span><span style="color: #ebd767">''' </span><span style="color: gray"><value></span><span style="color: #ebd767">The concrete implementation of IServiceContainer that is used by Current.Service (or that is created by that function).</span><span style="color: gray"></value>
</span><span style="color: #9d9dce">Public Shared Property </span><span style="color: #4fa745">ServiceContainer </span><span style="color: #9d9dce">As </span><span style="color: #2b91af">IServiceContainer </span><span style="color: #e0e0e0">= </span><span style="color: #9d9dce">Nothing
Public Shared Function </span><span style="color: #4fa745">Service</span><span style="color: #e0e0e0">() </span><span style="color: #9d9dce">As </span><span style="color: #2b91af">IServiceContainer
</span><span style="color: #9d9dce">Dim </span><span style="color: #4fa745">currentContainer </span><span style="color: #9d9dce">As </span><span style="color: #2b91af">IServiceContainer
</span><span style="color: #9d9dce">If </span><span style="color: #4fa745">ServiceContainer </span><span style="color: #9d9dce">IsNot Nothing Then
</span><span style="color: #ebd767">' retrieving the previously created one (or the testing one if its been written by our tests)
</span><span style="color: #4fa745">currentContainer </span><span style="color: #e0e0e0">= </span><span style="color: #4fa745">ServiceContainer
</span><span style="color: #9d9dce">Else
Dim </span><span style="color: #4fa745">factory </span><span style="color: #9d9dce">As New </span><span style="color: #2b91af">ContainerFactory
</span><span style="color: #4fa745">currentContainer </span><span style="color: #e0e0e0">= </span><span style="color: #4fa745">factory</span><span style="color: #e0e0e0">.</span><span style="color: #4fa745">ServiceContainer
</span><span style="color: #ebd767">' obviously we need to store/cache this and not just instantiate each time, so put it back into Current.ServiceContainer
</span><span style="color: #4fa745">ServiceContainer </span><span style="color: #e0e0e0">= </span><span style="color: #4fa745">currentContainer
</span><span style="color: #9d9dce">End If
Return </span><span style="color: #4fa745">currentContainer
</span><span style="color: #9d9dce">End Function</span></pre>
</div>
<p>
This approach works really well, provided you don’t mix production and testing code in the same application instance, which we never do. It doesn’t offer a generic container for developers to use for custom projects built on CommunityManager.NET – but there is nothing stopping them using Unity or other generic containers for their own purposes.</p>
<p>
In case you’re wondering this has become a pattern we’re using across the <font face="Courier New">Current</font> object’s static/shared methods, including of course <font face="Courier New">Current.HttpContext</font>. Our caching at the moment is still fairly primitive (stick the object in the static property), but we are looking at making improvements in that area in this release too. If nothing else we have a proxy for Session objects that can be swapped at test time for something not dependent on web projects (although ASP.NET cache is available outside web projects anyway, See <a href="http://www.hanselman.com/blog/UsingTheASPNETCacheOutsideOfASPNET.aspx">Scott Hanselman’s reference</a> to using <font face="Courier New">HttpRuntime.Cache</font> outside ASP.NET).</p>Falkaynhttp://www.blogger.com/profile/13474476407114622880noreply@blogger.com0tag:blogger.com,1999:blog-5201404.post-26461742271452119542010-09-20T23:27:00.000+10:002010-09-20T23:27:33.627+10:00Is blogrolling dead?I just removed my Blogrolling links as Google warns me that the site was being used to distribute malware. It's a real shame, but it opens up the door to me looking at freshening the design for the first time in a few years.Falkaynhttp://www.blogger.com/profile/13474476407114622880noreply@blogger.com0tag:blogger.com,1999:blog-5201404.post-88059828922640121282010-04-15T13:25:00.001+10:002010-04-15T13:25:23.161+10:00Using Enterprise 2.0<p><em>Continuing from my <a href="http://falkayn.blogspot.com/2010/04/untapping-your-peoples-passion.html">previous post</a>, this one is more in line with the actual talk I gave on the 13th April at <a href="http://www.internetshow.com.au">The Internet Show</a> in Melbourne. We will be putting the actual transcript and slides of that talk (and video if the quality is good enough) up for people to download in the next week or so.</em></p> <p>If you are interested in Web 2.0 and social software then you should have a look at Enterprise 2.0, which could be thought of as just Web 2.0 within the enterprise, although the originator of the idea, <a href="http://andrewmcafee.org">Andrew McAfee</a> has a more <a href="http://andrewmcafee.org/2006/05/enterprise_20_version_20/">precise definition</a> for it:</p> <blockquote> <p>“Enterprise 2.0 is the use of emergent social software platforms within companies, or between companies and their partners or customers.”</p> </blockquote> <p>He places particular emphasis on the idea that it should be emergent, and for this reason excludes traditional intranets as part of the Enterprise 2.0 toolset.</p> <blockquote> <p>“<em>Emergent</em> means that the software is freeform, and that it contains mechanisms to let the patterns and structure inherent in people’s interactions become visible over time.”</p> </blockquote> <p>The whole idea of <a href="http://en.wikipedia.org/wiki/Emergence">emergence</a> is a tricky one, but a good example is the way Google assesses the relative merit of web pages based on the number (and quality) of inbound links, something which emerges over time as people find a page useful and link to it, rather than something pre-planned and orchestrated. A more concrete example is the idea of not placing paths in a garden up front, but allowing people’s actual movement to determine where paths should be placed – hence having them emerge as real patterns of use are known.</p> <p>A point worth noting is that this means that the early structure or format of an Enterprise 2.0 tool can be expected to change over time. Initially it may seem somewhat useless, and not the sort of quality resource the business hopes it will be. This is a <em>good thing</em> as this quote from <a title="Art & Fear: Observations on the Perils (and Rewards) of Artmaking" href="http://www.kk.org/cooltools/archives/000216.php">Art & Fear</a> illustrates:</p> <blockquote> <p>“The ceramics teacher announced on opening day that he was dividing the class into two groups. All those on the left side of the studio, he said, would be graded solely on the quantity of work they produced, all those on the right solely on its quality. His procedure was simple: on the final day of class he would bring in his bathroom scales and weigh the work of the ‘quantity’ group: fifty pound of pots rated an ‘A’, forty pounds a ‘B’, and so on. Those being graded on ‘quality’, however, needed to produce only one pot -albeit a perfect one - to get an "A". Well, came grading time and a curious fact emerged: the works of highest quality were all produced by the group being graded for quantity. It seems that while the ‘quantity’ group was busily churning out piles of work - and learning from their mistakes – the ‘quality’ group had sat theorizing about perfection, and in the end had little more to show for their efforts than grandiose theories and a pile of dead clay.”</p> </blockquote> <p>The point about emergence is that it usually leads to a more appropriate and higher quality result than something meticulously planned from “theorizing about perfection”.</p> <p>It is important to realise that the interactions that will take place, and help the emergence of patterns and structure, will be around ideas and especially the communication of ideas. Any Enterprise 2.0 initiative must have as its basis the ability for people to express, challenge, endorse and modify their and other’s ideas.</p> <p>It can seem that some of this is a waste of people’s time, creating yet more ideas (some rubbish) for them to have to trawl through and interact with. We should remember that what ultimately matters is how it helps to <a href="http://blog.thingamy.com/sigs_blog/2010/03/organisational-effectiveness-vs-personal-efficiency.html">optimise overall organisational effectiveness</a>, not necessarily the impact on individual efficiency. Efficiency is one of the items that gets addressed as complexity emerges in the unstructured content that Enterprise 2.0 deals with – good tools will help you deal with this complexity.</p> <h4>What Can Enterprise 2.0 Do?</h4> <p>One of the biggest differences in Enterprise 2.0 tools is that they bring broadcasting to the average employee. This means that everyone can take advantage of the virtues of pull versus push publishing. Instead of identifying who should see something, and then pushing it into their email inboxes, or onto their IM clients, pull publishing allows the idea to be pulled into someone’s attention when they want it to be. Key enablers for pull publishing are RSS feeds and feed-readers, easily browsable content and micro-blogging enterprise tools like Yammer.</p> <p>Another key difference is that most Enterprise 2.0 tools have come out of the consumer marketplace. That means they are highly usable and are designed from the ground up to be easy to learn. It turns out that’s a really important point, because it makes adoption across an enterprise much easier than most enterprise software. One key point is that the tools should address security and legal concerns, unlike most Web 2.0 tools, the content being dealt with is commercially sensitive.</p> <p>Here are some business problems that Enterprise 2.0 helps address better than many other tools:</p> <ul> <li><strong>Bring new employees up to speed</strong> <br />Wikis allow corporate knowledge to be easily captured, reviewed, edited and re-published as necessary so that new employees can quickly see the latest information. Internal blogs can operate the same way, but have the additional bonus of making it obvious who knows what, which gives the new employee someone to connect with. </li> <li><strong>Accurately forecast something</strong> <br />Some cutting edge applications of Enterprise 2.0 include crowd sourcing from within the organisation, using internal <a href="http://en.wikipedia.org/wiki/Prediction_market">prediction markets</a> to identify probable issues or forecasting delivery dates or prices. </li> <li><strong>Help customers</strong> <br />One of the oldest Enterprise 2.0 ideas, and something pre-dating Web 2.0, self-help community forums enable customers to be helped by other customers acting as a volunteer helpdesk. </li> <li><strong>Make things findable</strong> <br />Blogs (and intranets) that implement folksonomy tagging well allow users to easily tag things to find later and make content more browsable. Good enterprise search solutions that cover blogs, wikis, intranets and other Enterprise 2.0 tools also help make things more findable. </li> <li><strong>Broadcast ideas (pull not push)</strong> <br />As mentioned above, RSS and Yammer allow users to publish content in a way that broadcasts it outside their normal circle of influence, without creating disruptive interruptions as push publishing tends to. </li> <li><strong>Transparent project progress</strong> <br />Using a wiki, blog or a simple project management tool like Basecamp to track project progress both allows the emergence of patterns and can make those visible to people outside the immediate project team. </li> <li><strong>Communicate to the rest of the organisation <br /></strong>Department blogs can act as venues for communications between components of an organisation, and capture the discussions around those communications for future users to review and understand. </li> <li><strong>Helping upcoming leaders network</strong> <br />It is well established that upcoming leaders do better when their networks are more diverse and cross organisational boundaries. Internal blogs, the comments around them and a good flexible corporate directory tool can help upcoming leaders get noticed outside their existing teams and make the connections they will require to succeed. </li> <li><strong>Enhance employee self-learning</strong> <br />I’ve <a href="http://falkayn.blogspot.com/2008/06/how-do-you-make-training-useful.html">mentioned before</a> David Maister’s opinion that <a href="http://davidmaister.com/articles/1/96/">most training is useless</a> and the current focus of much etraining is actually on how to teach the individual to become a better learner, rather than pushing particular content at them. Wikis, blogs and social bookmarking all place a part in enabling better self-learning. </li> <li><strong>Improve innovation</strong> <br />Innovation is done by creative people, usually passionate creative people (see my previous post on <a href="http://falkayn.blogspot.com/2010/04/untapping-your-peoples-passion.html">passion</a>) and Enterprise 2.0 helps them do this by making it easy for their ideas to be shared with internal audiences to inspire and call forth more ideas from them. Any Enterprise 2.0 tool can help innovation, but the best ones are often internal blogs. </li> </ul> <p>Below is a great slidedeck that illustrates how someone might use these tools:</p> <div style="width: 425px" id="__ss_42907"><strong style="margin: 12px 0px 4px; display: block"><a title="Meet Charlie - what is Enterprise2.0?" href="http://www.slideshare.net/slgavin/meet-charlie-what-is-enterprise20">Meet Charlie - what is Enterprise2.0?</a></strong><object width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=meet-charlie-what-is-enterprise20-29751&stripped_title=meet-charlie-what-is-enterprise20" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=meet-charlie-what-is-enterprise20-29751&stripped_title=meet-charlie-what-is-enterprise20" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object> <div style="padding-bottom: 12px; padding-left: 0px; padding-right: 0px; padding-top: 5px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/slgavin">Scott Gavin</a>.</div> </div> <h4>What Do I Need in an Enterprise 2.0 Tool?</h4> <p>What should you look for in an Enterprise 2.0 tool?</p> <p>You want to start with one that is more of a toolbox than a single tool, a good start is to look for something that offers blogs, wikis and a well-integrated corporate directory. You want something that is expandable, so you have the option to add more tools later.</p> <p>Any tool you choose should play nice with other enterprise software, so you should find something that offers single sign-on (SSO) with your particular network, for example Active Directory/LDAP integration and that satisfies your IT department’s security needs.</p> <p>Playing nicely with other Enterprise 2.0 tools is also mandatory. In this case that is mainly done by providing (and consuming) RSS feeds and integrating with your chosen enterprise search tool, but integration with a corporate directory offering will become necessary.</p> <p>Basic functionality to allow emergent behaviours is also necessary, at a minimum this requires tagging and the ability to comment on anything, but micro-blogging and social bookmarking are also good candidates for this.</p> <p>If you want to try something without involving IT, then you can look at various hosted solutions (such as Yammer), but eventually you should make sure that IT is happy with your choice of tools – especially of it ends up being something that you need to host yourselves, or if it will contain content vital to the continuity of the organisation in the case of a disaster.</p> <h4>Do I Need It?</h4> <p>Small companies, or larger ones faced with large amount of routines tasks and few opportunities for passionate creative work, might find that Enterprise 2.0 offers less robust ROI than most IT purchases, but even they may benefit from using Yammer or similar low-cost, hosted tools.</p> <p>Companies in highly competitive environments, where the ability to be agile and quick to react to change is important, or organisations seeking to <a href="http://falkayn.blogspot.com/2010/04/untapping-your-peoples-passion.html">ignite the passion of their employees and find more effective ways to work</a> will find that these tools are indispensable in helping flatten the organisation and efficiently distribute ideas.</p> Falkaynhttp://www.blogger.com/profile/13474476407114622880noreply@blogger.com1tag:blogger.com,1999:blog-5201404.post-18010272123520216672010-04-06T11:44:00.001+10:002010-04-06T11:44:17.583+10:00Untapping your people’s passion<p><em>I’m in the midst of preparing for The Internet Show in Melbourne, 13-14 April 2010. As a sponsor my employer, Elcom Technology, has several slots for presentations. We’re doing a case study on a social networking startup and a CMS clinic, but most importantly for me I am also doing a session on Web 2.0 and Social Media within the enterprise. These are the key ideas behind that talk, although this is more detailed than I will be on the day.</em></p> <p>Passion is one of those wonderful ideas, it is hard to quantify or measure, but unmistakable when you meet it. In the business world we tend to think of it as messy, disorganised, hard to manage, hard to inspire and hard to control.</p> <p><a href="http://lh5.ggpht.com/_1GrPn-zPqXU/S7qR6UrR77I/AAAAAAAAA-Q/NRB-3-QYx8I/s1600-h/iStock_000000486247Large%5B9%5D.jpg"><img style="display: block; float: none; margin-left: auto; margin-right: auto" title="Passion is messy" alt="Passion is messy" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzndzZdC2V4bjxKtlAk_8KrTBhVruUgCFAYpuJJD2EyYTaiVm_Oc1Uu9mRHagrUeqxb2UJOw9ldzp0BRUqsACx6c72zA-AaFMKYOcN5286jiFc8A7uTskzTz5ZBBZ1OUPz_2AVLg/?imgmax=800" width="400" height="328" /></a></p> <p>However, passion is one of the greatest competitive advantages, with something they are passionate about, people will spend more time, think more creatively and fight harder than they will with other things in their lives. It is also well-recognised that passionate employees create passionate customers, and that’s something any business should be interested in.</p> <p>Deloitte’s <a href="http://www.johnseelybrown.com/shiftindex.pdf">2009 Shift Index</a> says that “Passion is when people discover the work that they love and when their job becomes more than a mode of income.” They describe the need for passion in terms of competing for employees:</p> <blockquote> <p>“Why does passion matter? Because staying competitive in the newly globalized labor market requires all of us to constantly renew and update our professional skills and capabilities. The effort required to increase our rate of professional development is difficult to muster unless we are passionately engaged with our professional activities.”</p> </blockquote> <h4>A History Lesson</h4> <p>Around 100 years ago the Ford Motor Company implemented an <a href="http://en.wikipedia.org/wiki/Assembly_line">assembly line</a> in order to boost the production of the Model T. Initially, Ford raised the wages of assembly line workers to keep them interested in the innovations they were rolling out, but now we think of assembly lines as places where cost is minimised by reducing the complexity of the work across many simple steps, and therefore minimising the training (and wages) required for employees.</p> <p>By simultaneously innovating to a lower price point and creating a middle class that could afford their product, Ford managed to reach a dominant early lead in the production of motor cars. This precipitated a movement from <a href="http://en.wikipedia.org/wiki/Craft_production">craft production</a> to <a href="http://en.wikipedia.org/wiki/Mass_production">mass production</a> and in large part was based on <a href="http://en.wikipedia.org/wiki/Taylorism">scientific management</a>, a term coined by <a href="http://en.wikipedia.org/wiki/Frederick_Winslow_Taylor">Frederick Taylor</a>.</p> <p>The motor car industry might have continued in this vein forever, except for the advent of the <a href="http://en.wikipedia.org/wiki/Toyota_Production_System">Toyota Production System</a> (TPS). The founders of Toyota were unimpressed with Ford’s assembly line, but found a way to improve it greatly. Their ideas were wildly successful and a host of studies tried to understand the core ideas in the TPS in order to apply it in the western world. Thus we received just-in-time manufacturing, total quality management, continuous improvement and lean manufacturing.</p> <p>Most of these ideas have failed to find as fertile soil in the west as they did in Japan – however the evidence is that the difference is not cultural (Toyota runs plants in America run as well as they do in Japan), predicated upon Japanese corporate solidarity, or based on some secret sauce hidden from researchers. In fact the key items were in plain view all the time, but hidden by the biases the researchers brought with them.</p> <p>There are two key differences they ignored:</p> <blockquote> <p><strong>1. People Management</strong></p> <p>The first key difference was the way people were treated. In the TPS people at all levels are valued and given control of their area of work. For example, an assembly line worker is able to shut down the entire line if they find a defect, and will then be part of the team tasked with finding the root cause of that defect and solving it.</p> <p><strong>2. Practice Makes Perfect</strong></p> <p>Another key difference is that the Japanese understood W. Edward Deming’s <a href="http://en.wikipedia.org/wiki/Statistical_process_control">statistical process control</a> methodology, and saw their assembly lines as being imperfect and in need of continuous improvement, rather than the perfectly <a href="http://en.wikipedia.org/wiki/Defined_process">defined processes</a> that scientific management assumed.</p> <p>An illustration of this is the pottery class that was split 50/50 between students who were told they would be judged on the quality of a single pot at the end of the course, and ones that were told they would be judged on the quantity of the pots they produced. The ones who focussed on quantity ended up producing better quality pots because they learnt from each one they created, whilst the others got stuck in trying to create the single perfect pot first time.</p> </blockquote> <p>Eventually in the mid-80’s, Ford asked Deming to help them turn around their quality problems. They were surprised when his focus was on their management methods, but his influence was quickly seen in the profitable Taurus-Sable line.</p> <p>Today these principles are working their way into other areas of work, through <a href="http://en.wikipedia.org/wiki/Agile_software_development">Agile software development</a> and the general concept of <a href="http://en.wikipedia.org/wiki/Lean">Lean</a>. An important key concept is the idea of <a href="http://en.wikipedia.org/wiki/Lean_manufacturing#Types_of_wastes">waste</a> – whether it be spare inventory, transportation, defects, unnecessary motion, over-production or over-processing. The well-known Scrum methodology lists three important pillars for empirical process control:</p> <ol> <li><strong>Transparency</strong> <br />Know what is happening and be able to measure everything. </li> <li><strong>Inspection</strong> <br />Regular and frequent inspection of the process to ensure it is functioning without <a href="http://en.wikipedia.org/wiki/Lean_manufacturing#Types_of_wastes">waste</a>. </li> <li><strong>Adaptation</strong> <br />Adapting the process to remove any <a href="http://en.wikipedia.org/wiki/Lean_manufacturing#Types_of_wastes">waste</a>. </li> </ol> <h4>So What?</h4> <p>A big part of Deming’s management principles was helping people re-discover <strong>“pride of workmanship”</strong> (or passion!) in their work, and removing barriers to them doing this (e.g. work standards, quotas, annual ratings, management by objective, etc.), substituting leadership for those barriers.</p> <p>Whilst Deming’s methods have transformed the manufacturing industry, with companies like Dell and Boeing taking lessons from the TPS and applying them well, there are many industries where Taylor’s scientific management methods still rule, mostly because of habit and management (mis)training.</p> <p>I know that I learnt how to manage very much in line with scientific management techniques (mainly by osmosis from poor managers). Plan, control, punish, reward, etc. The reality is that there is a shift in our working lives, we need more <a href="http://edgeperspectives.typepad.com/edge_perspectives/2009/09/a-labor-day-manifesto-for-a-new-world.html">passionate creatives</a> than ever, more artisans or craftspeople than unthinking drones. There is scarcely any industry or business that does not need at least some of their people to be passionately involved, engaged and thinking outside the box.</p> <p>That last point is key to applying this. For some organisations the amount of passionate creative work that overlaps their routine work is minimal, for others there is almost a total overlap. The trend is towards more passionate creative work, and we will see that increasingly the leaders in their field are organisations that tap into this and harness it properly. Ford’s initial success in keeping their assembly workers by doubling their pay was short-term, soon the rest of the employment market matched their wages and the middle class expanded rapidly thereafter.</p> <p>Your efforts need to match the amount of passionate creative work that overlaps routine work in your industry – but don’t shy away from finding ways to move away from the industry average and get more creative work in there.</p> <h4>How Can We Do It?</h4> <p>The question is how do we help people tap their passionate creativity in the workplace so they want to stay?</p> <p>We need to go back to the basics of good management again to find out what really motivates employees. <a href="http://www.danpink.com">Daniel Pink</a> talked about this at <a href="http://www.ted.com">TED</a> in August last year.</p> <object width="522" height="324"><param name="movie" value="http://www.youtube-nocookie.com/v/rrkrvAUbU9Y&hl=en_GB&fs=1&rel=0&border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube-nocookie.com/v/rrkrvAUbU9Y&hl=en_GB&fs=1&rel=0&border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="522" height="324"></embed></object> <p> </p> <blockquote> <p>“There is a mismatch between what science knows and what business does. And here is what science knows. <em>One:</em> Those 20th century rewards,those motivators we think are a natural part of business, do work, but only in a surprisingly narrow band of circumstances. <em>Two:</em> Those if-then rewards often destroy creativity. <em>Three:</em> The secret to high performance isn't rewards and punishments, but that unseen intrinsic drive. The drive to do things for their own sake. The drive to do things because they matter.”</p> </blockquote> <p>In summary Daniel points to three key ideas for managing people in the 21st century:</p> <ul> <li><strong>Autonomy</strong> <br />The urge to direct our work and have some say in what we do. </li> <li><strong>Mastery</strong> <br />The desire to get better and better at something, to make progress and overcome challenges. </li> <li><strong>Purpose</strong> <br />The yearning we have to work in the service of something greater than ourselves. </li> </ul> <p>There was some interesting research reported in the <a href="http://hbr.org/2010/01/the-hbr-list-breakthrough-ideas-for-2010/ar/1">Jan-Feb 2010 Harvard Business Review</a> that supports the power of mastery in motivating employees:</p> <blockquote> <p>“On days when workers have the sense they’re making headway in their jobs, or when they receive support that helps them overcome obstacles, <em>their emotions are most positive and their drive to succeed is at its peak</em>. On days when they feel they are spinning their wheels or encountering roadblocks to meaningful accomplishment, <em>their moods and motivation are lowest</em>.”</p> </blockquote> <p>Deloitte’s <a href="http://www.johnseelybrown.com/shiftindex.pdf">2009 Shift Index</a> had similar findings about autonomy and mastery:</p> <blockquote> <p>“24 percent responded that flexibility, freedom, and autonomy were the reasons they “loved their job.” Similarly, 23 percent of the respondents cited challenges and opportunities for problem solving and creativity as the reasons they loved their job.”</p> </blockquote> <p>These keys can all be found within the TPS, and are the foundation of any great 21st century business. If they can work for assembly line workers in one of the world’s largest car manufacturers, then surely they can work in our office environments?</p> <p>More to the point, if we don’t offer work environments that have these keys, then we can expect to see more of our best and brightest leaving to go freelance, or joining that new startup, or even finding a big company that gets this idea.</p> <h4>Getting a Leg Up from Enterprise 2.0</h4> <p>I’m a Technical Director, so of course at some point I want to see just how technology can help us, and in this area as so many others there are some interesting possibilities thanks to Enterprise 2.0.</p> <p><img style="display: block; float: none; margin-left: auto; margin-right: auto" title="Original photo from istockphoto.com" alt="Original photo from istockphoto.com" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkRUAMn-EyA92X_mbDork1s-efLLEFJPTHJjry_cKuK0AXrTlPPoqed-vCiA2IbxZiQej5k1RL_zaI64VnXYgLPCxhegyU0xZZlxeP42GTElzrE3iDXeQZbHFWooRVb6JLSrkyOA/?imgmax=800" width="380" height="258" /></p> <h5>Learning</h5> <p></p> <p>Modern creative work places a huge demand on people to be constantly learning, diversifying their experience and increasing their speed of uptake of new ideas and skills. More then ever before success demands that people self-educate themselves, and with information overload and the skyrocketing complexity of our global business environment (where your competitors may just as easily be half a world away as down the road) that is harder than ever.</p> <p>Enterprise 2.0 offers lots of help in the area of learning and knowledge transfer.</p> <ul> <li><strong>Wikis <br /></strong>These are great for helping people record their knowledge, and then allowing that knowledge to be reviewed, improved, updated and generally kept alive. </li> <li><strong>Blogs <br /></strong>Fantastic for putting ideas out there and getting feedback on them. They can provide employees with acceptable avenues for bridging great gaps in relative seniority (e.g. letting a new hire question the corporate vision statement) as they can allow people other than the original author to respond and correct mistaken ideas. The ability to browse posts by chronology and/or tags means that content is more usefully categorised than it would be in an email inbox. </li> <li><strong>Social Bookmarking <br /></strong>Whilst bookmarks can be overrated, if properly categorised and rated, they allow people to make new information available to their colleagues and can act as scent as to who is most interested or interesting. </li> <li><strong>Enterprise search</strong> <br />Having an effective and useful enterprise search tool is a must-have Enterprise 2.0 tool. Most Enterprise 2.0 content is unstructured and a good search tool is essential to ensuring that people find the right content when they need it. </li> </ul> <h5>Networking</h5> <p>There is a need for us to connect with ever greater numbers of people, and being increasingly time-poor to find the <em>right</em> people to connect with. Research has shown that <a href="https://webapp.comm.virginia.edu/NetworkRoundtable/Portals/0/High_Performer_Networks_and_Traps_Roundtable_Final.pdf">high performing individuals maintain better networks than others</a>, and in particular that their networks are more diverse/disconnected. This allows them to “see the big picture better, generate innovative solutions by integrating the expertise of those with unique backgrounds, position their efforts well, bypass bureaucratic gridlock and obtain necessary resources and support.”</p> <p>Enterprise 2.0 makes it possible to find the right people in your network by reviewing their ideas and following the commentary and discussion about those ideas. It also helps people develop connections beyond their immediate team or management hierarchy.</p> <ul> <li><strong>Corporate directory <br /></strong>Having an active and useful corporate directory, one that tracks projects worked on, positions held and teams an individual has belonged to can help identify key people. </li> <li><strong>Employee pages <br /></strong>Giving employees their own page to talk about themselves can be risky, but for those passionate creatives it can offer a way to get their ideas out there, attracting others that have similar interests and passions. </li> <li><strong>Blogs <br /></strong>The commentary and discussion facilitated by blogs, along with their attachment to individuals (and hopefully the corporate directory), makes them an ideal place to connect with others and find out who else you should connect to. </li> <li><strong>Yammer <br /></strong>Internal tweeting tools like Yammer offer interesting possibilities as people can follow who they like within the organisation and find out who is following them. </li> </ul> <h5>Managing Autonomy</h5> <p>One of the main reasons people fear worker autonomy is that they will lose oversight of what is going on. Obviously implementing transparency properly means this is not an issue, but there are problems with managing transparency when collaboration is limited to email inboxes and offline meetings.</p> <p>Enterprise 2.0 offers ways for collaborative work to be both done at a distance (of either time or place), and to be recorded in ways that allow for relatively easy monitoring by managers who want to help ensure that responsibility is taken seriously and known problems are not repeated.</p> <ul> <li><strong>Wikis <br /></strong>Tracking progress on a wiki gives managers insight into what is happening and an avenue for querying ideas and outcomes. </li> <li><strong>Online document collaboration <br /></strong>Collaborating on a document online makes the draft version available to people beyond the immediate team, often in a read-only version. </li> <li><strong>Basecamp <br /></strong>online project management tools like Basecamp are highly regarded for their ease of use, simplicity and ability to facilitate complex project discussions and task workflow. </li> <li><strong>Google Wave <br /></strong>Still in Beta, and with real performance and usability problems still, Google Wave offers interesting possibilities with low-overhead asynchronous conversations organically evolving into rich document collaboration opportunities and even real-time conversation. </li> </ul> <h5>Making Progress</h5> <p>We have seen that a key motivator is the sense of making progress, achieving real results and conquering challenges. One way our current systems can rob us of this is by interrupting our state of flow and causing us to drop out to check something that turns out to be unnecessary – it is estimated that a 1 minute interruption kills 15 minutes of productive time. Two deadly forms of this are unimportant emails and face to face social desk visits.</p> <p>Enterprise 2.0 tools can help reduce the amount of email flow by moving items to more useful forms of communication that rely on a pull method of distribution (where users choose to use it), rather than the invasive push method employed by email.</p> <ul> <li><strong>RSS feeds <br /></strong>By eliminating the push nature of methods like email, RSS feeds give a generic method for tools like blogs and wikis to make their data available for the user when they want it. </li> <li><strong>Yammer <br /></strong>By bringing micro-blogging to the enterprise tools like Yammer remove the instant interruption hassle of instant messaging (IM) and provide an outlet for broadcasts of ideas that may be useful, but don’t need to be considered immediately. </li> </ul> <p>Enterprise 2.0 tools can help move social interaction away from invasive face to face time in the office to more asynchronous means, or at least ones that include less wasteful interruption time.</p> <ul> <li><strong>Yammer <br /></strong>Social engagement via micro-blogs like Yammer is ideal because it is asynchronous, based on the push/broadcast mode of communication and carries an implicit understanding that it is not important content. </li> <li><strong>Intranets/Wikis <br /></strong>Placing social event information online, and providing interactive photo galleries can help reduce the amount of social interaction that must occur face to face. </li> </ul> <h4>In Summary</h4> <p>Deciding to manage work empirically, through transparency, inspection and adaptation can help give your employees the sense of autonomy, mastery and purpose that is necessary to untap their passionate creativity.</p> <p>There are key ideas I have not covered here, such as the willingness to accept failure as learning experiences, the need to align authority with responsibility, and responsibility with ability that must be addressed for this to work well.</p> <p>However untapping passion is not only possible, but well within our reach. It fundamentally depends on the willingness of senior management to set the direction, free their people and unleash their own passion.</p> <p>Finally, Enterprise 2.0 offers some interesting tools to help manage and enable this change in our organisations. But as ever, technology plays an enabling and supporting role rather than being the driver of true change.</p> <h4>Thanks</h4> <p>There is a lot packed into this particular post, but a few people were key in helping me understand these issues.</p> <p><em>Jason Yip</em>, from ThoughtWorks Australia, whose passion for Lean got me interested in looking at Agile software development and whose ideas and <a href="http://jchyip.blogspot.com/">blog</a> have helped me work out my own thinking.</p> <p><em>Lachlan Heasman</em>, also from ThoughtWorks Australia, who runs the <a href="http://www.meetup.com/The-Sydney-Scrum-Meetup-Group/">Sydney Scrum Meetup</a>, and is a good friend and great Scrum trainer.</p> <p><em>Craig Bailey</em>, who in a year as my boss ignited hope in me for great managers once again, and who has gone on to embody following your passionate creativity <a href="http://www.craigbailey.net/">wherever it may lead</a>.</p> <p><em>Chris Scoggins</em>, my first <a href="http://uk.linkedin.com/pub/chris-scoggins/1/79a/b67">great manager</a> and a great example to me of how to mentor and build leadership into your staff.</p> <p><em>Daniel Pink</em> for bringing the <a href="http://www.danpink.com">hidden truths about motivation</a> into plain view, and pointing out the Emperor’s New Clothes of management.</p> <p><em>My Dad</em>, for always making me question what is true, and helping me understand my own passionate creativity.</p> Falkaynhttp://www.blogger.com/profile/13474476407114622880noreply@blogger.com1tag:blogger.com,1999:blog-5201404.post-7875108007791153212010-03-09T00:09:00.001+11:002010-03-09T00:09:46.096+11:00Goals, Behaviours, ROI and Testing Ideas<p>You're developing a great web application, training course or social software strategy. You cost it and it looks like a substantial piece of work, so you need to get executive approval. Putting together a list of the benefits you find to your dismay that the list is full of terms like "easier", "more efficient", "more usable" and "collaborative". You know your executive will ask questions this list doesn't answer, "How will you know you're successful?" and "What's it worth to us?".</p> <p>There are two common (and wrong) approaches to this question:</p> <ol> <li>It's Web 2.0/training/social, it's intangible and can't be measured. </li> <li>It should add to the bottom line, so just measure revenue changes. </li> </ol> <p>The first one incorrectly assumes that intangibles can't be assessed, but market analysts know that they certainly <em>can</em>, and indeed regularly <em>are</em>, just ask what Google's stock valuation is based on.</p> <p>The second one jumps to the über-goal and ignores the fact that as everything the organisation does can potentially affect revenue, it will be nigh impossible to really know whether any change in the bottom-line is the result of this particular web application, training or social software strategy (you can easily have a great success in one area cancelled out by a horrible mess in another).</p> <p>Fortunately this problem is well known. Unfortunately the answer is hard. That is, hard as in deciding what you want for your birthday, not hard as in needing a PhD in Applied Rocket Science.</p> <h4>Find your desired user behaviours</h4> <p>The bottom line is that you need to find what change in user/trainee behaviours will support your business goals and then use that to derive metrics that can be measured (and eventually valued).</p> <p>David Maister talked about the importance of identifying desired behaviours in his article <a title="Why (Most) Training is Useless article" href="http://davidmaister.com/articles/1/96/">Why (Most) Training Is Useless</a>.</p> <blockquote> <p>There is no point putting on skills training if there is no incentive for the behavior; the people don’t believe in it and they don’t yet know exactly what it is they are supposed to be good at! ...</p> <p>What behaviors by top management need to change to convince people that the new behaviors are really required, not just encouraged? If the behavior is going to be optional, then so should the training be.</p> </blockquote> <p>In other words, if we don't know what behaviours we want training to encourage, or if we don't actually support the display of those behaviours (e.g. through measurement and feedback) then we can't expect our training to actually help our business goals.</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVu0n__dRHbS4GSphFZsc-13VOXniu19m4IZaaFqslrer9smMpTL1U-syFtcmCf3rp2aK6A5x1jzp8tThVsZx_r-CPcuJBS2Jjjw3CxxUhha4AZtuA2WAHZ5CftrJylmAiP3pVhQ/s1600-h/909064_599068454.jpg"><img alt="909064_59906845" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbJ9ge1dJ5VnR0HX1surSYY73wIOVuXlYI3nV_idJ1CzayGaa_gTV68xjc_S7ILzbUMXbdTabxQ_Aky30HTa4az9_p29KoSvLcq42yWb-efIYPvAFynYWLkMrj9HOBqUnQsEcCQg/?imgmax=800" width="500" height="394" /></a> </p> <p>In exactly the same way software applications (not just web or social ones!) are often built without thinking what change in user behaviours is really desired or how the change in user behaviours will be measured - thus guaranteeing that even if success is achieved there is no way of valuing it.</p> <h4>ROI for difficult stuff</h4> <p><a href="http://www.adaptivepath.com">Adaptive Path</a> introduced a way of valuing user experience by reflecting on the change in behaviours we desire to solve our business problem. They gave us the graphic below as a way of envisaging how business problems map to user behaviours and how they in turn can be mapped to valuable financial metrics.</p> <p align="right"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguqmqUZj1k1zGodX4MD57iC-EEPkoGnI6dyVXHyuSocxbcoGDShvmksc8Q9H4j29DuD6AbWQAJKs4icUnR1wFcwMcVNSd7zQ9VDOxP1kTaFpGr5GdpFwORcwK64l67XuExsAb8-g/s1600-h/AdaptivePathValueChain12.png"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="AdaptivePath-ValueChain" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1EPUh01uFu03QIJkCaEXU1UhW7nycSapIyuIMuYXxGjofQ2tkJRdyoPKCWcERyJdhVD4s_yIFpzwPYRkDLqAV-Qd8BIQXj68vcoZfCcAp1hLOXLwEgo8S0Tp14zp0TQ8YlSbLaA/?imgmax=800" width="520" height="107" /></a> <em>Source: <a title="Source: Adaptive Path" href="http://www.adaptivepath.com">Adaptive Path</a></em></p> <p style="margin-top: -10px" align="right"><em>via <a title="Marina Chiovetti's ThoughtWorks' profile" href="http://www.thoughtworks.com/who-we-are/our-people/profiles/Chiovetti,+Marina.html">Marina Chiovetti</a> at ThoughtWorks</em></p> <ul> <li>Business Problem = a specific problem you want to affect </li> <li>User Behaviour = a change in user behaviour that would introduce the effect desired </li> <li>Behaviour Metric = a way you can measure the change in user behaviour </li> <li>Value Metric = the dollar value we can apply to the behaviour metric </li> <li>Financial Metric = the expected amount of user behaviour change to come from the project, multiplied by the value metric and compared to the expected cost of the project </li> </ul> <p>A specific example might help make this clearer. Imagine you want to increase leads and you decide to do this by improving your website's ability to elicit customer responses via the contact us form:</p> <p align="right"><a href="http://lh6.ggpht.com/_1GrPn-zPqXU/S5T3ENGB0iI/AAAAAAAAA9k/89tRL_jmFhs/s1600-h/AdaptivePathValueChain27.png"><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="AdaptivePath-ValueChain2" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoled2NmT6N2yc8Pu00FkbwKTziZPATH1afzD36ZzvJ0uqXOFMJSQudXiwITj0eLid953CZ4XlaUa6PFAwb-8XpfVOt91idWclEtGpI4sjKfo2RLAUyrjWJ69moai04dbfs-yEqw/?imgmax=800" width="520" height="173" /></a> <em>Source: <a title="Source: Adaptive Path" href="http://www.adaptivepath.com">Adaptive Path</a></em></p> <p>If we add some case studies to the website, and then place the contact us form at the bottom of each one as a call to action then we might expect some increase (assuming this was a new initiative for our website).</p> <p>The behaviour metric for this is the number of leads received from the website contact form per month. Our sales team has estimated that 1 in 10 leads becomes a sale, worth on average $1,000 to us (whether revenue or profit depends on what you are most interested in - the smart money is on profit though).</p> <p>Based on our website's traffic patterns we expect to increase our leads from 7 per month to 20 per month by implementing this measure. If we are happy to get a breakeven return on investment (ROI) over the next 3 months then we could invest $1,000 * (20 - 7) * 3 = $39,000 in the project.</p> <blockquote> <p>Before someone tries to tell me I don't know how to value project returns, I know that you could use Net Present Value (NPV), Internal Rate of Return (IRR) or other methods to ensure this is comparing apples with apples across projects, time and investment opportunities - but that's not the point of this post.</p> </blockquote> <p>Now we might well spend a fraction of that on case studies and a contact form, but if we wanted we could now justify getting a professional copywriter to help shape up our case studies and spend a bit on usability testing to ensure our contact forms get out of the way and give us the leads as easily as possible.</p> <p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiILCS0u9XQYT91WFDVEP5z388i24XcYPf9lqqu-_LnYBqgAXZfhay8YWhsItGz_qeYU3Os7jQPR3GJ9oGijUUdlAuV1Jb2uHr_xsRNSUt7bGSZWsVc-s4hv1Dl4ACnzP4I6f8qFQ/s1600-h/808213_495638064.jpg"><img alt="808213_49563806" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAkBY_aohVGE2Q8339xG5Y2X7Kc9pX3mk6NrFJgJTJRcUIxBVaPHNwIv0LHVAIebWg9V2rXFrzwHA7XGQ3V6FLbu8gDMU5DrxE1Rt7_TjHsKR156eWdnVttQcLZwkKfpzhTg5jVA/?imgmax=800" width="500" height="333" /></a> </p> <p>Okay, okay, this is a fairly simple example, with straightforward metrics. After all, we might well not know how much a lead is worth, and often we're asked to solve business problems far more complex than this one.</p> <h4>What if I’ve got no history (i.e. I’m a startup)?</h4> <p>We have used this process with startups to help them prioritise wildly diverse feature lists when they do not have the budget to afford to build it all in their launch timeframe.</p> <blockquote> <p>(<strong>Aside:</strong> There is a lesson here about launching a simple, compelling product and then iteratively adding value to it based on user feedback, the problem is that in many startup ideas there is usually no simple, compelling offering. It's the fault of funding requirements, but more about that in another post.)</p> </blockquote> <p>Startups do not have financial history to fall back on, and even with good financial modelling they might only have a guess to give you for their value metric. In this case we take the prioritisation this gives us and keep the rest of the information for analysis of the success of the startup down the track and (as importantly) for helping us identify which changes we should look at implementing later.</p> <h4>What if you don’t know what to change?</h4> <p>The methodology is still useful even when you have a complex situation with incomplete information. If nothing else it focuses your attention where it belongs, on the problem you are solving and the user/trainee behaviours that you think will help solve it rather than on the application technology or the subject matter of your training courses.</p> <p>Of course you often don’t know what to do to create a particular desired behaviour. In this case a bit of prototyping and A/B testing can go a long way. <a href="http://www.google.com/websiteoptimizer">Google Website Optimizer</a> does a great job of helping you do this with content or separate functional pages, but it does require two separate pages exist, and sometimes you just want to tweak the way a particular feature works (e.g. adding a couple of extra fields to a form).</p> <p>Assaf Arkin has created a plugin for Rails called <a href="http://vanity.labnotes.org/">Vanity</a> that supports A/B testing in a rather unique way, by creating an easy way for developers to embed the tests into their code and then run them for a set number of iterations and/or exceed a set probability for one option over the other.</p> <p>By using a simple API, and elegant admin functionality, Vanity provides a very viable way of testing one idea against another. While the time to make such a change is greater than not doing the A/B test – the marginal extra cost is small enough that you do it in order to find out which option really works better.</p> <p>Assaf has a great post explaining how this is really <a href="http://labnotes.org/2009/11/19/vanity-experiment-driven-development-for-rails/">Experimental Driven Development</a> in action. He explains the cost/benefit tradeoff this way in the comments section:</p> <blockquote> <p>“You start with an idea for a change that will improve your software. Your baseline cost of development is having both alternatives — before and after the change. Without EDD these alternatives will be separate in time, with EDD you’re going to have some overlap (the duration of the experiment).</p> <p>For the experiment, you only need a skeletal implementation, you’re not committed to fully developing the feature until after it proves itself. For small changes it makes little difference, the cost is the same.</p> <p>For complex changes, you can save a lot by not fully developing features that don’t matter. You’re going to know whether a feature matters or not quickly enough, and with data to back up, that you can make the decision to *not* develop it further.</p> <p>You can also kill unused features early. So these are two ways to reduce development costs using EDD.”</p> </blockquote> <h4>Summary</h4> <p>Get behind whatever you are doing and try to understand the underlying business goals, the user behaviours that would support those and derive the ROI from that. If you are not sure what would best support the change in user behaviours, then try A/B testing to establish which way you should jump. Whatever you do, don’t allow yourself to be sucked into doing something just because your competitors did, or to be “simpler”, or more “usable” in some undefined, unaccountable, way.</p> Falkaynhttp://www.blogger.com/profile/13474476407114622880noreply@blogger.com0tag:blogger.com,1999:blog-5201404.post-42564888845399622762010-03-04T11:45:00.001+11:002010-03-04T11:45:23.770+11:00Sydney Scrum Meetup (March)<p><a href="http://jeffsutherland.com/">Jeff Sutherland</a> and <a href="http://www.scrumalliance.org/profiles/60-jens-stergaard">Jens Østergaard</a> visited the <a href="http://www.meetup.com/The-Sydney-Scrum-Meetup-Group/">Sydney Scrum Meetup</a> last Thursday. We had some great pizza and then they got everyone doing the Nokia test!</p> <p><strong>My Test Results</strong></p> <p>Iteration length, 2 weeks – 10</p> <p>Testing, customer acceptance testing – 8</p> <p>Agile specifications, poor user stories – 4 (good enabling specifications might be 3-5 pages long – before sprint planning)</p> <blockquote> <p>(for venture companies Jeff finds that 2 sprints planned is necessary)</p> </blockquote> <p>Product owner, product owner with backlog – 5 (or 2 with last project!)</p> <p>Product backlog, single product backlog - 3</p> <p>Estimates, backlog estimated by BA – 0</p> <blockquote> <p>(Jeff said that usually as teams get better their stories get smaller and eventually are about the size of tasks, and then estimating changes to use points vs hours – surprising what can be untangled and done separately)</p> </blockquote> <p>Sprint burndown chart, no chart, but team knows velocity – 0 + 3 + 2</p> <blockquote> <p>(Jeff mentioned that partial completion of tasks creates a high-risk environment)</p> </blockquote> <p>Team disruption, project leaders telling people what to do – 3</p> <blockquote> <p>(self-organise to maximise velocity)</p> </blockquote> <p>Team, no emergent leadership - 1</p> <p><strong>Total = 4.33</strong></p> <p>Most of the room were between 2 and 5, and apparently, most of OpenView’s venture companies start out around 4, but when they work on it they end up around 6. It looks like <a href="http://www.tidc.nsw.gov.au/">TIDC</a> might have a great Scrum team as someone from there scored 8 for their team! (they were the only one higher than 5)</p> <p>If your reference stories change then so do the story points. But Jeff said it is really the delta in velocity that is interesting. One of the symptoms of hyper-productive teams is that you get asked to slow down!</p> <ul> <li>Sustainable pace </li> <li>Quality </li> <li>Velocity </li> <li>“Balanced Scorecard” (not right term, but Jeff couldn’t remember what it was) </li> </ul> <p>Jens recommends the <a href="http://www.xp.be/xpgame.html">XP game</a> for teams to learn about velocity.</p> <p>How long does it take to fix a bug from CI/automated testing. If longer than 2 hours then create an impediment list and get the Scrum master to remove them. Simple metric, track the day you start a story and the day you finish a story and then compare to your standard process efficiency (usually around 20% – measures the quality of your backlog) {calc elapsed days versus theoretical ideal days based on velocity}. Raising the efficiency meant getting the backlog well enough detailed that you spend less time waiting to do a particular item. Measuring the time to <strong>Done</strong>.</p> <p>Speed of testing is usually the bottleneck, and is more important than the speed of coding. So interrupt devs immediately with a bug, rather than leaving them to finish what they’re doing. The availability of testable code is another way of thinking of it.</p> <p>Just evaluate the code in production is one way of incentivising people.</p> <p>I asked about how to handle client projects using Scrum, Jeff mentioned that <a href="http://www.systematic.com">Systematic</a> is doing big fixed price contracts using Scrum. They provide 2 bids on every project, with the Scrum bid at around half the price.</p> <p>In response to someone’s question about Scrum, Jeff mentioned he’d written about the answer in an article titled <a href="http://jeffsutherland.com/SutherlandFutureOfScrumAgile2005.pdf">Future of Scrum</a> from the Agile 2005 conference.</p> <p><strong>Metrics to Live By</strong></p> <p>Jeff got me hooked on metrics as it is obvious when talking to him that empirical process control <em>requires</em> metrics to be successful. Some of these metrics assume that you use story points for estimating, which we have done with some success on one project. To do this well you need a range of reference stories of various sizes and rough sizing (e.g. Fibonacci numbers) that the team can agree on the size of.</p> <p>Here are some of the metrics Jeff mentioned:</p> <p>Backlog Velocity = story points/sprint</p> <p>Sprint Velocity = story points ‘done’/day</p> <p>Efficiency = story’s ideal days/actual elapsed days from ‘start’ to ‘done’ <br />(if an item should have taken 2 ideal days, but it actually took 10 days from the ‘start’ to the ‘done’ date, then you have 20% efficiency)</p> <p>Churn = % of ‘done’ items that testers send back to developers for fixing <br />(if all items churns once then you have 100% churn, if half of those churn again then you have 150% churn! Ignore size of item when calculating)</p> <p>Jeff has an upcoming conference session on this very topic and he discusses it further in his <a href="http://jeffsutherland.com/2010/01/excel-spreadsheet-for-hyperproductive.html">Excel Spreadsheet for Hyperproductive Scrum Teams</a> post. The spreadsheet seems a little hard to get into, but I’ve given it to our Solutions team to review.</p> Falkaynhttp://www.blogger.com/profile/13474476407114622880noreply@blogger.com0tag:blogger.com,1999:blog-5201404.post-77926046167630509992010-01-29T10:06:00.001+11:002010-01-29T10:06:33.604+11:00Do I Need User Stories?<p>How do you create a worthwhile specification of the requirements for a system?</p> <p>As an Agile Scrum practitioner I’m supposed to answer this by pointing to user stories, but as others have found before me, these are a slippery beastie to define. Cat Schwamm <a href="http://catschwamm.com/2009/08/09/constructing-effective-user-stories-or-my-user-stories-bring-all-the-boys-to-the-yard/">takes a stab at a definition</a>, but finds Scott Bellware telling her she is following Scrum too blindly and should go change what she’s doing.</p> <p>Scott’s point of view is interesting, but like a lot of his comments he is coming at the problem from the frame of his lean methodology, which is not fully explained and therefore extremely hard to argue with/understand. This is not Scott’s fault, he is after all busy consulting not writing Agile methodologies, but it does make his commentary a tad alarming when one first reads it.</p> <p>The classic format of a user story is:</p> <blockquote> <p><em>As a [user] I need/want [feature] so that [benefit].</em></p> </blockquote> <p>Or as Cat puts it:</p> <blockquote> <p><em>As a [role] I need [feature] so that [business value].</em></p> </blockquote> <p>Cat points out that this is fairly barebones, and leaves lots of scope for you to choose the wrong level of granularity for your user story. She points out that her team also follows the INVEST acronym and use the concept of minimum marketable feature (MMF) as defined by <a href="http://jamesshore.com/Blog">James Shore</a>.</p> <blockquote> <p>INVEST = Independent, Negotiable, Valuable, Estimable, Small, Testable</p> <p>MMF = “Smallest possible set of functionality that, by itself, has value in the marketplace”</p> </blockquote> <p>This is obviously working for her team, but I suspect they benefit from having a single Business Analyst who works everything through for them and ensures some consistency across user stories. This is actually very Agile, as the <a href="http://agilemanifesto.org/">manifesto points out</a> we value “individuals and interactions over processes and tools”. However, we still need some processes/tools for those individuals.</p> <p>Scott Bellware’s suggestion was to change the format to:</p> <blockquote> <p><em>As a [role] I want to [goal] so that [motivation].</em></p> </blockquote> <p>He wants us to avoid mentioning the software altogether and have the user story simply capture what the users actually do (or will do once they have a system to help them). He then divorces the user story from work items altogether, and simply relegates them to the role of being information about the goals of the system. This may work for him, but it then begs the question of how he defines what the work item is all about, which is where we started talking about the need for user stories …</p> <p>I have been reading a great book called <a href="http://www.designingforinteraction.com/">Designing for Interaction</a> by Dan Saffer that gave me another viewpoint on this issue. One of the things I learnt from this book was that user-centred design (UCD) is not the best way to design interactions, it is simply one of the possible ways you could design them and its relevance depends upon the goals of the thing you are designing.</p> <p>Dan Saffer lists 4 different approaches to interaction design:</p> <ol> <li><a href="http://en.wikipedia.org/wiki/User-centered_design">User-Centred Design</a> </li> <li>Activity-Centred Design (aka <a href="http://en.wikipedia.org/wiki/Use-centered_design">Use-Centred Design</a> ???) </li> <li>Systems Design (aka Service Design???) </li> <li>Genius Design (aka Rapid Expert Design???) </li> </ol> <p>Cat’s user stories actually sounded like activity-centred design, and Scott sounds like he is more interested in user-centred design. Quite possibly they are both right in the contexts they are working in. Neither one may be better than the other (Scott at this point would probably call BS on me, he has previously talked about the need for <a href="http://blog.scottbellware.com/2009/05/flow-leveling-and-problem-with-user.html">user stories to communicate expectation</a>).</p> <p>Coming back to my <em>own</em> issues with user stories, I need to ask what sort of design approach am I taking, otherwise I will find my user stories being all over the place. Is the user story meant to encapsulate the MMF in a single story, or is it supposed to be used to specify all ways of looking at the functionality.</p> <p>As an example, when looking at the search function for administrators of an organisation I have specified:</p> <ul> <li>As an admin I want to be able to search for a member by their Member Id so that I can find a specific member quickly. </li> <li>As an admin I want to be able to search for one or more members by their Member Type so that I can target an action against all members of a specific type. </li> <li>As an admin I want to be able to search for one or more members by a wildcard search of first and last names so that I can find a member just by knowing their name. </li> <li>As an admin I want to be able to search for one or more members by region or industry so that I can find members from specific industries or regions. </li> <li>As an admin I want to be able to search for one or more members by a wildcard search of job title so that I can find members with specific job titles. </li> <li>As an admin I want to be able to search for one or more members by member status for my organisation so that I can target an action against all members of a specific member status. </li> <li>As an admin I want to be able to search for one or more members by activation status so that I can target an action against all members of a specific activation status. </li> <li>As an admin I want to be able to conduct a search against multiple facets of a member at once (e.g. by member status, industry, member type and job title) so that I can get very specific search results. </li> <li>As the system I want to give admins a common page which allows them to search for members for all sorts of reasons and then target actions against the members found. </li> <li>As the system I want to ensure that admins can only ever see their organisation’s own members in search results. </li> </ul> <p>You can see the format slipping towards the end of that list, with the “so that [benefit]” element disappearing. There is also no regard to the INVEST principles, particularly the independent one. If I adopted another (MMF?) approach I might reduce all of that to:</p> <ul> <li>As an admin I need to be able to find the members I’m interested in from my organisation so that I can work with those members’ details. </li> </ul> <p>Scott’s format might leave me with:</p> <ul> <li>As an admin I want to work with my members so that I can help them use our organisation’s online tools. </li> </ul> <p>I think this demonstrates that there is a lot of variance possible within this simple definition of user story. In the past I think I have <em>over-specified</em> functionality with user stories, leaving my developers with a weird tension between overly specific (and hence out of date) user stories and little or no supporting documentation around other design issues.</p> <p>This actually speaks to the N in INVEST, as Cat explains it:</p> <blockquote> <p><em>“Negotiable: User stories are not a contract; they are reminders for the team to discuss and collaborate to clarify the details near time of development</em></p> <p>What a user story really is is a placeholder for a conversation.  We’ve gotten away from writing strict, rigid use cases and into these user stories, which are much better for the way the business world really works.  By writing a user story this way, I am opening up a higher bandwidth conversation.  Instead of a developer just reading what I have and doing it word for word, now we can talk about things and make sure everyone is on the same page and fully understands the business value and the needs of the user.  I like that Kelly specified “near time of development” though; that’s one thing you’ll always find: CHANGE IS A CONSTANT.  Friggin annoying, but it is inevitable.  The closer to development time you talk about something the more likely it is that you’ll have the best information and the most clarity on the item.”</p> </blockquote> <p>I especially like the idea of a user story as a placeholder for a conversation. Of course this depends on your developers actually being willing to talk to anyone about the requirements (sometimes they still seem to think that it is faster to code away on assumptions and correct later than to have a 30 min conversation up front and ensure you know what you are doing!).</p> <p>Scott Reynolds works with Cat, and he points out that <a href="http://scottcreynolds.com/archive/2009/11/13/616.aspx">not everything can be captured in user stories</a>:</p> <blockquote> <p>“Here’s the thing, stories and tasks are only part of the equation. Stories alone aren’t enough to define a system, and trying to define everything in text is a fool’s task. (I’ve been that fool). You need a full arsenal of specification tools to do the best job possible.”</p> </blockquote> <p>I think I’ve been the fool Scott mentioned myself (once or twice). Scott (<a href="http://catschwamm.com/2009/11/13/using-the-right-medium/">and Cat</a>) mentions 3 other tools that they use as well as user stories:</p> <ol> <li><strong>Mockups</strong> <br />Basically a low-fidelity prototype. They are great for eliciting feedback about visual design and interaction issues without leaving anyone feeling like these ideas are final. They are poor for actually designing off of as they frequently ignore or skimp on the design of areas that were not pertinent to the original design issues being explored in them. </li> <li><strong>High Fidelity Design</strong> <br />High-fidelity screenshots showing exactly how the screen should look. These are great when you need signoff on something from outside the development team as they show <em>everything</em> that needs to be taken into account. They are poor when the design needs to change and you don’t have time to re-do those rich initial screenshots for the change request. Actually they are poor for Agile, full-stop, as they reek of BUFD. </li> <li><strong>Conversation and Whiteboarding</strong> <br />This is the higher bandwidth conversation that Cat referred to. This is a chance to meet, collaboratively engage each other and work out what the business need for this feature is. The caveat is that it is only as good as the conversation and whiteboarding ability of your developers, and it requires that the customer be available immediately when the developers need them (this is <a href="http://falkayn.blogspot.com/2009/11/when-agile-doesnt-work.html">why Agile doesn’t work</a> for many projects). </li> </ol> <p>There are other good ideas for artifacts to capture interaction design ideas, such as:</p> <ul> <li><strong>Acceptance Tests</strong> <br />Here I mean a light version of the full test scripts that are possible. Ones that match user stories come in the form: <br /><em>Given that [context], when [event/action], then [expected outcome].</em> <br />Like user stories they have the same problems with being at the right scale. </li> <li><strong>Key Scenarios</strong> <br />Penny Hagen <a href="http://johnnyholland.org/2009/11/10/a-ux-strategy-through-stories-scenarios-and-sketches/">describes these</a> as combinations of user stories that help define the strategic direction of the website. Whilst she uses them as a tool to help define design strategy early on, they have a useful purpose in helping developers understand the context of the user stories they are working on. </li> <li><strong>User Pathways</strong> <br />Again Penny Hagen <a href="http://johnnyholland.org/2009/11/10/a-ux-strategy-through-stories-scenarios-and-sketches/">describes these</a> as a detailed view of the pathway a user needs to follow for a key scenario. They don’t explicitly restrict themselves to pages, or data, but they do help identify the user’s view of what is happening when they interact with the system – and give insight into the user’s experience over time. </li> </ul> <p>Personally I’ve used mockups, high fidelity design, conversation/whiteboarding and acceptance tests to varying levels of success. One of the problems you face in Agile development is that the more artifacts you ask for, the longer it takes to go from designing to building – and the greater the chance that your artifacts are out of date and, frankly, <em>wrong</em>.</p> <p>I’m still not sure about how to set my user stories, I sure appreciate the discipline they grant even quick feature specifications, but I’m loathe now to simply bang them out when the reality is that I might need to use either less, or more, detail for a given feature. I’m going to keep experimenting because that’s what Agile is all about. In the meantime let me know if you find something better to use!</p> Falkaynhttp://www.blogger.com/profile/13474476407114622880noreply@blogger.com2tag:blogger.com,1999:blog-5201404.post-363073482144646892009-11-19T13:44:00.001+11:002009-11-19T13:44:26.629+11:00When Agile Doesn’t Work<p><a href="http://www.elcom.com.au"></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAxSUuSXrWNsDF_mfkhkfy0zZ3ERq91lYKQxssRkgb7LdlEb4_h_GrdkQQe7bl8pxB2nEMoQGzTHJ6YtYXbSewpNJevdBXDFyPgKPw7M-zqL9Ni1C0UKt1k3b3Csu4U-jDkoblUg/s1600-h/image10.png"><img style="margin: 0px 0px 0px 5px; display: inline" title="image" alt="image" align="right" src="http://lh4.ggpht.com/_1GrPn-zPqXU/SwSxAJGXfvI/AAAAAAAAA8Y/LHQKPXGZk_8/image_thumb2.png?imgmax=800" width="240" height="240" /></a></a>I am a huge fan of <a href="http://agilemanifesto.org/">Agile software development</a> and since <a href="http://falkayn.blogspot.com/2008/11/my-new-role-at-elcom-technology.html">becoming</a> <a href="http://www.elcom.com.au">Elcom’s</a> Technical Director I have made it my business to push us to become more Agile at every step. But a few months ago I realised I was pushing a square block into a round hole.</p> <p>It started with a realisation that most proponents of Agile software development had a common single clause that modified their promises of great results.</p> <p><em>Customers must get involved for Agile to work.</em></p> <p>In Scrum it’s the <a href="http://www.mountaingoatsoftware.com/product-owner">Product Owner</a>, and it must be the single wringable neck – the person accountable to the business for the project’s delivery of real value. It is the person who not only understands, but can make decisions about functionality, business needs and the user interface.</p> <p>Oops.</p> <p>While this sounds great, and you would think that people paying you tens (if not hundreds) of thousands of dollars would want to get involved, we had found all too often that big promises of ongoing involvement disappeared as soon as the project kicked off. Clients wanted to tell us what they wanted, approve our quote, pay us the money, and then pretend we didn’t exist until we had finished their project. Or they had a committee of thousands that wanted to give us their pent up IT requirements, regardless of whether it was in scope or not, and often in conflict with each other.</p> <p>To be fair to our clients, we often are simply implementing our software and the amount of customer involvement is quite low – however that didn’t fit the Agile methodology we wanted to work within.</p> <p>Things became clearer for me when I attended a <a href="http://www.thoughtworks.com.au/what-we-say/events/tech-briefing_au.html">ThoughtWorks Quarterly Technology Briefing</a> in Sydney, and got the chance to hear <a href="http://martinfowler.com/">Martin Fowler</a> speak about how to fail in Agile adoption. During the Q&A I asked him how he suggested we handle customers who were reluctant to get involved.</p> <p>Martin pointed out that there are in general two sorts of projects:</p> <ol> <li><strong>Strategic:</strong> Key to business success, and as such important. </li> <li><strong>Infrastructure:</strong> Necessary to do, but not seen as particularly vital for business success. </li> </ol> <p>Immediately I saw that for many of our clients their projects were internally seen as necessary (new intranet, re-skinned website) but were not particularly risky or impactful on the organisation’s success. I mulled that answer over for a while and wondered what it might mean for our use of Agile.</p> <p><img style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="MaisterProfessionalServicesFirm" border="0" alt="MaisterProfessionalServicesFirm" align="left" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcB_2YxTn2q4trO4EqN31eWcr0ooTLzjIoeCoHPrezq_19sg6QggWCIraNZ8CV8fa4tKkeSgAdSpHINDAHywX9LxPuHl2Lz70B8qbhNakQWpj-MKh1vxgi8cLamkvzKmZfj4awLA/?imgmax=800" width="86" height="124" /> A few weekends later I was re-reading <a href="http://davidmaister.com/">David Maister’s</a> classic book <a href="http://www.amazon.com/exec/obidos/ASIN/0743231562/falkayncom06-20">Managing the Professional Service Firm</a> and came across his definition of the three basic types of professional service delivery. He writes for any type of professional service and uses examples from disciplines as far apart as architecture, accounting, engineering and management consulting to make his point. </p> <h4>Brains/Expertise</h4> <ul> <li>Client problem is at forefront of professional or technical knowledge </li> <li>“Hire us because we’re smart” </li> <li>One-off projects </li> <li>Highly skilled and highly paid professionals </li> </ul> <h4>Grey Hair/Experience</h4> <ul> <li>Clients require highly customised output, more familiar problems </li> <li>“Hire us because we’ve done it before” </li> <li>Specialised knowledge in project area </li> <li>We sell our knowledge, experience and judgement </li> </ul> <h4>Procedure/Efficiency</h4> <ul> <li>Client problems are well-known and familiar, solutions also well-known </li> <li>“Hire us because we can do it for you” </li> <li>Repeat projects, well understood, standard solutions </li> <li>Well trained and supervised junior staff </li> </ul> <p><img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" alt="image" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpblGS9egEhO0wa2CSOUbEfbQFuAc-KMx3lIsk4JIfB1bthiFQ1_tYGKYnVUIx7Nt8GDJuGslFXffSipyhyiblWDGSuWIbcPrOFKxih6DWMhRYExnjCdcRMetMbxCOkgWYu7oNCQ/?imgmax=800" width="432" height="258" /></p> <p>Maister points out that you can see a continuum from Brains to Grey Hair to Procedure for a range of different service features.</p> <p><img style="display: inline" title="image" alt="image" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgft1pFHd0ErUm8c28AtEWKz2LW0Pey2N0cLFQbuDSvQlSPe7MGX0PFpg9l67a5EBeM96MDSJcynjGXZGMwSc98jtx45CIQDiB0xV0PWqmaC6-XPf0hcZbBI11TmRrEg20XdrBK6w/?imgmax=800" width="500" height="379" /></p> <p></p> <p></p> <p></p> <p></p> <p></p> <p>Using this idea, I could see that most of the “infrastructure” projects we had involved procedure or efficiency services. A simple deployment of <a href="http://www.elcom.com.au/Products/Community-Manager/default.aspx">CommunityManager.NET</a> with implementation of a specified basic website design and some custom styling of forms and other modules. Agile simply slowed these projects down and was generally ignored by the team doing most of this work.</p> <p>On the other hand some of our custom development work fell into the realm of grey hair or experience services – enhancing or extending CommunityManager.NET for a client. These usually did not need to be Agile projects, but were being forced into our product sprint cycle, even when they were a day or two of custom work not dependent upon enhancements to our core product.</p> <p>Our product work deserves a mention here. Whilst not for any specific client, this is in fact the work that provides the greatest return on investment for the business. However a need for cash flow meant there was a limit to how much could be done at any given time. We had a settled sprint duration of 6 weeks (5 weeks dev + 1 week regression testing and release preparation), wit 1 week in between sprints, that the team had a good rhythm with. Agile was a great fit for this work.</p> <p>After this analysis there was a small, but important part of our business. Small in terms of number of projects, but important in terms of revenue. This was the projects that involved significant custom development work and had little dependency upon CommunityManager.NET. Sometimes these jobs could have been delivered without our product at all, but using it gave a convenient head start to the project. These projects were strategic to the client, but as a result often had loose, or non-existent requirements because it was acknowledged that the requirements would change during the course of the project. This type of work suits Agile methodologies, but the business needed to recognise that this work shouldn’t be sold the same way our other services were.</p> <p>Clearly Agile suited some parts of our business, but was a poor fit for others. Our sales material made a big deal of our Agile methodology, but it was not always relevant or appropriate for our clients. Worse, working in an Agile manner was causing many projects to have a greater chance of failure, and to delay client solutions.</p> <h4>Agile Wasn’t Working</h4> <p>I now knew why Agile wasn’t a great fit for much of our business, but it still had value in some areas. Maister also made the point that when for a professional service firms to mix Brains, Grey Hair and Procedure work successfully it is necessary to create divisions within the firm to allow each to have a management style and culture that fit their style of work.</p> <p>I really like the way that <a href="http://www.noop.nl">Jurgen Appelo</a> organises his development teams, with a project manager assigned 3-5 other staff as their permanent team, with them needing to complete each of their projects using that team. By pushing resource constraints to the lowest level (that of the project team) they ensure that other projects’ resource variances do not adversely affect them. However I know that Elcom is much smaller than Jurgen’s company, and such a profound shift would create more friction than it would generate in gains.</p> <p>I discussed these ideas with my boss and some of my colleagues, but felt that we quickly needed to make a change as a large custom development project was about to kickoff its second stage.</p> <p>The team structure we are now heading towards is this:</p> <h5>Delivery Team</h5> <p>This is a team made up of web designers, front-end web developers, and .NET analyst/programmers. Their role will be to implement new customers’ versions of CommunityManager.NET as painlessly and efficiently as possible. They will handle custom development work that is tightly integrated to, or built around, CommunityManager.NET. They work in traditional BUFD (big up-front design) projects with well-scoped requirements. Project duration would usually be anything from 1-8 weeks.</p> <h5>Solutions Team</h5> <p>This is a team made up of user experience (UX) consultants, designers, and web developers. It is the renaissance team that is responsible for finding new ways to deliver innovative solutions for strategic client problems using design thinking and Agile software development methodologies. They work in a more flexible manner, preferably with a pseudo time and materials approach, with the client purchasing entire sprint’s worth of work. Project duration would usually be more than 12 weeks, with usually two week sprints.</p> <h5>Product Team</h5> <p>This is a team made with a web designer, front-end web developer and .NET developers. It is responsible for enhancements to, and strategic development of our products, particularly CommunityManager.NET. They follow an Agile software development methodology and are very much the traditional product-centred Agile team. Sprint duration would depend upon the ability to regression test in a timely manner – but for the moment this would be around the same 6 week duration we had used previously.</p> <h4>Right Now</h4> <p>When we first made this change, there wasn’t enough strategic product work for us to justify having a dedicated Product Team. Instead members of the Delivery Team are made available as and when required to work on the product. We still have 6 week product sprints.</p> <p>The Delivery Team has started transitioning away from Agile, and their time is now more easily shifted from one piece of client work to another (they previously were committed  up to 6 weeks in advance for a particular sprint). Our clients have started to notice that we have become more flexible and responsive to sudden requests. Our project managers have been learning a new resource planning tool which is slightly clunky (built in Excel, requiring double data entry) but that we soon hope to replace with a more effective system.</p> <p>The Solutions Team has had some success working in a more Agile manner, but they need to learn to do it without the moral, emotional or practical support of the rest of the technical teams. By removing many of the restrictions that product work placed on them, they are now free to explore new technologies and test them in practice before we roll them into our products. For instance they have used Domain-Driven Design (DDD) and LINQ2SQL.</p> <p>The teams are differentiated by more than just name. They have different KPIs, different management styles and different things to get good at.</p> <p>The Delivery Team needs to become more process-driven. Too many things are left to individual choice when the best solution is already known and has been tested in practice. Also documenting requirements up front is a skill set that needs to be re-discovered and applied. After all if you are going to do BUFD projects then you need to be good at it.</p> <p>The Solutions Team needs to become more Agile, and look at ideas like TDD/BDD and more comprehensive automated testing so that short sprints do not lead to a reduction in quality. Selling a job as an Agile development project is proving harder than we would have thought. It seems lip service to Agile is easy to sell, it sounds good and requires few changes in the way clients work. Real Agile development requires an altogether different mindset, and this is much harder to sell up front. We may well need to lead these projects with an initial fixed price project that uses BDUF, and then transition to a more Agile approach once we have some credits in the trust account with our client.</p> <h4>The Future</h4> <p>The Solutions Team will be undertaking a major strategic product initiative for Elcom over the Christmas period and will bring their Agile approach and technical expertise to bear in order to give us a major new element to our product for CommunityManager.NET version 7.0. After this we hope to have another major project lined up, but if not then they may become our Product Team.</p> <p>If another Solutions Team project does come up, then the next step will be to create a full-time Product Team. We believe that version 7.0 will create enough demand that a full-time team will be justified. An important part of this strategy is to find partners that are comfortable enough implementing CommunityManager.NET that our Delivery Team is not a bottleneck on our sales. One of the keys to version 7’s success will be the way that it makes it far easier for digital agencies and systems integrators to use our product for their own web projects.</p> <p>After that fame, fortune and fun might consume our days – or more likely we will find ourselves looking beyond enterprise content management to create a new market niche in the manner of good Blue Ocean strategists. Whatever we do, Agile will remain a part of it, but only when it deserves to be.</p> Falkaynhttp://www.blogger.com/profile/13474476407114622880noreply@blogger.com6