Saturday, 26 January 2008

A Simple Overview Of The Product Development Cycle

This is a simple guide to terminology used in product development.

If you are "not a technical person" and you want to understand the process of building a web project, this hopefully will be a good place to start.


Product

What's a product? It can mean many things to many people. In the world of ecommerce it usually refers to a either a service, a website or a software package. I like to think of a product as being something that you can market to others.

Examples might be:
  • Microsoft Word
  • Skype
  • Google Adwords
  • lastminute.com restaurant booking
  • Facebook for Blackberry
  • Intranet or Extranet site

    To build or improve a "product" there are several disciplines that come into play. Each discipline requires certain skills and should have an owner.

    In small companies one person may take on many of the roles required. In larger organisations, there can be teams for each discipline.

    I have identified 9 different roles below. You don't necessarily complete one area before moving to the other. They overlap and have a different emphasis at different phases of the project.


    1. Product Strategy

    Research and planning is needed at the beginning of the project. A Product Strategist would evaluate opportunities, seek out customer and business needs and keep an eye on the competition. The initial output from the product strategist is a "Product road-map" which clearly states the products and features that need to be developed over the coming year and more. This is a high level overview.

    Rarely does an organisation have unlimited resources, therefore also in this phase, new products, product improvements and competing new features need to be prioritised.


    2. Product Planning / Business Modelling

    Here, a Product Manager (or Business Analyst) would articulate and elaborate the features needed in a new product (or an enhancement to a product) and prioritise these needs in the form of a "business requirements" document. They would also complete a detailed financial cost-benefit analysis for the project and engage in discussion to prioritise their product improvements.


    3. Program Management

    Once a product or feature has passed the first prioritisation hurdle, it needs to be prepared for development. A Program Manager would assess Functional Requirements, build use cases (and related test scenarios). They would also work with the technical team to clarify technical requirements and project manage the project through to go-live. Essential the Program Manager is in charge of realising the project.


    4. Architecture and Design

    A Technical Architect needs to build a model for how the product will be built, ensuring that it is compatible with existing systems, can scale and uses best practice software design principles. A User Interface Designer needs to create wireframes to model the experience that the end-user should receive. After that, a Graphic Designer can prepare designs that bring to life these wireframes.

    These designs can be changed and altered as the project progresses, according to feedback received from the business owners, customers and technical teams.


    5. Development

    For development, read "build". This involves many skills, depending on the project, from database administration to programming as well as creating front-end code ("mark-up"). A working prototpe is evolved and passed back for review so that any changes or tweaks to the design can be captured. Developers would also run unit tests that test specific sections of code and create full documentation of how the product was built and operates.


    6. Quality Assurance

    For QA, read "testing". Testers test the product / application / feature against the functional requirements and the relates use cases. They also run regression testing to ensure that the code is compatble with existing systems and stress & load testing to ensure that there is sufficient server capacity and that the system can handle high volumes of activity without comprimise. Finally, the tested product needs to be "signed off" in acceptance testing by the Product Manager.


    7. Configuration / Deployment

    Once the testing is complete, the developers can integrate the code into the live environment and "go-live". Depending on the nature of the system and the complexity of the product, this can be a fairly simple operation or highly complex.


    8. Measurement / Analytics

    Once live, the Product Manager is responsible for measuring the impact of new features / products. Typical measures in Ecommerce would be things like changes to subscribers, visitors, conversion, transactions, revenue and profit. Feedback from these measures will determine the success of the project and need to be compared to the initial forecasts to validate them. This could then generate further product changes.


    9. Project Management

    Pulling all of the above disciplines together, the Project Manager is responsible for keeping the project on track, securing resources and removing impediments. They are the communication hub between all the other people involved and will keep plans up to date and report on progress.


    Pulling it all together

    On way of viewing how these roles interact at different phases of the project are captured in the following diagram of what's known as the Rational Unified Process (iterative software development process framework created by IBM).



    Image source: http://www.msc-inc.net


    That's pretty much it. Who is responsible for each of these areas in your organisation? If you don't know, hopefully the above overview can help you figure this out. Remember - you don't need to have a different person for each discipline.

    You just need to make sure each role is covered.

  • Wednesday, 16 January 2008

    Will The Real Facebook Please Stand Up?

    Right wing, neo-conservative, big brother....

    A ruthless attempt at global domination?

    The Guardian's Tom Hodgkinson tells us what he really thinks of Facebook's investors in this enlightening rant. Worth a read.

    Make up your own mind:
    http://www.guardian.co.uk/technology/2008/jan/14/facebook

    Wednesday, 9 January 2008

    Yahoo Email and the Social Graph

    One of the big stories this year will be how the "social graph" becomes liberated from destination sites such as Facebook.

    I am current a "member" of at least 5 to 10 online networks of significance to me, from LinkedIn, to Facebook, to my local cycling club, not to mention my Skype list, my email contacts and my IM contacts.

    Many of my contacts exist in all of these lists, some in one but not another. My "social graph" is actually still quite fragmented.

    It would make sense therefore to liberate my networks from these applications and sites and allow them to be used across ANY online community that I want to be a part of. I would just need to be able to tag the status of a contact as being a friend, a professional contact, a family member or anything else I want. Then I could drag a tagged list to any application on any device. That's where we need to get to.

    In order to do so, someone, somewhere is going to figure out
    1. How to extract the social graph from the applications
    2. Make money from doing so

    Google's strategy in this area is with it's "Open Social" project. Facebook has Facebook, Microsoft has MySpace.

    Yahoo are hot on their heels.

    Yesterday at the CES (Consumer Electronics Show), Jerry Yang from Yahoo presented Yahoo's ambition to become the start point of choice for consumers by adding social networking power to Yahoo mail (currently the world's largest email supplier with over 250m users).

    Yang said. “At Yahoo we want to be most essential starting point for your life,” and “take the complexity of the Web and simplify your life through very powerful technologies.”

    The new Yahoo user experience will centre on Yahoo Mail and will integrate email, social context, tagging and a whole host of "Web 2.0" features.

    The "Friends" in the Facebook world are just your "Contacts" from your email address lists. Based on the frequency of your contacts, email can be ordered in terms of social importance rather than say date.

    3rd party apps can be accessed in the same interface giving the opportunity for friends to collaborate

    Yang an example of planning a dinner. You would drag the thread into a map and it will bring up the profiles of those on the mail, note preferences (for food in this case) and suggest restaurants in the area. You can also take an email message, pop up the profiles of those on the message, takes an address from email and show it a map.

    That's great. A collaborative decision making tool for a group of people to book a restaurant.

    However, wouldn't it be even better if the social graph required to do this were not hard-wired into Yahoo. Or into Facebook for that matter?

    Surely the application "restaurant booker" should be platform neutral and could exist on the web, on a desktop, on a mobile or a TV, and that the social graph that powers the "connections" would be transcendent and available for any developer to use.

    Maybe, if Yahoo opened up their social graph to as an API for developers to use (and maybe charge a tiny fee to make it worth their while), we might have what we need.



    News source: http://blogs.zdnet.com/BTL/?p=7503, by Dan Farber & Larry Dignan

    Tuesday, 8 January 2008

    Domain Registration Challenges

    A key objective of the European Union is to create a unified, barrier-free market for it's members.

    Domains however seem to provide a few hurdles for entry into a market that are more difficult to overcome.

    It's not always easy to just buy up domains. In France for example, to get a .fr domain name, you need to be a French registered company.

    This makes it more difficult that it should be to buy domains across the whole EU for each market in which your (EU member state registered) company operates.

    A Swedish friend of mine has just told me about a newsflash about a company challenging a country registrar to the EU for discrimination and unfair competition practices.

    "Swedish company Gents wanted to register a Finnish domain but were denied since the rules in Finland say that a company must be local to get a .fi TLD. They then registered through a third party but had that registration removed by the Finnish registrar saying it was against Finnish law.

    So Gents filed a complaint, saying it is discrimination of Swedish citizens and companies…

    ...Gents says it forms barriers of entry and unfair competition advantages since “domains are so important for search engines like Google"


    I tend to agree. Creating restrictions on domains is a restriction on free trade.

    I'm interested to see whether this challenge is successful or not. Good luck to Gents!

    Here's the original article in Swedish

    Saturday, 5 January 2008

    The Long Tail Of Social Networks

    The long tail distribution curve of social network usage.

    Two things came together this week.

    Firstly, I was reading Chris Andersson's excellent book - The Long Tail, which if you haven't read it a must read. He quite clearly explains what the effect of lowering distribution and production costs have done to modern day retailing and the related success of ecommerce businesses. One point he makes is that the when the cost of distribution is low, the spread of available inventory increases.

    Secondly, I came across an excellent site that graphically represents the social graphs of on-line communities and social networking sites. http://orgnet.com/community.html by Valdis Crebs shows how most networks have a core of heavy, dedicated users, a second group that are loosely connected and a large outer ring of "disconnected nodes, commonly known as lurkers". He notes that communities have various levels of belonging and contribution.

    The graphical representation by Valdis Krebs seemed to me to be an indication of a Pareto distribution of usage. That's to say that the highest intensity of usage comes from the smallest proportion of users and that the lowest intensity of usage comes from the highest proportion of users. I had also heard the same pattern described by a friend who was researching her MBA project on online communities.

    So I asked myself the question: can I test to see if social network usage has a "Long Tail"?

    To see if this was the case, I ran the numbers from my LinkedIn network. (For info: If you are not a member of LinkedIn, it's a free to join professional networking site).

    I looked at all of my 227 connections to see how many connections each of them had. From Valdis' observations I expected to see that there would be a very few "highly connected" users and exponentially more users that had fewer connections. What I wanted to see however was whether the resulting chart would result in a Long Tail distribution curve.

    My reasoning was: given that it was free to join, there are zero "costs of distribution" - therefore I would expect to see a "Long Tail".

    Sure enough, there were only a few top end users. On Linkedin, once you go over 500 connections it displays as "500+". So the top end of the pattern is slightly distorted in that not all of the 500+ users will have the same number of connections. Some will be in the 500's, but I imagine that one or two might even reach to 700 or even 900. In total there are only 6 users with 500+ connections (out of 227).

    What about the bottom end of the scale? It turns out that just over half are low usage users. 115 people have less than 50 connections.

    Here's what it looks like if you break it down:





    ConnectionsPeople% of total
    500+63%
    201-500125%
    101-2004018%
    51-1005424%
    1-5011551%

    If you plot it on a graph, the "Long Tail" curve is most definitely evident:



    The curve extends right out to the right where there are 8 users with just 1 connection. These are people that I invited to join my network, who accepted, but have done nothing since. They have not added their own connections. Note that there are more people in this category than there are those with 500 or more connections at the other end of the scale.

    Of course, I have only plotted the data from one network, for one node (me). It would be interesting to know if other networks also follow the same pattern.

    Despite my limited analysis, I'm pretty convinced that most online social networks and communities will display similar Pareto distribution curves. This is because there is no barrier to entry. There is no cost to join a network. It's free. Therefore, it's no big deal to join up, trial it out and see if if you find it useful. There are no costs in extending the tail.

    I assume therefore that I'm probably in the top 10 to 15% of users of LinkedIn and therefore most probably one of the "core" users as described by the graph on orgnet.com.

    However, if I consider my half-hearted efforts on Facebook, I'm definitely not in the core. I'm probably floating around "loosely connected" in the bottom half of the curve. (As are, I expect the majority of registered users).

    Conclusion? Everything so far points to a long tail distribution curve of social network usage.

    Thursday, 3 January 2008

    Web Marketing Tools 2008

    Jeremiah Owyang, a web-strategist and Senior Analyst at Forrester Research, has just published a useful up to date at a glance guide of the many forms of web marketing.

    If you want to check in on what all of these terms mean and how they can be used, his article is an excellent reference point.

    The Many Forms of Web Marketing:

    1) Corporate Domain
    A) Corporate Site
    B) Portal Strategy
    C) Microsites for Segmentation
    D) Interactive Web Marketing
    E) Intranet
    F) Extranet
    G) Regionalization

    2) Search Marketing
    A) Search Engine Optimization (SEO)
    B) Search Engine Marketing (SEM)

    3) Out Bound and Syndicated Web Marketing
    A) Email Marketing
    B) Invasive Marketing
    C) Syndicated Content and RSS

    4) Brand Extension
    A) Web Advertising
    B) Contextual Advertising
    C) Sponsorship and /Cross branding/Affiliate
    D) Social Advertisements
    E) Widget Advertising

    5) Community Marketing and Social Media Marketing
    A) eCommerce/Rating Sites
    B) Social Networking, Forums, Wikis, Collaboration
    C) Syndicated Marketing
    D) Podcast Marketing
    E) Blogging
    F) Widget Marketing
    G) Online Video and Live Streaming
    H) Instant Messaging, Presence
    I) Tagging, Collective Tools
    J) Voting Features
    K) MicroMedia
    L) Infinite Other Flavors

    6) Virtual Worlds
    A) Virtual Worlds
    B) Online Massive Multi Player Games
    C) Online Games

    7) Related Mediums
    A) Internet TV (IPTV)
    B) Mobile Content

    8 ) Experimental: To Watch
    A) Portability of the Social Graph
    B) Vendor Relationship Management


    Read the full post with detailed explanations at www.web-strategist.com

    Wednesday, 2 January 2008

    Tripadvisor, Facebook and Restaurants

    Restaurant reviews on Facebook with Tripadvisor.

    Towards the end of last year, Tripadvisor launched a Facebook application called Local Picks.

    As I write this, on Tripadvisor there are 252,835 restaurants worldwide and 823,248 reviews already written.

    Wow. That's a lot of restaurants and a lot of reviews.

    So... is it any good?

    Well, according to Facebook, there are 25,297 daily active users. I noticed however that this is down from the 100,000+ daily users that they were gaining a few weeks ago. I guess that's partly down to the holiday season. Also, it could have had a wave of adoption and is now slowing to a natural plateau of stickiness. Personally I can see myself using it once in a while, but not every day. I mean, I eat out a fair amount, probably once a week, but even that wouldn't warrant a daily visit. Maybe once or twice a month.

    Anyway, I thought I'd add it to my Facebook account and try it out.

    • Is it easy to start using?
    • Is it easy to add a review?
    • What about restaurants that are not already listed?
    • How significant is the social angle?
    • How useful is it for choosing a restaurant?
    • Can I book online?


    Is it easy to start using?

    Overall, it's pretty intuitive. The design is simple and easy to use. Nothing too flashy or complex. Nice. The only think that threw me is that although it recognised my hometown to be London (from my Facebook profile), it still set the default map view to be Boston, USA. Once I'd saved my settings and re-started the app from the menu, it got it right.

    So - I get a map of London and a list of top rated restaurants listed below it. I couldn't really see much on the map. There were apparently 1690 restaurants in London, although only the top 20 show on the map. Also, the map markers were a discreet grey (not the usual red I expect on a Google mash-up). I figured out after a while that you need to zoom in to see the detail. I mean, if you had 1690 map markers, there would be no map left!

    I zoomed to my local area and saw 4 restaurants. I know for a fact that there are about 20 restaurants in our area. 20% coverage is OK, but it still has a way to go.


    Is it easy to add a review?

    Yes - very easy. All you need to do is to rate the restaurant on a scale of 1 to 5 stars by clicking the star. You can also choose if this is a "Favorite" (Shame - why can't they use "Favourite" for us Limeys?), and whether this is a place you "Want to go". You can also add free text.

    As with all questionnaires, the more detailed the questions, the lower response rate, but the better quality of data. Conversely, the easier the questionnaire, the less meaningful the data. In this case, because you can just rate a restaurant and not leave a comment or state the reason why, it's difficult to know why a restaurant does so well or does not do well.

    I should think that a rating for a business lunch would be very different to a rating for a night out with friends, a family lunch, a romantic date or a pre-theatre meal. Speed of service, childcare facilities, wine lists, atmosphere, food quality and choice - these all matter to greater and lesser extents depending on the occasion.

    In terms of adding a review - yes - it's very easy. Too easy maybe?


    What about restaurants that are not already listed?

    I wanted to add a review to a restaurant that I enjoy visiting regularly, but found that it was not listed.

    I could enter the details of the restaurant, starting with the name and the address. In my example the address was not recognised from the postcode, so I had to manually pinpoint the location on the map. There were a couple of other screens to go through after the address screen.

    I was all set add my review. Too bad then that I now have to wait 24 to 48 hours before restaurant is added to the listings.


    How significant is the social angle?

    Right or wrong, I trust my friends more than I trust the rest of the unknown folks in the world. So - if I can get reviews from my friends for restaurants, because I know them, what they like and who they are, I can "trust" their reviews more than an anonymous user. Good idea then.

    To be honest I'm not a heavy Facebook user. I don't have that many "friends" registered and only one of those has the application on their account. However, the idea seems to make sense. Every time I am shown a restaurant review, it shows me the reviews from "everyone" and from "friends".

    My reviews are added to a page called "My Picks". My friends "picks" are listed on a separate page.

    For the social angle to really work, all my friends that I regularly eat out with would need to add this app to their profile and we'd all need to rate restaurants as we visit them.

    I really doubt that many Facebook users actually use it in this collaborative way.

    Still, it makes sense that you start off using the app by yourself, get reviews from the wider world and then as your friends start using it, get their opinions too.


    How useful is it for choosing a restaurant?

    Say I just use the app to help me find restaurants. How useful is it?

    On all of the three primary filters (Geographic, cuisine and price, see below), you then get to see restaurants listed by highest rated (either by friends or by everyone). You can also choose by most ratings, most favorites or most want to gos.

    Geographic. Well, I can zoom on the map very easily. If I want to find a restaurant near a certain place, it's great. Many restaurant search tools still could do better in this area, so top marks here.

    Cuisine type. Yup, good filter here if I am after a certain cuisine type.

    Price range. Shame this is in dollars for some of the restaurants in London. Because of that I'm not sure how much I trust it to be honest.

    One more thing I'd really like is to be able to filter on are some of the restaurant attributes such as business, child friendly, outdoor seating, romantic etc. These are all features offered when you list a restaurant, so it would be good to be able to search by these too.


    Can I book online?

    Alas, no. It seems that the good old telephone still rules for most these restaurants.

    Some have website links though, which is a good start.


    Overall impressions

    Overall, this application seems to deliver on volume and spread. Almost all major cities have a decent spread of restaurants listed. Where it lacks (I feel) as a truly useful decision making tool, is the level of detail available against each restaurant.

    So, to improve?

    1. Make it so you could easily rate the restaurant on a number of additional factors such as:
    - menu
    - service
    - atmosphere
    - comfort
    - wine list
    - value for money

    2. Add further clarification on suitability for categories such as
    - families
    - business lunches
    - romantic setting
    - party atmosphere

    3. Enable searches and filtering on the following dimensions
    - Geographic (done)
    - Price range (done)
    - Cuisine type (done)
    - Occasion categories (see point 2 above)
    - Ratings (done)
    - Sub ratings (see point 1 above)
    - Friends ratings (done)

    This would really create a very powerful restaurant recommendation engine.

    Finally, add a facility to link to a restaurant's website or some other way of enabling a booking. Tripadvisor would want to figure out how make this lead generation pay for itself with whoever they partnered with to deliver the booking interface.

    Even better, add a tool that allows friends to collaborate over the decision making for the restaurant, and once booked sends all of them the confirmation details.

    There you'd have it. A truly one stop socially enabled decision making and booking system.

    Good effort from Tripadvisor.

    Once again, another step towards distributed, user centred content and a step away from destination sites.