Monday, September 7, 2015

On Desiring Windows 10 for My Yoga Pro 2

I have a Lenovo Yoga2 Pro with Windows 8.1 since Feb 14. I have always been on windows and very recently also got a MacBookPro for my work.  I love both equally coz i think both do a fabulous job in their own segments.  I have been following Windows 10 for a while and wanted to ensure that I get it in time. Thats when I discovered it wasn't easy, especially due to the state of my laptop.

The Symptom
After buying my Mac for work, I handed over Yoga to my 8 year old son. He has been using it for about 4 months now and he loves it too. Its when I tried to register for Windows 10, I realised something is wrong with my laptop. Whenever I tried to do "check for updates", it would just run for hours and do nothing.  On the Lock Screen there will be a small notification indicating I have new updates to install and that I should go to Control Panel and get them. But when I try doing it, nothing happens!

The Problem and What It took to Solve.
Upon investigating, I found that this happens because of the following. I had my settings in Control Panel set to "Allow Automatic Updates". This means Windows will download updates when available  and install them "Without" asking you.  During these updates, it tries to restart the computer and if it fails to do a clean restart during updates, it corrupts the registry which results in failed updates.  One of the reasons for a failed restart would be loss of power, or my son shut it down not knowing the importance of the update. The actual problems starts now. 

Windows 8.1 classifies updates into 2 categories; Important and Recommended. For some reason, Important Windows updates are chained! Which means update 5 would need update 4 and update 6 would need update 5. So if update 4 fails, you cannot get any more important updates! Update 5 cannot correct what went wrong with update 4! 

To set this right, the first thing I did was to switch the option "automatic updates" off and take a more sensible option of "automatic download and then ask for updates".  

Next I had to do a "Refresh" of my operating system in which I get to keep the data but loose all my softwares including MSOffice! But I still did it. However, I was expecting that once I refresh and then start the updates, I will get the Final Build and all the updates in between in 1 go. Well thats not the case apparently. After the refresh, the system identified I had 3 important updates which I happily finished. After finishing these 3, it said I had another 5 to go. So I did, then it said, I had another 147 to go! And it went on for a total 18 hours! Some of the lag I can attribute it to England's slow internet service specially over the weekend. 

Finally I got to the build where I got the Windows 10 icon for registration. 


Questions Or Suggestions
  1. UX - Can the update process make updates Non-Chained. If I have update 4 and the latest update is update 127, then download everything in 1 go and update in 1 go and then restart?
  2. UX - Should "Automatic Updates" be an option at all if it has such painful consequences even when the user is at fault?
  3. Engineering - Can the update process not check for Power Levels, disable Power OFF and change options to "automatically never Sleep when lid is shut" during the upgrade process.
  4. UX & Engineering - Send Alert notifications on emails / SMS to parents immediately to prevent such pain later on. 

After all this, I hope the new version is worth the pain!

-Vihang
  



Wednesday, September 24, 2014

Is Google sending your emails to someone else?!

I am an ardent fan of Gmail and have been using for the last 10 years.  Recently I started getting emails containing invoices of things that i did not purchase. Or details of stocks that i did not hold and confirmations on transactions which I did not make!

At first, I thought, these were just mere coincidences and I ignored them. But the frequency has increased now. On a average I get about 4-5 emails a day which are addressed to my name but they contain details of things which other people have done!

My email address is firstname.lastname@gmail.com. When I looked at the email address again this time, I found that there is no "." between the first name and the last name and next to it there is a link which say "(Yes, this is you.) Learn more".  When you click on the "learn more" it explains that Google ignores the "." before the @! Which means firstname.lastname@gmail.com is the same as firstnamelastname@gmail.com or fi.rst.name.last.name@gmail.com.  While this is good feature if you have started Gmail service today and the only person allowed to register with a unique name is me. I am not sure if Gmail started with this service 10 years ago. 

First of all it is disheartening to believe so many people exist with the same name as mine! In the first year 18 of my life, I came across only 1, who shared the same first name and now suddenly hundreds of people are getting emails of their customers incorrect and all coming to me! While it is humbling, it is annoying to read about profits that will never be mine and things which will never be delivered to me! 

Being completely selfish, I don't mind sharing 5 more emails with "Trash" but I concerned if someone else is also getting my emails. Is there a comforting answer?

-Vihang

Saturday, March 3, 2012

Collect In-Store vs Delivered To Store

Just thought of bringing out the difference between these two types of delivery options. While in both cases the customer has to go to a store and pick-up the goods ordered on the website, the back end handling of the order is completely different. The details in this article might be of very little use to business users as they might be already used to the concept however this can help development teams understand the difference in both and the associated requirements. 

Deliver To Store is just like delivering to any other address. The goods ordered are delivered  from the central  warehouse to the retailer's store selected by the customer. The customer enters payment information on the website and when the goods are dispatched the OMS settles the orders for the web channel. This option is designed to offer convenient pick up for the customer from a nearby location. Providing this option might require integration with GoogleMaps / Bing Maps and the details of retailers store. Back end processing mostly remains the same unless the business team decides to ship orders alongside regular store inventory instead of the logistic network / process used for fulfilment of orders. Once the order is shipped to the store, an email / a SMS is sent to the customer and the customer can pick up the order by visiting the store. 

Pick-up In-store is also known as "Reserve N Collect". Unlike the previous option, when the customer places the order on the website, payment information is not taken and the customer is given a confirmation of reservation indicating the time before which they need top pick up the goods.. Inventory check is done against the "back inventory" of the item in the store selected by the customer and a message is sent to the in-store team to pick and reserve the item. Payment is taken by the store when the customer collects the item,  and this transaction is booked against store's PNL account. It depends on the retailer to show the order on the web under Order history. No shipping of physical codes is done. This option is one of the steps towards true multi channel implementation.    

The complex area is to figure a workable solution when the retailer has in-store system operated in-house where as the website is a SaaS offering on revenue share basis. However this problem is for the business team to solve and is mostly contractual and might have limited impact on the implementation.

-AV

Thursday, March 1, 2012

Mobile Kiosk Using Tablets - Contd...

This is how I would visualize overall using a tablet. As you see its not very different than a commerce website. Also not all components are shown here. This is just a high level representation of blocks of functionality. 


Some important things to note.
  1. Address validation system is required only when you are trying to ship a product to the customer.
  2. Not all systems and interfaces are shown here. Only a few widely used system are shown. Reporting from OMS and Financial Reconciliation are important but mainly on OMS and hence omitted. 
  3. There would normally be an ESB for handling all external interfaces which I have not shown here.  

So the things that make it different from website is the App itself and the communication with the commerce engine and payment gateway. The commerce engine needs to expose APIs, preferably rest, which the App can call to get the required information and create baskets and orders.  

In the previous article there were a few areas that were required for doing the chip & pin Integration. Below are a list of features and considerations that can be built into the App and Commerce Engine when planning for first release. These are just my views based on the use cases I have seen so far and are by no means  complete.


Registration 
For unassisted in-store the user should be able to do it himself, else for assisted version it should a simple form which does not ask to much personal information but just creates an Id and then sends and email to the customer to  where he can go home and do the rest of the job. However registration should be not in the checkout process like websites. It is also useful to capture information about the customer and hence advisable to have as an optional functionality at the end of checkout for sure. 


Scan and Search
A very frequent use case is to not find the right size, colour or variant of the product that you are looking for but find a very similar product in store. So the user picks up the product on the shelf and walks to the customer desk to show what they have got and what he wants for easy explanation. In such cases attaching a bar code reader which can scan and bring back similar results is very handy to avoid delays in front of the customer.

Reviews, Ratings and Recommendations.
Very good features to have in-store, will keep the customer engaged for a longer time and also increase the chance of the customer coming back knowing they can always make an educated decision for buying a product. If the customer's email is captured it is good to ask for review of product purchased by sending the link for writing reviews in an email. Of course this is assuming the retailer also has a transaction website. We have assumed that the reviews service provider can do a hosted review with Apps as well. However this depends on the provider and hence needs to be verified before implementation.

Product Videos
Product videos demonstrating the product features can add a great value for the in-store user. Trailers for the new film or album can also enhance the in-store experience. For audio music we already have a hot spot where the user can jack up head phones and can listen to the song before buying. On demand video trailers for films and games can be done in a similar way.  Have not shown separate content providers for MVG industry and have assumed all data coming through PIM for simplicity.


Store inventory visibility
for a full blown multi channel this feature is unavoidable. However it is more of the commerce engine capability that decides this and the ability of other systems to expose store level inventory.   


No Preorders, No digital downloads but Yes Back Orders
Pre-orders and digital downloads do make sense for a few use cases of in-store ordering but they add considerable complexity in both payments and order handling and hence should try to accommodate in a  future release. Back orders on the other hand are one of the most important uses cases for in-store ordering where the item has gone out of stock and the customer is standing ready to pay for it and hence should ideally be considered. 


Existing Customer Order Association
If a customer already has an account with the retailer and is buying / ordering in-store, it makes sense a provide the functionality to associate the new order with his existing account. However this is a good to have functionality and can wait for future releases. Apart from just making it easier for the customer this also give good data for analysis of customer behaviour.

Once you have these things in place, the next step is to get the mobile phone app out. It can be a little different which I can write about next time.


-AV



  


Friday, February 24, 2012

Integrating Product Recommendations Engine

Product Recommendations are normally said to bring an increase in revenue by 5-10 % and hence are considered an important component of the website. Mostly all of them are built on the "K nearest neighbour" algorithm. In the past year I have worked with my customers to integrate either Avail, Peerius, Intelligent Offer or Rich Relevance for them. I was able to bring out the similarities in them which makes easy to find which one suits your need. I will keep the explanation on high level here. 

You will see recommendation coming up on the home page, category pages, product list pages, basket pages, order confirmation pages, product details page and even order confirmation emails or other emails sent to the customer and pages.  

The 3 broad based components for integration which are common across all.

  1. Back end data feeds to the engine
  2. User activity from the website to the engine. 
  3. Getting recommendation using the engine on the website 

Back end Data
On a daily basis, the website needs to send the product and category (taxonomy) data to the recommendations engine which in turn uses it to make recommendations. Some constraints that need to be observed on the data. Products sent should be in stock and associated with the category sent.  Try to keep the Product-Categories association as unique in the data sent as non unique data confuses the engine.  


User Activity from the website
Recommendations engine uses tags like Web Analytic Engine to collect user activity data. For eg,  Collect data when a product is added to basket or removed from the basket. Collect data about what is the user searching. Collect data about which product the user is looking at or collect data about which product the user has bought. The recommendations engine needs a good data history to generate good recommendations and hence it is advised that after integrating with the engine, it is good to hide the recommendations for about a month or two and let this data built up in the background.  If the is already live  using Coremetrics Analytics Engine and wants to use Intelligent offer for recommendation then this lead time is cut as Intelligent offer can get the data collected by Coremetrics. There are some changes that are required in tagging if you are using self hosted version of Coremetrics. 

Getting Recommendations.
1. Online
Just a simple JavaScript or JSON function to call to get recommendations. It accepts some product ids and filters in the fucntion call.  Product ids are the ones which the user is looking at or has looked at and are present in the history cookie and filters are categories or refinements based on which you would want to filter your recommendations. e.g if the user is looking at shirts then filters should be shirt category to show recommendations of shirts.
2. Offline or batch
The engine can export a batch of recommendations based on the data you export and then you can import this data in your DB, This has some performance benefits the dynamic characteristics or recommendations is lost as the engine cannot be engaged to do run time calculation based on user journey.


Suggestions for Design and Implementation.
Implement export jobs on Staging Environments to avoid load on production.
If you are using Javascript put all the script at the end of the page and trying using Ajax.
If recommendations are required on empty basket try using JSON or you will have to hack around cookies.

The main differentiator between recommendations engine is the Business Panel provide by them and the control you can have on which kind of recommendations you can display on a particular page for a particular product.  This is something that needs to be discussed and decided with the Business team. 

-AV

Thursday, February 23, 2012

Mobile Kiosk Using Tablets

In the last couple of months I have had 3 customers where we have discussed using tablets as a potential option for in-store ordering. To me this is a great idea and already implemented by some in the US and a people starting to change in the UK. Apple for example do it themselves and  Disney stores in the US has also implemented the same. House of Fraser in the UK has some stores where store users do carry an iPAD but its not complete in store ordering.

Why tablet and not the regular kiosk.

When you go for a tablet solution for kiosk, you use an external merchandising / commerce system via APIs. This architecture lays the foundation for many things like assisted in-store, unassisted (self service) in-store and mobile apps.   You can bring the web experience to the users in-store which includes and is not limited to showing reviews and ratings for a product, showing demo videos, showing recommendations of products that are bought together with a particular product etc. More intelligent apps might be able to handle in-store inventory as well which will allow pick up immediately after ordering instead of getting it delivered to home or store. Not to mention this is cost effective and relatively quick if executed correctly.   

Payment options
The preferred option for the customer will be use the card. Direct debit may be possible (and may be easier) but not explored so far. Since you have the customer in front of you, you should not be doing CNP transactions like you do it on the web. You need a card present transaction and for that you need to integrate a chip and pin device. There are a few things that need to be taken care of when integrating with chip & pin devices and they will be 

Tablets
Consider the cost of buying (or renting), breakage and most importantly theft. These are easy picks and you will be amazed to see how quickly they disappear if you don't have a proper mechanism to lock them down or trace them.


Card Device
Which device to use is affected by 
    • Company policy and preference
    • Payment providers support and accreditations. (A process which normally takes anywhere between 2-4 months for a new device)
App / Browser 
It is easier to integrate an locally installed app rather than using a browser based solution.  Browser based solution require an external / local service to fire up the pin pad and this could result in a very complex architecture with fail overs and DRs. If you are using app, the actual development of the app will be quite trivial but PCI compliance kicks in. 

PCI compliance.
The development of app needs to be PCI compliant as you card data passes through it. You need to disable all I/O ports on the tablet and no other app can be installed on it. There are many more things required to be done on the device but not listing them here else it will become a PCI compliance discussion. Again this exercise could be time consuming.

Screen size.
This was an issue with one of my customer where they wanted to use the tablet in a fixed position behind the desk. A tablet screen would have been too small for colleague to show it to the customer from behind the desk. To do it properly they will have to hand over the tablet to the customer which again can pose security issues. 

I would probably upload an overall block diagram of how things interact with each other. But a little later.

-AV

Mobile Internet

I tried using skype on my iPhone last year. Did not work on mobile network but was good on wifi. Tried Viber. Same issue. These are disruptive changes and are the future of mobile communication. Unfortunately the mobile plans that we buy are structured around generating maximum revenue for the network operators from called minutes and data plans are generally limited.

The future of mobile companies will be selling reliable mobile internet plans and less of the minutes blocking the revenue leak when users switch to wifi.  There needs to be significant change in technology handling mobile data though. Data connection on mobile are also not reliable and consistent. Walk in central London and monitor your data connection you will find it drops and comes back frequently. Once they are reliable users can select the call service provider like skype or viber. If the person to be called is on the same service it can result in a free call. Of course you need emergency calling also included and needs to be sorted out and this will be for the smartphone users only!  

May be a year or probably 2 before we start seeing good and reliable data plans!

-AV

Monday, February 20, 2012

F-Commerce

I just read the post on the failure of F-commerce. There is an interesting statement in the write up by Sucharita Mulpuru,  a Forrester Research analyst in Cambridge,Massachusetts. She says “But it was like trying to sell stuff to people while they’re hanging out with their friends at the bar.” So very true! Imagine yourself  sitting with a friend and happily chatting and having a nice cup of tea while a flock of salesmen whirling around you and constantly telling you something about the product! Your natural reaction will be to push them away and probably you would even start looking down on the brands being sold! 

May be its just not the right approach or the right product for that moment. But that does not mean that there is no way to do it. Back in Erlangen, I used to visit an Italian restaurant with my wife and son (3 at that time). Within minutes my wife would be cursing me for coming to the restaurant with him and within minutes of that would come and angel selling Roses! 5 Euros for 1 rose!!! He milked me, but I used to thank him then. In eCommerce world this would have been a "You may also like"   recommendation or "People who Fought here also bought" kind of recommendations :) But the point is he did manage to sell his roses at a place where nothing would sell! I wouldn't dream of buying a Nintendo there! Not saying facebook should be analysing every conversation or post ( or may be it already doing it! )               


So the first question is; Has facebook now become a place where people are interested in buying products? Not completely sure. In May 2011 Gigacom reported a survey by Booz & Co. indicating only 27% showing interest in buying on facebook and rest 73% straight away said NO. So what has changed between then and now in 8 months? Only the number of users from far eastern countries where online buying is any ways not working! And the number of users in the west decreased. I bet some of those 27% who wanted to shop on facebook went shopping down town or on other websites  ! :)

The next question is: Even with 27% potential consumers, are the companies doing the right thing to make them spend? 27% of a billion is still a staggering 270 million! The article which I read was about Gamestop shutting down its shop in facebook. That to me was sad. If a gaming company cannot engage people in a social way, who can? I remember my friends playing Mafia and post all sorts of message on their wall.  that was the game that interested them and was free and they could play together. But have you seen the free games available from Gamestop. "Willam and his Journal" Collect points by jumping on mushrooms! Take it down please! 

May be it is not a place where you should try to sell actively. May be its just better to leave it as a marketing platform for companies and generate leads and do the selling on your site.  Nuts are hard until you crack the first one. Rest becomes part of history!


-AV

Tuesday, July 26, 2011

The Mammoth Goes Live Today!

Visit tesco.com/tescobooks and you will see an ordinary site in fact ugly looking with many issues which will frustrate you as a user. You will not see a navigation on most of the pages and once you go to some areas of the site the only way to come back will be using a browser back button! the big images will hurt your eyes and login accounts that worked before will suddenly disappear! And the books that were available yesterday might not be there today!

Keeping aside the user experience (which I hope will be fixed in a few months to come) this is the single most biggest successful implementation in the world. Except the warehouse every thing is brand new for the books department. A full stack of 20+ systems went live on a single day. It is every programme managers nightmare and a good amount of people have lost their jobs! But it is finally out! There is not much you will see from a users point of view, but be patient and let it breath and grow. Its a platform which will allow Tesco to react faster to the market, and bring a lot more new things to the user in the future. 

A big congratulations to the full team working on it, some have been working on it for more than 2.5 years! This is surely a reason to celebrate.

-v

Cost and Time Over Runs

There are so many reasons that cause cost over runs in projects. Over the next few blogs will be detailing some points that can be taken care of specially in large projects. 

A large majority of projects go into cost and time overrun because of the skills of the people working on it. It is easy to catch that a vendor promised something in X million and Y months but was unable to deliver because they could not finish the development in time. It is however very difficult to assess and keep track of time eaten up by BAs and Test teams and Project manager disturbing the development team and eating their time and adding to the cost.   

For example I hire a resource to take care of the requirements from the business point of view and he keeps on calling the development team for 4-5 hours in a day asking questions which will enable him/her to understand the project very well but adds no direct value to the project. It is required; but not estimated in the estimates of the development team. Such situations arise very frequently in long running projects because of people movement.  depending on the size of the project and responsibilities of the new joiner.

This cost is different than the ramp up cost. In ramp up we assume that the cost of the new joiner not being productive for 5 - 10 days. But we take into account the cost and time spent by existing team in bringing him up to speed. This cost rises significantly of the new joiner is new to technology as well as domain along with the project. I don't have a rule of thumb yet to give a percentage you can add to the original cost when a team member is changed midway or a team is built with fresher BAs. I have been stung by this in the past 3 projects and I plan to introduce a post ramp assessment process which will give some indications of what can be expected from the person.  This also stress and confirms the fact that a knowledge management plan should be part of the overall project plan. A point to note though, knowledge management plan will reduce the cost but will not eliminate it.   

-v



  

Tuesday, June 14, 2011

Chapter 6 - The UX Review Vs Profit

UX Reviews
UX Reviews may add value, and same is the question is with external code reviews for inhouse solutions. But striving for perfection in UX is very difficult. Every time a bunch of users test your site you are bound to get a new feedback. The focus hence should be to go live and start the flow of money first and then put more effort on how to maximize profit with the amount of sales that you achieve. Once you are here then you can think of increasing the conversion. Getting a higher conversion definitely feels good but it is not worth if at the end you loose money becuase you spend far too much for getting the customers on the site.

In my past experience one of my customers went for UX review when they are replacing a platform. There are 2 mistakes here. First, as mentioned in my previous post, these are additional requirements over and above the change of platform. Second, Focus lost.

Now consider this; you ask me, to check with some sample users if my page is good enough to tempt them to buy and agree to pay me for giving a report. And because I am the "EXPERT", I also get paid additional money for telling you, what you should change on your page to make people buy. There is no accountability for my recommedations as there is no way you can validate the result and I still get paid! Who is going to tell you did a good job and there is nothing should change? I won't!

So, First Launch the new platform and keep the UI same as the previous one, then get the analytics on the new platform  and  if you find something is wrong with the conversion, change; but step by step.

If at all you get the reviews done then stick to one single company. If a new company does a review for the second time it WILL find issues with the recommendations made by the first one. It is the nature of the job; get paid by proving others wrong - and the speciality here is no accoutability!

When I talk of Analytics it is not the regular Web Analytics. In one of my recent project, our customer  requested to change the colour of the "Add to Basket" button from Green to Blue! From the web analytics of the small A/B test they did, they found Blue converts more than Green! Looks like absurd analysis but even if it was true at the end of the day the business would have been loosing more money by getting more orders becuase their operations where not streamlined. They were also spending too much marketing money on some of the products and the cost of the product did not consider all investments made. The best approach is to get the business model and cost structures correct and then increase the conversion. But you need the right tools like Intelligent Trader from eCommera to do this kind of analysis. UXreviews and web Analytics cannot help you achieve this.


Ofcourse this does not mean you can afford mistake that happend at Waitross recently.But if it aint broke dont fix it. Bottom line is Making Money should be the first target and improving an already acceptable and base lined usablility, second.

-v

Wednesday, June 8, 2011

Chapter 5 - The Contract

I am not sure why but sales teams write contract for many companies. Contract writing is crucial to understanding the line of responsibility. If it is a standard product offering or SaaS models the contract is straight forward but during customizations and services, it is very much dependent and what the client wants. Since the sales team is near to the customer it is assumed they know what the customer needs and hence they write the contract. The first point of failure. Sales teams have targets to achieve and should stay away from the details to be put in the contract. The commitments made by them needs to be delivered by someone else.

It is also important to ensure that one who writes the contract has prior experience of doing so, else he should just be assisting and not owning it. A loosely worded contract is always harmful for the vendor. No management wants to enter in a legal battle with the customer. But ironically, it is the customer who ultimately suffers delays and financial losses.

I was assisting my manager in writing a contract when he needed an statement of work. Even after explaining him the difference he would not appreciate. Finally after 5 months it all came down when we were ridiculed by the customer for not knowing basic thing.

I need a FIXED PRICE. Managers who take the decision to go fixed priced from day one have a simple assumption i.e. Since it is a platform, it has to be standard and should have been done before and hence the integration vendor should know how much effort it takes. But unfortunately the integration team just knows the product (also not completely) and not your requirements. A fixed priced implementation can be easily sold  as a simple remedy to all your budgeting and IT spend forecast issues. However, it is very difficult to manage and practically fails and proves more expensive, if you try doing it before the requirements are finalized and a high level solution design has been approved.  As a customer, you to understand the gravity because when a project fails finally you will miss the target.

From a vendor perspective, handling a fixed priced quote is extremely tricky. Scope inclusions and exclusions need to be explicit and thorough. It is best to have an experienced technical manager write the scope. Loosely worded contracts fixed priced projects are bound to be exploited by customers. A statement like "Business would like a system to allow its suppliers to induct product on their own" without any other subsequent rules can lead up to thousands of days of implementation effort.

The only thing you need to watch in time and material contracts is, the quality of resources and their intentions. No human would love to finish work, if he is paid to continue! Effortless reselling makes people greedy and lazy. T&M contracts give you the flexibility to change halfway which is missed in fixed priced implementation but there is a danger of getting lost if you do not exercise control.  

Another item that has come up these days is penalty for missing the target. You can never close this correctly and efficiently. The vendor / supplier will find 100s of loop holes in the penalty clause and you will end up spending more money in proving him wrong than recovering from him.  Working more cooperatively is a win win situation and always preferred.

Finally, you and only you, as a customer, have to control the project and put it live. Others can only help you but cannot do the job for you.

-v



  

Monday, June 6, 2011

Chapter 4 - The MultiVendor Nightmare

Back in 1990 and early 2000 large outsource deals were signed and where a part of IT operations was give to just one vendor. Then came the era that individual programmes were given to single vendors but multiple vendors  existed as partners and suppliers to one single organization. Stage 3 is multiple vendors in the same programme and this seems to have plagued eCommerce programmes specially.  

It is a fact that more than 30% of the worlds non innovative code is written in India. Equally it is also a fact that if you are a big organization you have an Indian IT Company as your partner or service provider and will have an account manager from your partner organization sitting within your premises. The role of account manager is different for service provider and product company. The account manager of a service company is given the job of expanding the footprint in your organization apart from ensuring service delivery of agreed services. Understanding this role and its KPIs can be very useful in getting your work around the service provider as account managers as the most influential lots in the service provider's host organization.

If you bind the contract correctly, a single vendor system can be a very healthy and progressive relationship. Lack of competition can create a laggardness in resolving issues though. But then you cannot treat them as vendors, they are just like your own organization. You have to live with them and get around their issues and see the commitment and knowledge the have about your platform and business.

When you loose trust in this model you go for the multi vendor model and some managers go overboard in sourcing the best resources in a single life cycle stage from different companies! For eg. building the infrastructure team with resources from 2 or more companies and independent contractors each of who has been an expert in his field. This model lacks accountability and fails sooner than you can think if you have the lead of the team also from one of the vendors. If you have your own, above average, capable employee handling this, then you can expect some results to come out of this.

Another scenarios is where design is done by one vendor and development is done by another and solution support is a third one. I remember worlds biggest retail player had this model and it introduced only delays. The subsequent partner in the chain is always going to find issues with the previous one. Again loss of accountability and unclear lines of responsibility. I was supporting a platfrom where second level was provided by my team, infrastructure was provided by a hosting provider. Unclear lines of responsibilities was always the primary reason when we used to push the issue over the border. I am guilty, but the setup forced me to do it as one of my KPIs was to keep the issue lower and this was an easy way out to dose the fire. This setup is extremely common in a cloud hosting. However the scope and responsibilities are very well defined in this situation now and we hardly have the issue.

A multi vendor scenario works only with clear lines of responsibility and governance in a single project / programme. Normally it is beneficial to have a single project with a single vendor. All other models have considerable more amount of challenge in management.

Contract issues next.

-v


Wednesday, June 1, 2011

Chapter 3 - The Support Team Management

The most common error when it comes to rolling out a project is not having the support team in place in the time required. Most of the time there is so much focus on development that Programme Managers forget support needs to be in place before the project goes live. 

The challenge is not just to get the resource but the get them to know the technology and project. If its a grass root project then your existing will not have the skills and if you are working on a technology replacement then your existing team will have requirements that will need to be managed and above all your existing team will need to know the new technology and accept it.  

I joined a project to manage support in Central Europe on the day the site was going live! The next time it was a little better. The support team was in place before going live but they were in love with their current process and created a lot of noise around the solution developed which eventually caught the higher management's attention and unnecessary issues and delay.    

Depending on the size of the project, you will need at least 2-3 people in the project who know the technology platform well. My manager gave me a team of 4 where no one had worked on the technology including me and we were pushed in the project on the very last day! Sleepless nights, but still cannot deliver what was expected!

There is a dangerous strategy applied by companies where they seek entry by showing credentials on the how successfully the have supported live eCommerce sites with their 24X7 module and then slowly show you the capability of their support team on the project and ask suggest they can take the development as well. I have been twice handed over projects by our sales team where clients were lured with this illusion. There are some facts which should be clear. Support team members are NOT developers! They look at a different side of the world and they have a different skill set! Supporting a live site on a platform does not mean that you can develop on the platform with out assistance. Yes, it is easy for you to understand how the system behaves but this is miles away from being able to develop. And if the support team starts developing who is going to support? 

Also to be frank, providing support with team in UK and US is just expensive but effective. There are too many overheads to support a live site from remote locations without any local presence.  You have to make sure that at least one person is there locally to handle the business team else you are running. Again different teams managing different part of the support function is a good break up when it comes to reducing the risk of too much dependency on one vendor but is a nightmare to work out the integration. Specially if both / any one vendors offer complete services and you have selected only a part of it. There are OLAs possible between each one of them but they don't really work as such vendors are always up to grab each others business and not full attention is given to do the job at hand to the fullest.  

I was servicing L2 when Infrastructure was serviced by another vendor team of the customer and L3 was done by the vendor who developed the site. After the services were stable my main KPI given to me was to get a pie of Infrastructure, L3 and a bit of development as well. So even when I would want to focus on getting the system stabilized and metrics correct part of my focus was diverted because of this.  

In another assignment I was leading development and customer staffed the support team with contractors and consultants. This never again is an issue because these contractors work on time and material basis on short term contract and don't have the ownership to put the ship on the right track  This resulted in massive delays as simple things too much more time to get resolved  as there was no incentive for the contractors to complete the work in time or earlier and good benefits of pushing it because each one of them was paid more than 600 GBP per day!

The Golden rule is to have key internal players with the right technical experience, training and KPIs be supported by a responsible external vendor and clear lines of ownership defined.   

Next - The multi Vendor NightMare...soon

-v







Friday, May 6, 2011

Chapter 2 - Requirements & Release - The Mother of all mistakes!

The project should go Live
The heart of any project are "Requirements". Whether you have got them right or wrong can be seen only once the project is live. Customers can give you the best feedback. But to get to this stage you have to go live! And that is the most important target! The project, should GO LIVE!

There are simple and practical approaches for the 2 scenarios when you launch a site. 

Scenario 1 - if you are launching your site for the first time, go with most of the out of box functionalities of the underlying platform product.
Scenario 2 - if you are replacing your platform select a platform which has most of your existing functionalities as out of box and limit the first release to existing functionalities even if customization of the platform is required.

Ecosystem Requirements while Replacing Platforms of Existing Sites

The second scenario above is the tricky one and lessons learnt here can be applied to the first one as well. Should not go for replacing only because some other platform has good out of box features. You think about this when you have substantial revenue coming from your eCommerce channel and you platform is not scalable and that should be the only reason.

Moving Requirements
Existing business is going to have targets to improve and integrate with the brick and mortar parent! Business teams are faced with this problem more than often and they never arrest this and make the biggest mistake of asking the development team to develop against a moving target! This way you will never go live!

The risk increases more when the project business team wants to have more requirements in the new site than in the existing site and these are different from the new features on the existing site! Programme managers and Project managers also get lots of requirements from their ecosystem and they spend large amount of time trying to ensure that their project / programme should gel with ecosystem. The hard fact is, with this approach, you will never go live!

Show n Tell Changes
If visualization is possible, it is a very good practise to constantly show the customer what has been develop  . However its a double edged sword and needs to be handled with care!  The benefit is once the business see what is done they might not ask you change as they now it will need more time and some other important functionality will suffer. Which is good! But it might also happen that when they see something they want to change because it does not come out the way they thought it would when they wrote the requirements!

Frankly the best solution would be a directive from top management to hold on improvement on the current site to allow the new platform to come in. But this seldom happens!


Here is an alternative approach for the above issues.
  1. Set a cut-off date and note the requirements to this date and make the first internal release to this date and don't incorporate any environmental changes. 
  2. Do a show-n-tell with project business team and existing site business team.  
  3. Prepare a project plan for the next release to bridge the delta. 
  4. Iterate again. 
  5. Keep the delta's short! 
  6. Ensure project business team and higher management understand why you do this (easier said than done!) 


Lets say we have Alpha, Internal, Beta and Public releases to iterate over.

  1. Alpha will be your first release with the requirements agreed on day one and is only for project business community. This will make sure that you entire end to end channel works and all support process area also in place. 
  2. Internal can have some / all gaps mitigated from the existing platform and is for internal employees. This
  3. Beta is for a small community of users with all the gaps mitigated.
  4. Public is the final release. 


Before working anything like the above a fit gap between existing platform and new platform is a must. Upto 20M it is observed that business do not explore new features a lot and hence above approach is not required. 20-50M might be difficult with the approach as businesses try to retain customer with additional features and eCommerce channel data is moderately coupled into the spine of the actual business (if not a completely online business) and above 50M the eCommerce site has too many interfaces with its eco-system and tightly coupled making the above plan almost inevitable.

In the flow above we touched another topic above which is Big Bang Vs Step by Step. Lets discuss this in the next chapter.

Replacing too many systems at the same time. 

I have seen this failing twice now and I believe this is practically suicide.  It is every business stakeholders dream to have the best systems working harmoniously on a single day and all being switched with one click. Right from Warehouse to Website there is a big stack of technology involved. But it is practically impossible to change them all in one day and the chances of failure are a 1000 times more than success. Replace one or two NON linked systems at a time.

Millions are spent in getting the correct approach for Scenario 2 and still most projects fail or get painfully delayed because the above issues.

-v

Lessons Learnt in eCommerce Programmes

I have been part of big transformation programme in the UK for one of the world's largest retailer and was a part of the eCommerce venture of the second largest sports company into Europe and North America. I currently work as a solution consultant for retailers in London. Normally when a programme fails by default the implementation part is on the line of fire. However when you see closely there are some mistakes which if avoided could have brought different results. 

Since I worked on different areas of eCommerce implementation and support, this cannot be completed in one single blog and hence will be writing different chapters over a period of time. The information provided can be useful to Business stake holders, IT Programme and Project managers. If there is anything that is of specific interest and is not in my blog feel free to connect and I will try to find relevant information and send across if I dont have experience on it. And if you find you can contribute a different experience write it up and put the link in the comments. 

You will find a lot of material on the web which tells you what you SHOULD DO to make an ecommerce programme successful. However it is difficult to find things which tell you what you SHOULD NOT. Thats the only reason I have taken the reverse approach.

Chapter 1 - Resource Management

There are many type or sourcing issues but the the biggest of all is experienced skill set for the role. It is very dangerous to build a team with people who are not experienced enough to play the allocated role.  This causes nothing but delays as such people learns on the job. 

If you are a business stake holder or a lead in the implementation team,  it is your responsibility to ensure that not only your team is staffed sufficiently with the right number and quality of experience, but also your counter part team has right level of experience to compliment your team. Most of the time we give importance to fetching the development team with the right skills but we forget that the person who owns the requirement should be capable enough to play his role. Staffing a BA with 10 years of Banking experience is a eCommerce website project is perhaps a bigger risk and issue than getting a developer who has worked on IBM and not ATG Commerce.  Looks an obvious statement but still happens all around. 

Apart from the development teams, role-to-skillset mapping issues are seen generally observed for Programme Managers, Release Managers, Business Leads, and above all QA teams. And the most common skillset missing is domain knowledge and prior experience of releasing a transactional website specially in the QA domain.

Apart from skills, the time to start staffing is also an issues. Since all the focus is on development it is found to be a common mistake to get the operations staff in time and give them sufficient time to prepare their processes.

Project change management is a skill and an art which only a few have mastered. Most projects fail because of the failure to arrest change and wild thoughts of the business team. You cannot allow your business team to behave like a have a "Toddler In a Toy Shop"(TITS) Syndrome!I want this, and this and this ...and...everything!" Staffing of a project / programme manager who has seen a previous project getting "successfully" executed is a key factor. Domain knowledge is as important as being Prince2 or PMP certified.

From the technology partner perspective there is a massive issue of role-skill mismatch. This i have seen specially with Indian Software Service Providers. Resources of these companies are jack of all trades and master of none. partly it is because of the past growth of companies and their hunger to grow more and partly because of the model they operate they cannot afford to keep resources to only 1 technology or platform or domain. If you as a lead staff resources just to show a face to the client then there is trouble. I think the respect will be more if you can say "We don't have this skill in house and hence cannot staff".

In a nutshell, development team is not the only area of your project / programme where the right skills are needed. It is mostly the other areas which fail and bring the project / programme down.

Next Chapter on Requirements will be there soon.

Wednesday, May 4, 2011

Commerce Website and WebApp

A very common mistake most of the business users make is to not differentiate between a commerce website and web application. Both are significantly different in use and serve completely different purpose even when you open them in the same browser!

A web application is something you use mainly inside your organization. For example your leave application system, your claims system, your resource allocation system and every other system that exists internal to your company. There are external web applications as well however they are mostly developer focused and dont fall under a common man's perspective. These applications mainly focus on functionality. Performance is a focus but no one is going to stop visiting them if they run a little slower. Yes people will start complaining about the waste of time and the IS team will be forced to refactor a part of the code to make it run faster. Hence these applications can be intelligent enough to do dynamic calculations based on user input and implement funky algorithms.

A website particularly a commerce website has to run fast and show things to the user on the click. Users dont sit to wait for the page to load. Transactions websites have to be dumb. If the data exists, show it else show something else. No calculations on the fly! This is an important concept which most of the business community does not understand when they are in the process of coming up with a transactional website and discuss suicidal requirements with their implementation teams. A lot of time and money is wasted first in convincing them that this should not be done and when they use their veto and get it implemented, in fixing the performance of the site. But finally since the implementation teams get paid for the time spent its the business team that looses. 

-v