Monday 4 March 2013

Marching to the beat


It's amazing how many parallels can be drawn from an IT project to reflect many situations in life. Let me start by giving you my definition of a project as it may help to highlight the point I'll be trying to make here. 

A project is a group of individuals working together to achieve a beneficial outcome

Quite a simple a high level description but I personally feel it succinctly describes what it projects are all about. Like any machine you can care to think of, it's a sum of specialised parts brought together to perform specific tasks, each component has a responsibility to the whole otherwise the machine will work inefficiently or in the worst case, break down.

Now I'm not going to have some cliched or kitsch analogy (for once) about certain roles being separate parts of the machine as I think that's been done to death but I do want to talk about the importance of the single most important aspect of any project and that is the outcome, the goal.

Now I know that projects fail for a variety of reasons which are many and varied (and well documented) but, in my opinion, one of the most important and avoidable reasons is making sure that everyone involved in the project from the executive sponsor, right down to the developer realise that they are part of the whole.

I'm sitting in front of my TV at home right now watching a military documentary and they currently have a number of soldiers marching in ranks, each soldier is marching in-step with his colleagues, everyone going at the same speed, in the same direction and all heading to the same place. I thought about some of the projects I've worked on in my career and as I expand the the thought I imagined what some of them would have looked like in this setting. Try and picture it yourselves,

  • A bunch of soldiers running off in front of the group, 
  • A few individuals meandering off in a completely different direction
  • Some people standing still looking bemused and finally my favourite
  • The group of individuals trying to rein in the group all shouting conflicting instructions

A project team can only operate successfully  if everyone is working for each other, all going in the same direction, all making sure that everyone understands where they are going, what their role is. It's not a complicated or impossible task but it is surely one of the most important things you need to get right from the start and something that can be easily overlooked as the project picks up pace.

This concept also scales out from the team and can be applied to programs and even large enterprises. It's certainly something to consider when you are looking at starting a project and thinking you can save time by cutting short the kick off and planning stages.

Wednesday 27 February 2013

You Can Lead a Horse to Water but it takes a Good Change Management Process to Make it Drink


Looking around the room where I am writing this gave me the perfect inspiration for the beginning of a Blog I've been wanting to write for a while but never had a way to structure it in own irreverent style. 

I'm currently neck deep in reviewing, amending and updating documents: statements of work, proposals, designs etc... (It's a busy day) and to do this I print them all out and go through them with a pencil and make my changes on this treeware I have created. I have M*******t Word, I have the ability to turn on track changes and that would be a much greener and efficient way of doing the task I am embroiled in, but for some reason this is the way I do it and it would take a metaphorical team of horses to make me change my behaviour. I'm the proverbial tradesman with a bag of tools but I will use the hammer in all circumstances.

Now this is a small trivial example but to those of you have released new systems into businesses you'll see how this problem, and others like it, scale out to be much a much bigger issue for enterprises. 

In my Salesforce.com and Cloud career I have spent most of my time scoping, designing and creating systems that encourage a collaborative and joined up way of working for businesses, the 360 degree view that Salesforce claim is not just a clever marketing message, it's an achievable target that you can hit with the right planning and vision, but building and deploying the system is only half the battle.

Now to go back to my original point, everyone has their own ways, their own little systems and processes that they go through in their day to day job and if you manage a team, trust me when I say the next line. 

You don't know how your team are doing what they are doing day to day!

I'll ask you a simple question to quantify that statement, how many of you reading this get critical information that they need to run their business from a spreadsheet that "someone threw together a while ago" as a temporary workaround? How many of you know where the data comes from that goes into that spreadsheet?

Now for the sake of variety I am actually going to loop my blog round to my original point in the beginning and actually finish on the topic I started with ;)

Imagine the scene, you've just paid out for Salesforce.com licenses, your implementation partner has come in and configured, customised and set up your org so that its now doing what you need it to do and three weeks after the launch you still receive the spreadsheet on Monday Morning with the sales figures for the previous week, what went wrong?

Change Management is a vital piece of the puzzle when implementing new technology, an old axiom springs to mind when I write this "You can lead a horse to water, but you can't make it drink". While this is true I'm hoping my audience doesn't consist of horse trainers or my next statement won't make much sense. You are not working with horses! You are working with intelligent people who want to do their job well. You are however trying to change their world and this is where we go back to my metaphorical team of horses being needed to make people change. But it doesn't have to be that way! change Management is not a hammer, it's not a stick you use to beat people into compliance, it's collaborative, it's informative, it's a way of educating people to see the benefits of doing things the "new way" . It's a vital component of any project where people are being asked to modify the way they work.

I'd like to finish this with a final analogy (last one I promise) and  a question that I hope will emphasise the importance of change management. A person who has been digging ditches for 3 years with a spade is suddenly presented on Friday afternoon with a JCB digger, no warning, no training, no consultation. Ask yourself this question, what do you think you'll find them doing on Monday morning?


Wednesday 20 February 2013

Integration, the old enemy

Blogs are very much like buses, you spend ages waiting for the topic worthy of sharing your perspective on and then you get a couple in a short period of time. Today's topic I wanted to discuss was the wide ranging topic of integration with a particular slant towards the Cloud.

Lots of people will be willing to wax lyrical on this topic for seemly hours on end but there is no need for this to be a scary or daunting thing for people to take on. There are a lot of complex issues wrapped up in the subject matter but like all problems, once you know what you want to do, it can be broken down into a series of smaller activities which are fundamentally much more straight-forward and at the risk of jinxing myself, actually quite simple.

If you take the simple and a-typical integration cloud scenario of linking Salesforce.com to an SAP system you first need to make your decision as to what integration is necessary:

  1. Does the integration need to be two way?
  2. Do you need a special integration platform such as Informatica, an ESB, MQ Broker, etc...
  3. Do you need "real-time" integration, interval (delta every x minutes) based integration or regularly scheduled batch integration.
  4. Technology, Web Services(Synchronous or Asynchronous, RESTful APIs, Flat File, RMI, etc...)
  5. What messages / data / objects will be passed between the systems

So to go through this (admittedly oversimplified) checklist we can answer the above scenario:

  1. For the purposes of this scenario I'll say the integration needs to be two way, e.g. the product catalog and price list needs to be taken from SAP and the orders need to be sent to SAP for fulfillment
  2. The business has indicated that in future, additional systems such as a finance system will need to be integrated into the solution so we'll say yes, an integration layer will be a much more future proof solution. (I personally would always recommend an integration layer in most cases)
  3. The timings are interesting as the product catalog and pricing can be loaded into Salesforce on a batch process, the reason being that this information would not typically be changed ad-hoc and therefore would not be changed regularly. Salesforce will need to send the orders through "real-time" so this integration will be different
  4. Again, the implementation strategy can drive this, for SAP to SFDC we can use Flat Files or API calls to Extract, Transform and Load (ETL) the data. For SFDC to SAP (assuming we have chosen Informatica as our integration platform) we simply have a connector for SFDC and a connector for SAP and that is the way we'll integrate.
  5. Now we have the answers to the first 3 questions we can now start to map this out.

As you can already see, by breaking down the problem into it's consituent parts, the problem becomes much more easy to manage. Now the devil here is in the detail of the interfaces but again this can be broken down into baby steps:

  1. Who is the master of which data components
  2. What are the process maps (this can be as simple as a visio flow chart showing the process)
  3. What data needs to move from System A to System B
  4. What interfaces will be needed to support the transfer
  5. And last but certainly not least, What do we do when something goes wrong?

Again I have oversimplied this process and left out some of the steps you would take on an integration project / design but I don't want this to become a weighty read, just get across the point that Integration is not just a big bag of snakes waiting to bite you. Like most things in IT, it's a process, a series of steps and checkpoints you go through to get to the desired final state.

So next time you look at your next integration project keep in mind it's not one huge problem of nightmarish proportions, just a problem that needs breaking down and solving in a methodical, process driven approach.

Tuesday 19 February 2013

Everything Is For A Reason (or you're never too old to learn something new)

Being in the role of a Sales Engineer I tend to spend most days either in a car or on a train travelling to meetings to meet new customers, catch up with existing ones and mostly support the sales guys by listening out for new requirements and thinking on the fly high level approaches to solving them. It was on the way home from such a meeting I was sat on the train typing up my notes, for once I hadn't got my headphones on to drown out the background noise, and I tuned into a very animated conversation happening between some fellow commuters.

The conversation was essentially a person trying to explain some issues they were having with a collegue at work and attempting to explain these issues to their fellow traveller. The conversation had become so animated owing to the fierce competition that had sprung up between them to dominate the discussion. Whilst the first person was trying to articulate the issues they were experiencing, the second was firing solutions into the mix faster than a machine gun and the frustration was mounting from both parties.

As luck would have it, I was able to get off the train at my stop before this exchange descended into the inevitiable argument but the exchange resonated with me as it symbolised to me a problem I myself am prone to suffer from (and those around me have experienced, sorry guys, work in progress) and that problem is to know when you need to be quiet and listen and more importantly when is the correct time to speak. I remember the owner of a previous company offering the following advice to one of my colleagues:

"You have two ears and one mouth, this is because you should spend twice as much time listening as you do talking"

Obviously this wasn't the first time I'd heard this, my parents having quoted this truism to me repeatedly as a child but it was an eye-opener to hear it in a work context for the first time. While this axiom can be taken verbatum, you must also remember that whilst you have two ears and one mouth, you also have a brain! and it's this that should be used to tell you when you should listening or talking. So remember next time you are in a meeting, in a workshop or with friends in the pub, listen to what is being said, think about what is being said and then using what you have learnt from listening and thinking, then decide whether it's time to talk or not

Monday 21 January 2013

Is it time to move house?

Once upon a time there was a seismic event known as the dotcom boom where all business moved to the internet, ecommerce sites led the way and were the tool of the time to leverage this new powerful new sales channel. As the tools and methodologies matured the solutions became more sophisticated and allowed ever more data to be captured about the customers of these businesses and what products or services they were purchasing right down to their birthdays. For a time, this was then simple, normal, the standard approach. The customer used the internet, came into a high street store or gave them a call on the phone. The systems were integrated to allow the same customer information to be available to telephone operators (Sales, Customer Service etc...), store clerks and the online decision making systems that would offer contextual offers or dynamic discounts based on the customer currently undertaking that journey.

For a while this worked well, Marketing teams got better at analysing the data and segmenting it into manageable information that was actionable. User experiences became more tailored and customised, offers and advertising were more targeted to the user and began to get a better return as the offers were of interest to the users and slowly but surely the picture became as complete as possible for these businesses operating in the internet space. Customer service was considered value add, yes you may lose a single customer if you didn't get it right, but it wasn't like word of mouth extended more than a handful of people.

...Fast Forward 15 years and we are right in the middle of the advent of the social media eruption...

Suddenly Twitter, Facebook, LinkedIn and other tools allowed individual people more power than they have ever had before. The social media space suddenly gives the individual a voice that everyone can hear and is fundamentally changing the face of Customer Service and Brand Management. It blows open old ways of doing business via the internet and highlights massive gaps in the understanding businesses have of their customers. A great example of this was highlighted to me the other day by a colleague working with a massive global Enterprise customer.

One of the tranches of business this customer provides is printers and printing supplies to both businesses and individuals and traditionally their customer service operations were geared towards providing a better level of service to business customers as they traditionally did the large, considered purchases and the business was keen to provide them with exceptional post-sales service. Social Media has seismically rearranged the landscape here! Ever since a part time nanny called Molly Katchpole, businesses can no longer afford to ignore the individual as they now have the power to do massive damage to brands and share prices. Customers now expect the highest level of customer services from their product and service providers.

Now how can businesses do this? How can you now get to know a customer who has access to multiple channels of communication? An individual who can speak to the masses every bit as effectively as your marketing department, and how can you learn all you need to know about this customer to give them the service they require?

Yes, there are tools out there to help you do this. Radian 6, Salesforce, Buddy Media, BlueConic and Eloqua being the first few that sprint to mind but the most key word there is that they are tools!!! I myself am not particularly gifted in the realms of DIY although I have every manner of tool conceivable, I have Hammers, Pliers, Drills, Spanners, tools for tiling, tools for plastering, tools for woodwork, tools for plumbing, tools for brickwork and masonry and a whole separate toolbox for stuff I'm not quite sure what they are for but they look as if they have been used at some point in their life. My point to this reference is that I wouldn't decide one day to build a house based on the fact I have the correct tools for the job. I admit I can Google and watch YouTube videos to tell me how to lay foundations, lay bricks, insulate walls, put in a central heating system but the simple fact of the matter is I would be very quickly swamped with data that I cannot make any sense of and certainly couldn't be able to action as I'd find myself plastering walls before putting in the electrics. The resultant mess would be catastrophic.

To expand my analogy, to get to know your customer in an ever changing environment you need to think how your house needs to be built, who will be living there(Individuals, personas and customer demographics), what sort of style they like (What products or services interest them), what rooms will be necessary (Marketing Segmentations). Only then once you have thought about this you can begin the journey to truly knowing your customer, knowing what makes them tick, knowing what they buy, how they behave, who they interact with, what they are saying about you. The old dotcom houses were great at their time, they were the right size, the walls were all magnolia and the one size fits all approach seemed to be more widespread than you would imagine but these houses are getting old, they are no longer big enough, they no longer do the jobs we need them to do. In short, new houses are needed for modern times.

With the ever increasing amount of data being gathered about customers from Tweets, posts, blogs, cookies, online purchases etc. it would be very easy to take all this and try and pack it on, build an extension if you will pardon one more stretching of the analogy but we the advent of Social Media, I believe it's time to think about moving!