Latest Entries »

A few weeks ago the iTropics team took a detailed look at the journey of a medium sized feature going through the system of development. One objective was to calculate this task’s Cycle Time, a metric from Lean that is defined as the length of time a feature takes to go from beginning development to “done done” or QA’d successfully. This definition could also be expanded to include specification through to deployed-into-production. I also had another objective though, and this was to highlight a specific form of waste in the system known as “hand-off” waste, or the delays that occur when one functional role has completed their part and the feature is awaiting the next functional role to begin theirs. For most processes in organisations, it is common to find that a large part of the total time that a task takes to complete is actually idle time. Unfortunately the Scrum model of software development does not have any mechanisms to highlight this waste, and thus this problem is not very frequently addressed.

So I manually tracked this feature as it went though specification to development to QA (and looping back a few times) and the results were quite interesting, though I must say I wasn’t surprised by the amount of hand-off waste we discovered.

photo (6)

Above is what the board looked like after we’d spoken about it. The numbers are the days in February, the red letters are the days where value-adding activity was undertaken (spec, dev, qa).

What we found was that the feature took from the 6th February, when we had a meeting with Contiki about the requirements of the feature, until the 29th February when it was deployed (in actual fact we might have continued past that date but I stopped counting as we were close enough!). As this was only a medium-sized feature it is pretty clear that this duration is probably open to improvement. On further inspection and discussion we found that there was a delay of a week between talking to Contiki and finalizing a specification, a delay of another week while deployment issues were sorted out, and further intermittent delay due to a few QA rejections (the specific reasons for these delays aren’t relevant here Smile). All in all, only around 7 or 8 days of actual work across Spec/Dev/QA were needed, but this feature still took 23 real days (or 17 working days) to turn around. That means that over 50% of this task’s total duration, nothing was getting done on it! That seems like a problem worth solving.

I believe most of this waste is simply due to a lack of focus on the individual features as they go through the system, or what Lean describes as too much work-in-progress. Most of the time, an individual engaging in multi-tasking takes longer to do each task than if they’d done each task one at a time. In the same way, a development team working on too many features at the same time means that each task takes longer to complete than if there were fewer features in progress, principally because there is more waiting time between functional roles while complete work on all the other items being worked on. Research also shows that increased work-in-progress in a system also negatively affects quality.

Another interesting observation I made later was that that 50%+ waste time is agnostic to the size of the feature. Now we have yet to find out if this feature is a typical case, but if it is, it means that when we are estimating story sizes we are only factoring in less that 50% of the activity involved, and the hand-off waste is ignored. Now you might say the hand-off waste would probably be consistent across all sizes of stories, and you’d probably be right (although I do suspect there is a fair bit of variation, which will throw off individual estimates), but isn’t it a bit stupid to be putting as much time into estimation as we do, only for over 50% of the time actually taken to complete the feature is left up to chance?

The team agreed that we found this analytical tool to be a useful way to make waste visible and thus get us into a position to start doing something about it. I might well manually track a few more stories this way, but we are hoping that Greenhopper will allow us to get these measurements automatically and fuel our retrospectives for ideas on how to improve the Cycle Time of our features.

A few weeks ago Caplin Systems hosted an “agile/ux safari”, which is basically the equivalent in the software development industry of a factory-floor tour. As Caplin take UX  very seriously there was a lot of focus on this side of things, with design walls, empathyimage maps and persona development all very prominent in their office space in Houndsditch, London. However I was more interested in the plain old development side of things and here were my key takeaways of the night, alongside why I was particularly interested in them:

  1. Caplin deliver in 2-week sprints, with a customer demo after every 10 work days; In iTropics we want to go from 4 weeks to 2 weeks as soon as we can.
  2. They don’t do planning poker, as they ‘have a rough idea’ of how much work they can do in a fortnight and find the time planning to be wasteful; This is a trade-off I believe in, as the time won back from these sometimes long meetings is very probably worth any slight loss in estimation accuracy at the size of feature story that we work with.
  3. They have a sprint board, that tracks work across a day-to-day value stream, as well as higher-level ‘phase’ board, that tracks major deliverables at a project level across sprints; We’ve started experimenting with this in iTropics as the project-level roadmap is being lost and along with it the vision for the team and suite of products.
  4. Finally, they have loads of UX/UCD work happening before features are given to the development teams to build; This is something we are working towards (albeit in very small increments!) at the moment.

Thanks to Caplin Systems for opening their doors to us and showing their working methods, and thanks to Johanna Kollman and the Agile UX Meetup group for organising!

Some photos of the evening:

 

 

Travel Technology Show 2012

imageOn the 7th and 8th of February 2012 I attended the Travel Technology Europe 2012 show at Earl’s Court. Like its name suggests, this is a conference that focuses on the technology involved in the travel industry. A few of the big technology-driven travel companies were there, including Expedia and Travelport, but there was also a huge variety of smaller businesses occupying a variety of market spaces, including everything from web-based analytics to ‘data aggregators’, aka companies that are exclusively in the business of collating and providing product (tour) data from and to a huge network of online travel companies. This blog post summarized my experiences and takeaways at the show.

As I was a little late I joined in on the end of an EasyJet presentation on how their analytics package is driving more personalized campaigns to more targeted user base than before, with very successful results. For example, if someone from the UK visits their holiday home in the south of France every Easter, EasyJet now has the platform to email that user in the run-up to Easter offering cheap flights. It was also interesting to note that the EasyJet website is powered by SiteCore, the same enterprise CMS that Trafalgar uses for their website.

Directly after the EasyJet talk, I attended a panel discussion chaired by Kevin May, operator of travel technology website Tnooz (www.tnooz.com – a website I will definitely be reading more of in future). Kevin had three panellists – John Watton (Director of Brand & Marketing for EAN, the Expedia Affiliate Network);  Alex Bainbridge from TourCMS, and Kevin O’Sullivan, a developer who won the last THack (read on to see what a THack is) by building an Android application that you could issue heart APIsvoice commands to, like “Flights to Paris”, and it would use various travel APIs to conduct the relevant search. The panel discussion was entitled “What THack did to the industry” and Kevin elaborated on a series of THacks conducted around the world and what the outcomes were: a variety of sites and apps that integrated travel data to solve a (travel) business need. A THack is a developer day or weekend where developers come together to ‘build something cool’ using APIs made exclusively available to them without any commercial barriers to entry. Apparently THack 2011 was where Expedia announced that they were making their APIs publicly accessible, and today any developer can sign up and start building applications interacting with Expedia services. The overall feeling of the panel participants was that APIs are the future and that travel companies, especially tour operators with data available for their own products, need to make this data accessible via an API or risk being left behind by those operators that do. Hopefully iTropics can scratch this itch for the Travel Corporation with our new API version 3! Expedia also recommended creating a developer portal so that developers could ‘self-serve’ accessing the APIs, and it was interesting to see that they have partnered with Mashery, an API management solution provider, to help make this happen.

API management solution providers APIGee are hosting an API hackday tomorrow at the Guardian offices, featuring access to APIs from Vodafone, Pearson (Eyewitness guides) and others.

One interesting comment from the panel was that it is no longer necessary for developers to wait for business agreements when developing products, but can now even lead on commercial opportunities by proving the technology first (eg. mashups or integrations) and the business falling in behind a successful proof-of-concept to get the commercials in place.

There were also a number of exhibitors at the show. One was AdInsights, a company that solves an interesting problem. An online shopper might click an banner advertisement or a Google Adword, storing information in their cookie that may be relevant to a website’s online media campaign. But that user may then pick up the phone to call a number on a website, preferring to talk to someone. At that point all online activity is left behind as their is no link between that phone-in customer and their online activity. What AdInsight’s analytics package does is dynamically display a specific phone number to any user coming to the site, which uniquely identifies them. When they call in, they are routed through AdInsight’s phone network which has ALSO collected information from the user’s cookie (including what phone number they are seeing on the website) and is thus able to link the calling customer to their online activity, including which online media campaign (eg. Facebook promotion) drove them to the site. The result is a comprehensive view of the calling customer’s online activity, enabling accurate tracking of online media campaigns but also allowing call-centre staff to contextualize their conversation with that client based on their surfing history (“Oh I see you were looking at the web page for European Whirlwind – we have a special on that this week!”).

Next I saw a presentation from Distribute Travel (specialists in travel API feeds) & Net Effect (network of several hundred travel websites and integrators of multiple APIs to feed those sites with bookable products) imagethat presented a talk called “Turning the Data Tap”.  The presenters expounded on the virtues of having an API. They advised that travel companies should even make their product data APIs open (publicly accessible), and let consumers/developers decide how to use that product data, as this enables the maximum amount of innovation. Indeed, developers or companies consuming your product data may surprise you with the new ways that they sell your products!

photo (4)

To see the presentations in Prezi format (quite cool) see here:

http://prezi.com/ax5sdbrqvph4/turning-the-data-tap/

All in all it was great to see so much technology maturity and innovation happening in the travel/technology sector. This is certainly a very exciting space to be in right now, and there are seemingly huge commercial opportunities if we are strategic about our technology development choices going forward. I recommend adding www.tnooz.com to your reading list to keep up!

A group of student friends and I were discussing some tools to help with a dissertation project over drinks one night recently. I decided that it would be a good idea to blog some lessons of experience from doing my dissertation, so that others may have an easier ride. While the university did provide some guidance specifically for the dissertation, a lot of it was basic and generic and not hugely actionable. Further than that, some of the practices and techniques that I had to learn and then employ in doing the dissertation were only lightly covered in classes.

It should be noted that this advice is aimed mostly at management science students doing social science dissertations.

The first thing to do is to read a book like Business Research by Collis and Hussey to get a good grounding in the undertaking of research in the social science arena. This book goes through the theory of research paradigms and methodologies but also includes advice on the more practical side like organizing surveys, conducting interviews, what software to get, etc.

I found it useful to access more learning materials pertaining to my chosen methodology. For example, because I was conducting exploratory research from interviews, I watched several lectures from the University of Huddersfield’s Graham Gibbs to gain a better understanding of Grounded Theory. I also read various texts on Grounded Theory and this helped me structure in my mind how the research was going to be conducted.

Once you start to make head or tail of how you might go about conducting the research, you can start reading the relevant literature on your topic. I found it very useful to create a spreadsheet listing the name of the paper, authors, rating out of 10 (how useful/relevant/interesting it was) and key takeaways. This is going to come in very handy later on when you’ve totally lost track of what concepts you’ve read where, and you have to trace certain ideas back to their source papers in order to substantiate your own observations in your dissertation writing. I used a Google Spreadsheet.

 

 

I also found it useful to use a software tool called Dropbox. Dropbox makes a folder on your computer sync with any other computers/mobiles/tablets on which you’ve also installed Dropbox. This is handy for searching for research papers and saving copies when on a computer, but leaving the reading of those papers for somewhere more comfortable like an iPad. Dropbox also stores copies of all your files in the cloud, so nothing is ever lost.

If you are doing qualitative research, you will probably find NVIVO to be your main tool of choice. This application lets you input a number of data sources (for example, interview transcripts) and lets you code them into categories and themes. Be sure to watch some of the numerous YouTube videos covering coding in NVIVO (and general NVIVO usage for that matter) if you intend to include this activity in your research. The latest version is NVIVO 9 and a student license is around £80, although you should have it available through the university as well. I ended up recording interviews using my iPhone, playing them back at halfspeed using Windows Media Player and transcribing-on-the-go straight into NVIVO.

When actually writing the dissertation, I found Google Documents more than sufficed. Again, stored in the cloud so it’s accessible anywhere and never lost, even if your computer dies (avoiding that nightmare dissertation situation!). I know people use more sophisticated tools like LaTeX and MS Word, but I don’t understand why more people don’t use Google Docs – it’s simple and reliable, and all you need to use it is a browser.

One of the more important problems to solve in writing dissertations is creating a reference database. Zotero is an outstanding plugin for the Firefox browser which can automatically create reference items from popular websites supplying research papers, like Google Scholar or JSTOR. With a click of a button you can save a citation to your database, and when it comes time to create your dissertation’s referencing section, it is simply a matter of a select-all and copy & paste (with a little bit of tidying up) to get your references section automatically generated for you. No more manual reference-writing!

I hope that gives you some direction and a bit of a head-start in your dissertation preparation. If you have any questions about the tools or processes mentioned above, let me know at markgibaud@gmail.com or @markgibaud.

Good luck!

Google-

I just killed my Google+ account and along the way I was presented with this screen:

 

 

To which I wrote the following:

Not adding any value to my life – my friends are just sharing links from the web; nobody is commenting on how awesome their holiday was, uploading photos, creating events or generally being ‘social’. The UI tech is great by the way, but the UX is not compelling in the slightest.


IMO Google+ needed to launch locally (like FB) and spread organically, with people joining because their friends were already on it and being SOCIAL (not just sharing internet links). Instead it launched to the entire world simultaneously, who promptly all arrived to be greeted by…not much at all.


Oh and circles are way too much bother for most people ;-)

 

Why do you think Google+ failed?

Here is an academic essay I did for university recently. It explores how the social elements of the web, via Github and others, have contributed to Open Innovation and specifically open source software. Enjoy.

 

Open Innovation meets Social Media:

The Rise of Social Coding

by Mark Gibaud

Introduction

This essay explores the new phenomenon of ‘social coding’ within the context of open innovation. Social coding is a radical evolution in open source software development caused largely by the convergence of traditional open source software development and the new social networking paradigm. In our analysis we begin by exploring the transition from closed innovation to open innovation that has taken place largely over the last decade. We then look the open source software movement, and specifically review the literature explaining the motivations of software developers for contributing to open source projects. We briefly review the rise of social networking on the internet before examining the current leading ‘social coding’ website, Github.com, and analyse how this website allows software developers to experience traditional OSS contribution motivations more acutely than before and thus sustain and even increase their open innovation activity. Finally, we consider the opportunities for non high-tech sectors and discuss the challenges that might be faced in transplanting this specific flavour of open innovation embodied by social coding into arenas outside of software engineering.

From Closed to Open

For much of the 20th century there was only one way to innovate. Firms would invest as many resources as they could afford into their own private R&D labs while simultaneously seeking to fill those labs with the best and brightest engineers and scientists in an effort to invent, develop and commercialize innovations that would yield profit and growth (Chesbrough 2003). They also aggressively managed intellectual property related to these products which would protect their revenues and in turn allow them to further invest in R&D and thus fund the next wave products, reinforcing a cycle of “closed innovation” (Chesbrough 2003). The prevailing school of thought was to have “innovation through total control” (Chesbrough 2003).

Figure 1: Closed Innovation (Chesborough 2003)

But several changes in the economic landscape of the late 20th and early 21st centuries have induced an eroding effect of this model of innovation. Firstly, the steady and persistent emergence of the knowledge-powered economy (Drucker 1992) has dramatically reduced the chance of any single company owning even a majority of a particular industry’s leading thinkers, much less all. Secondly, Chesbrough (2006) cites the increase in quantity and employment mobility of knowledge workers as contributory to the eroding of closed innovation, as firms naturally find it more difficult to own their employees’ ideas when they no longer work for the same company for decades at a time, as was prevalent in the 20th century. Along with this, the rise of globalisation has meant that even within a specific technology or science, “knowledge is distributed” (Chesbrough 2003) and experts in a particular field may often find themselves on opposite sides of the planet employed by different companies or even in different sectors. Another major catalyst for open innovation was the growth of the venture capital market, which better enabled innovation spillovers from both corporate research labs and universities to become commodotized within startups and therefore serve the marketplace, whereby previously, an innovation that was not considered related to the core offering of a firm would’ve died out. For these reasons, it is increasingly recognized (Chesbrough 2003, von Hippel 2001) that supplementing internal R&D with knowledge from outside the boundary of the firm can give rise to commercialization prospects previously unavailable.

By the same token, organisations are more vigorously exploring efforts for internal innovations that may not relate intimately to their core offerings to follow novel paths to market and realise benefits other than profit for these products and services. For example, a firm could license out intellectual property (IP) for financial gain, contibute to a patent pool to access new technologies to use internally, or making technology freely available so as to encourage the market adoption of a standard (von Krogh and von Hippel, 2006). Organisations are finding out that the usual idea-commoditization route is only one way to capitalize from internal R&D, and that through exploring other ways to the market an organisation can benefit in novel ways.

*
Figure 2: Open Innovation (Chesborough 2006)

Chesbrough’s defined open innovation in his 2003 book “Open Innovation: The new imperative for creating and profiting from technology”:

“Open innovation is a paradigm that assumes that firms can and should use external ideas as well as internal ideas, and internal and external paths to market, as the firms look to advance their technology.”

- Henry Chesbrough (2006)

A definition that extends Chesbrough’s original by usefully including the notions of the learning organisation, knowledge management and organisational boundaries is provided by Ulrich Lichtenthaler:

“Open innovation is defined as systematically performing knowledge exploration, retention, and exploitation inside and outside an organization’s boundaries throughout the innovation process.”

-  Ulrich Lichtenthaler (2010)

When considering open source software (OSS) development, as we do next, this definition better frames open innovation in this industry. This is because programmers routinely explore the world of OSS (which is external to the firm) for software that will satisfy their own product needs, retain the knowledge needed to integrate that project into their software ecosystem, and seek to exploit some value from that integration. 

Open Source Software: Radical Open Innovation

No industry has embodied the principles of open innovation so passionately as the software product development industry. For decades, informal networks of professional and hobbyist computer programmers have sought to contribute to and participate in the communal creation of a great variety of software products in order to fulfil their own technological needs (von Hippel 2001). Two of the most successful open source projects are Apache Web Server and the Linux computer operating system (Hertel et al 2003). According to the Netcraft January 2011 Web Server Survey (2011), Apache has been the most popular server software in use since April 1996, and currently serves more than half of all websites on the internet and almost two thirds of websites with the highest internet traffic. The Linux open source project also demonstrates the viability of open source software (Hars and Ou 2001). The Linux operating system is one of the most popular server operating systems in the world (most Apache web servers installations run on Linux servers) and is selected to run on the fastest supercomputers in the world (Cray 2011). Open source software products are also dominating emergent industry areas in high-tech including cloud computing, for which most products (Cassandra, MongoDB, Hadoop) are licensed similarly to Apache.

There can be no doubt that in the wake of the success of these and other products, open source software development has become the flagship industry for the new open innovation paradigm.

But why do programmers give up their spare time to contribute to open source projects? From Maslow Hierarchy to Hetzberg’s Two Factor theory, much research has been done on motivation. Motivation has been broadly divided into internal and external motivation (Deci and Ryan 1995). Internal motivation is more likely to be present when individuals believe that they have the capabilities and skills to contribute (rather than being out of their depth), that their efforts effect the goal (rather than being determined by luck), and when they are interested in mastering a particular skill (rather than learning by rote to affect an entirely different outcome, like passing a  test) (Deci and Ryan 1985). Examples of positive external motivations are various forms of financial rewards and increased power and influence, while the threat of punishment can serve as an external demotivation.

It is not surprising that open source programmers realise some forms of internal motivation. Firstly, there is a motivation to write code so as to become better at software programming, ie. pursuing mastery. Hars and Ou found that 70.9% of respondents to their OSS survey included “improving my programming skills” in reasons for participation (Hars and Ou 2001). Raymond (2001) found that the process whereby code is peer-reviewed before making it into the product provided programmers with learning opportunities further enhancing both their motivation to participate and the quality of the product. Hars and Ou also suggest that open source programmers are altruistic, as they derive motivation from “increasing the welfare of others”, specifically the users other than themselves of the product that they are contributing to. Another motivation outlined was the sense of belonging to a community.

Open source projects also benefit from the external motivations of contributors. Programmers who submit code are quite usually improving a product that they themselves need and use (von Hippel 2001), so they would naturally benefit from using a better product. Recognition from a community would also serve as motivation, and programmers experience rewards as they increase their marketability should they publicize their contributions (Hars and Ou 2001). Lakhani and Wolf (2003) further confirm the presence of these motivations as they also found that programmers pursue the enjoyment of being creative when programming software, with 44.9% of respondents to their survey indicating that “Project code is intellectually stimulating to write”. These programmers also have a strong sense of community identification with the OSS movement, and are motivated to increase their marketability as they become more attractive to firms that are themselves heavy users of open source products (Lakhani and Wolf 2003).

But a new evolution of open source software development is emerging. A form driven by the same social networking constructs as we have seen at the core of the success enjoyed by such websites as Facebook and Twitter. The era of ‘social coding’ has begun and is energising open innovation in software engineering at a scale heretofore unseen by increasing and improving the realisation of the above motivations through new social web mechanisms.

Social Media

The previous decade has been described as the decade of social media (Wide Angle 2011). As of January 2011, Facebook had over 600 million registered users (MSNBC 2011). As of February 2010, Twitter processes over 50 million “tweets” per day (TechCrunch 2010).YouTube is the third most-visited site on the internet (according to Alexa.com) and users upload 35 hours of video every minute (YouTube 2010). There can be no doubt that people connect and share using the internet now more than ever before, whether in personal or professional capacities, or even as ambassadors for the brands of their organisations (Kaplan and Haenlein 2010). However, innovation in social media is by no means destined to plateau any time soon. The current flagship websites of the social media phenomenon all cater to mass-market needs, eg. friends (Facebook), information-sharing (Twitter) and video-sharing (YouTube). The next phase in the evolution of social media will be the emergence of websites that cater to more specialized needs. For example, sharing specific types of information which are more intricate in their content, like architectural blueprints or perhaps 3D wireframes of model aeroplanes. Let us explore how one website has achieved this for software programs.

Github

Github (http://www.github.com) (see Addendum A) launched in February 2008 as a web-based source code hosting service for computer programmers using the increasingly popular Git source control system. As of 2009 it was the most popular online hosting service for the Git source control system (which was originally created by Linus Torvalds, the creator of the Linux computer operating system and related open source project). In July 2010 Github hit the milestone of 1 million hosted repositories (Techcrunch 2010) clearly indicating that open source has come a long way since von Krogh and von Hippel reported in 2006 with admiration that SourceForge.net, also a source code hosting site, hosted “more than 110 000 projects” (von Krogh and von Hippel, 2006). Github has quickly become a key part of the open source software development ecosystem, hosting the codebases for the new hot software development platform Ruby on Rails, the world’s most popular javascript framework jQuery, and even the Linux kernel itself. Even engineering teams from the likes of Facebook and Twitter have chosen Github to host technologies that these companies have decided to open source.

The typical modus operandi of Github is thus: A developer signs up for an account and can then fork an existing project (see Addendum B), copying a complete repository of that project to his own account space online (or create a new repository and upload his own project to that repository in his account space. After copying the repository content to his own workstation from his Github account space, a developer could then make a few changes to the source code on his own computer and then “push” these changes to his project repository in his account space. Finally, he can issue a “pull request” (see Addendum C) to the original author (or current manager) of the project and that user will get notified immediately of a potentially valuable incoming changeset. An online code review and discussion can then take place (see Addenum D) before the original owner incorporates these new changes into the “master copy” of the project’s source code. Github enables all of these steps through an easy-to-use, socially-powered web interface in true Web 2.0 style.

Figure 3: A typical Github developer’s workflow

The team behind the design of Github have taken a number of decisions to greatly foster collaboration. First and foremost, the site charges users for wanting to host their source code privately, ie. in a private repository where only certain users may access the code. This in turn means that the vast majority of projects hosted on Github are open source by default, as users get “public” code hosting at no cost. Therefore, any user can fork these projects and begin contributing.

Github also redefined the concept of forking an open source project. Most research on open source software has concurred that forking a project is a harmful last-resort (Kogut and Metiu 2001), but Github has turned this phenomenon on it’s head by greatly encouraging developers to fork projects, innovate on the product and then issue pull requests.

But most critically, Github has a mature and developed social layer that is designed to make key OSS operations easier, quicker and more satisfying to do than ever before, and leverages key motivations of open source programmers as outlined earlier. Users have profiles with job descriptions and pictures, can “watch” projects they are interested in and “follow” other programmers activity. They can also mention usernames in discussions (for eg. @markgibaud) immediately notifying those users. Mechanisms like these greatly encourage community collaboration and increase participation behaviours, foster belonging, and enable the pursuing of reputational gains among developers. Users can easily and clearly engage in pull request discussions, providing and receiving feedback on code changes and thereby providing all participants with greater and more satisfying learning opportunities (Raymond 2001).

Github also continues to add new functionality that caters to the most common motivations of OSS developers. For example, it recently made Github user data available to other websites. Stack Overflow Careers is a website where thousands of programmers have created online curriculum vitaes and users can now incorporate a view of their Github activity (see Addendum E) directly to their online CV. This is a direct facilitation of the motivation of OSS developers to increase their marketability.

Github has been very successful in creating an active, motivated community of open source developers to collaborate and communicate through a social web application to be able to produce superior quality innovations in the high tech and software industries. It remains the goal of other industries to find ways to replicate this successful open innovation in their own sectors.

Challenges

When referencing the innovative practices that open source software displays, it has been propounded that “There is no reason to believe that those practices cannot spread to other areas of economic and social activity.” (Von Krogh and von Hippe,l 2006). This author disagrees. It will take very careful and considerate analysis of sectors that do not share a few key traits with OSS to allow them to enjoy open innovation as successfully as OSS.

OSS is a natural leader in open innovation because of a few factors. Firstly, the actual output of innovative activity, computer code, is highly distributable at negligible cost. Along with this, the components of contributions in open source software (textual differentials) are sufficiently defined and discrete so as to easily allow focused discussion on each individually, before that contribution is accepted into the product (or rejected). The fact that incremental innovations can be so readily appraised, discussed and accepted using a low-friction process through an easy-to-use social website is a major factor enabling high levels of open innovation in software development. It is not easy to intuit how more sophisticated forms of data representation, for example architectural blueprints or 3D models, can take on forms that allow the same kind of distributed online collaboration that OSS enjoys.

Software application development itself is also at an advantage when exploiting open innovation because of it’s inherently component-based nature. Solutions to software “problems” like database access, integration with Twitter.com and authentication mechanisms are discrete enough that they can be implemented without impacting other modules, thus making decisions regarding one problem independent from another. What this translates into is massively increased cross-pollination and collaboration, rather than developer communities forming ‘silos’ around particular technologies and this in turn facilitates innovation across the sector.

Lastly, one critical distinction between software development and most other sectors is that open innovation in software has traditionally occurred in non-competitive areas. For example, for the most part, banks don’t compete with other banks when it comes to database access, and airlines don’t compete with other airlines on their website login systems. This enables developers across organisations to freely help each other with solving these non-competitive problems, such that they can then spend more time on improving their respective organisations’ core offerings. It remains a challenge for organisations in other industries to more clearly separate their core and differentiated offerings from problems encountered by all players in a particular market. This author argues that the lessons learnt from open innovation literature could, for example, advise the airline industry to form a coalition to create a global flight-searching platform that all players would benefit from. Individual airlines should then focus on increasing the value of their differentiated offerings such as customer service, in-flight comfort and entertainment, etc.

Conclusion

In this essay we have reviewed how organisations are increasingly undergoing a change in their R&D regime from a closed model to a open model of innovation. At the forefront of this movement are the participants of the open source software industry who have been innovating across firm boundaries for decades. We also reviewed specific motivations as to why this behaviour is sustained. We discussed how, in parallel to the increase of open innovation, social media has enabled people from all over the world to communicate and collaborate in unprecedented ways and at unprecedented scale. We then looked at how the most popular source code hosting website leverages many popular social media mechanisms in order to facilitate OSS developers experiencing their motivations for contribution more acutely than ever before. Finally, we elucidated the challenges that other sectors face if they wish to replicate the open innovation success enjoyed by the OSS fraternity, including desegregating their core offerings from their non-competitive pursuits so as to better enable openly innovating on the latter.

References:

Chesbrough, H.W., 2003. Open innovation: The new imperative for creating and profiting from technology, Harvard Business Press.

Chesbrough, H. W, W. Vanhaverbeke, and J. West. 2006. Open innovation: Researching a new paradigm. Oxford University Press, USA.

Cray Inc., The Supercomputer Company – Products – XT – XT5. http://www.cray.com/Products/XT/Systems/XT5.aspx.

Deci, Edward L., and Richard M. Ryan. 1985. Intrinsic motivation and self-determination in human behavior. Springer, August 31.

Drucker, P.F., 1992. The Age of Discontinuity 2nd ed., Transaction Publishers.

Eclipse Community Survey 2010 http://www.eclipse.org/org/community_survey/Eclipse_Survey_2010_Report.pdf.

TechCrunch: GitHub Hits One Million Hosted Projects. http://techcrunch.com/2010/07/24/github-one-million/.

Git User’s Survey 2009 http://www.survs.com/WO/WebObjects/Survs.woa/wa/shareResults?survey=2PIMZGU0&rndm=678J66QRA2.

MSNBC.com: Facebook has 600 million users – Technology & science – Tech and gadgets – Business Insider – msnbc.com. http://www.msnbc.msn.com/id/40929239/ns/technology_and_science-tech_and_gadgets/.

Hars, A., and S. Ou. 2001. Working for Free? – Motivations of Participating in Open Source Projects. In Hawaii International Conference on System Sciences, 7:7014. Los Alamitos, CA, USA: IEEE Computer Society. doi:http://doi.ieeecomputersociety.org/10.1109/HICSS.2001.927045.

Hertel, G., Niedner S. and Herrmann S. 2003. “Motivation of software developers in Open Source projects: an Internet-based survey of contributors to the Linux kernel.” Research Policy 32 (7) (July): 1159-1177. doi:10.1016/S0048-7333(03)00047-7.

January 2011 Web Server Survey | Netcraft. http://news.netcraft.com/archives/2011/01/12/january-2011-web-server-survey-4.html.

Kaplan, A. M., and Haenlein, M. 2010. “Users of the world, unite! The challenges and opportunities of Social Media.” Business Horizons 53 (1): 59-68. doi:10.1016/j.bushor.2009.09.003.

Kogut, B., and A. Metiu. 2001. “Open-Source Software Development and Distributed Innovation.” Oxford Review of Economic Policy 17 (2): 248.

Lakhani, K., and Wolf, R.G. 2003. “Why Hackers Do What They Do: Understanding Motivation and Effort in Free/Open Source Software Projects.” SSRN eLibrary (September). http://papers.ssrn.com/sol3/papers.cfm?abstract_id=443040.

Raymond, E. S. 2001. The cathedral and the bazaar: musings on Linux and open source by an accidental revolutionary. O’Reilly & Associates, Inc.

TechCrunch: Twitter Hits 50 Million Tweets Per Day. http://techcrunch.com/2010/02/22/twitter-50-million-tweets-day/.

Von Hippel, E. 2001. “Learning from open-source software.” MIT Sloan management review 42 (4): 82–86.

Von Krogh, G., and E. von Hippel. 2006. “The promise of research on open source software.” Management Science 52 (7): 975.

Wide Angle » This Decade’s Social Media: The Game Layer. http://mlcwideangle.exbdblogs.com/2011/03/14/this-decades-social-media-the-game-layer/.

YouTube Blog: Great Scott! Over 35 Hours of Video Uploaded Every Minute to YouTube. http://youtube-global.blogspot.com/2010/11/great-scott-over-35-hours-of-video.html.

 

A few months ago, in my continuing quest to find a personal finance manager (UK equivalent of Mint.com) I registered on www.moneydashboard.com. After getting past the initial shock/horror of Silverlight, I tried to perform some basic tasks but found the site cryptic to figure out and difficult to use throughout subsequent attempts.

After forgetting about the site, I received an email a couple of weeks ago informing me of all their whizz-bang new features. Unfortunately for them I took it as a reminder to unsubscribe, and requested that they delete all my info. Today I received a confirmation email apologising for the delay and asking for any feedback. Turns out I was in a feedback kind of mood…

Hi [name],

In the spirit of constructive criticism, and if you’ll allow me, 3 points:
  1. The fact that this email is delayed by nearly two weeks, and that my initial email seemingly went to three separate mailboxes, makes me think that Money Dashboard (MD) has loads of operational inefficiencies that will ultimately drag on all aspects of the user experience of the product. Someone, probably middle-management, should be focusing less on the work and more on the system of work over there. Simplifying the system and eliminating confusion (like which support mailbox to watch) will allow people to focus on customer service and user experience of MD.
  2. Silverlight was the wrong technology decision. I’m guessing MD have a) heard it before and b) believe can’t do much about it now (but MD can).
  3. Even factoring out Silverlight, the user experience of the site was poor. I recommend investing in more UX design people from which the development process begins (rather than the salespeople or business analysts or whoever is driving development now).
Hope that helps,
Mark.

Was I too harsh? Probably. I am sick of half-ass tech out there? Definitely.

So, you want feedback from your site users? Great! Put a questionnaire on your site that pops up when they first load a page, a certain percentage of users will click yes to that question, and you’ll get your data – perfect!

No. In my opinion that’s not they way to do it. We are making a mistake so many software developers/designers make all the time: ignoring user context.

We have to think carefully about what is going on for the user when that question pops up in order to optimize both the user experience and the chances of us getting a good quantity of data. The user has very probably not just come floating by your site, but has come to the site with a purpose (and it wasn’t to answer the questionnaire). They might have clicked a link that takes them directly to the the piece of content that they are wanting, and they expect to see it straight away. But BLAM! you’re interrupting them with this annoying popup whateveritis and something about a questionnaire that will take waaay too long and all I want is to quickly read this article or have a look at that photo! Get out of my face!

Popping up your questionnaire on first visit? Firstly, you’re annoying your user and secondly, you’re greatly reducing the chance s/he will click yes to your question, thereby interrupting their current and more important task.

The solution? Easy. Put the question where they will see it shortly after completing their task. Their frame of mind will mean that they are often in a better mood, having (hopefully) just acquired some value from your site, for example reading a good article or completing a purchase. In this state of mind they are much more inclined to do you a small favour of answering a few questions. Also, them having completed their task means that you will no longer be interrupting them by asking the question. We’ve gone from a negative-experience interruption to a positive-experience I-might-well-do-you-this-favour! Both of these mean that the chances of them clicking “Yes” will skyrocket. You will have more data, quicker, and you won’t be annoying your users! Hooray!

Something in a similar vein: On HBR.org, when you scroll down over the end of the article you’re reading, a little box slides in from the right containing a link to similar content as what you’re viewing – a ploy to increase stickyness on the site. Probably works though, as the user is getting to the end of the current article, and if it was valuable, would probably see what else is around. This functionality is normally implemented using jQuery Waypoints or similar.

 

image

 

So, morale of the story: (User) Context is King! Think carefully about your users’ frame of mind in various places on your site, and also in various stages in any step-process on your site, and place your questionnaires accordingly.

We software developers have long fought against technical debt in our codebases in a variety of ways. Ultimately it seems we settled on doing a little bit at a time in an ongoing effort to slowly “pay off” what we have built up over months and on some projects, perhaps even years. Maybe you factor this into each iteration, with dedicated tasks that get their own story points score, or maybe the developers are instructed to enter a phase of “leaving everything better than when you found it”, relying on bugfixes and feature improvements to instigate updating the code to the latest agreed-on practices. Either way, that battle is won in a lot of environments (I’m an optimist), and that means you have two streams of development in your team:

1) Business-value development: This is stipulated, specified and analysed functional work that is prioritized by the business and offers direct value to your customers. This traverses your entire value stream: Analysis –> Development –> Testing > Deployed to customer

2) Technical-value development: This is prioritized by the technical team and has indirect value to the customers by increasing the speed/quality of your development. It also effectively skips the business analysis part: Development –> Testing (for regressions) –> Deployed

lightbulb-idea

But I think we lack a third stream. In the enterprise, where roles and functions are often clearly delineated, there is a certain type of development that is “lost” as it is not explicitly owned by either the business or technical teams. In my experience this type of development often centres around usability improvements and innovative feature ideas. The business won’t request work to make a particular page more “usable”, and often they don’t have the skills or know-how to point to more intricate problems that would result in a better user experience. Even if they do, it’s often difficult to justify the business value against other issues in the backlog of much more tangible benefit. From the technical side, developers are discouraged to suggest improvements since they’ll have to convince the business to allow them time to develop a new feature or improve an existing one. Then again, the business would rather spend that time on what they perceive to be more urgent issues. Over the long term, without a product owner who understands and is passionate about the benefits of good web usability, the power of user feedback, integration with social media platforms, et al the result is a product that is not well-rounded and lacking in a certain kind of polish.

That changed where I work a couple of years ago, with the introduction of 10% Innovation Time (similar to the oft-referenced Google 20% time, just half ;-) . Innovation Time gives developers an opportunity to experiment on whatever they wish as long as the intent is to “benefit the company” in some way. So far this has usually taken shape in the form of separate applications either automating back-office admin. But what about improving the existing product? Of course, a developer can’t just hack together a feature and commit it, since there are some necessary checks that feature developers usually go through – Does it make sense to have this new feature in? Is the value worth the development time/effort? etc. Essentially these questions are avoided by two things: 1) The developer can hack on whatever he wants in his own Innovation Time (largely escaping “Is this worth it?” question), and secondly, all innovation output that affects the product in a way an end-user can experience a different, should be given the go-ahead by the Product Owner. So in essence, this is a third stream of development that would over time, enable the developers with good ideas to get them into the product.

As far as User Experience is concerned, software teams these days are making more use of specialists in this area. For a team that currently produces a product with a lower-than-par user experience, I think it is just a matter of hiring a specialist (UX consultant, front-end engineer, whatever) and fitting him/her in at the right place in the value stream, ie. somewhere around development/design of the front-end of any particular feature. This specialism should not be an afterthought like testing/QA was in the software industry of several years ago. The UX person should be in on the conversation before any code is even written.

“Any fool can make things bigger, more complex, and more violent. It takes a touch of genius-and a lot of courage-to move in the opposite direction”

- Albert Einstein


5 Goals for 2011

Right, here we go again. A little less fluffy and more measurable / achievable this time.

1. Improve the System of Innovation where I work

Currently we have 10% time (akin to Google’s 20% time). I’m thinking this isn’t enough. I’ll blog about any success I have changing it.

2. Improve Knowledge Management where I work

This one should be easy, because I’m pretty passionate about it. I started the first wiki in the company (to my knowledge) several years ago, and always thought they were a good idea. My Msc in Management has exposed me to all the academic stuff that an “enterprise collaboration tool” can enable like David Senge’s Learning Organization and Ikujiro Nonaka’s Knowledge-Creating Company. I am well placed to make this stuff a reality where I work.

3. Pass May/June Exams

Obvious, but necessary. They tell me one doesn’t get a degree unless one passes one’s exams. They do make it awfully difficult for one these days!

4. Write a decent dissertation

It’s going to be an exploratory case study on what happens (from the perspective of employees) when improved KM practices are implemented within an organisation. Stay tuned.

5. Pay off all debt

Since beginning my Msc I have had some considerable debt in rotation on 0% credit cards. Not the way those personal finance guru’s advocate the way to manage your money. Time to get rid of it, plain and simple, and get back to only using credit cards as a short term measure.

Follow

Get every new post delivered to your Inbox.