Are you a business owner who wants to implement a new system in your business? Are a technology or system developer who wants to deploy a new digital project for a client? Are you a new programmer who want’s to get your hands dirty in projects management? Or just someone looking for system implementation best practices?
If you’re either of the above, today’s article is for you.
I’m writing this article as a reminder, first, to myself and, second, to my team who will be implementing more projects in the future as we, SmartB, continues to grow as a technology and consulting business. These are the lessons that I’ve learnt in the early of being in this business.
1. Have an Extremely Clear Scope of System Implementation
Start your project with an extremely clear project or system scope.
This is probably one of the most difficult area to achieve especially if you are dealing with small to medium size businesses. Many of the clients don’t have the resources to hire professionals to help draft out the scope. Hence, more often than not, they hire you (the developer) with only a rough idea of what they want.
Now, let’s be clear. This does not mean that they don’t know what they want. It’s just that they have not spend enough time writing down the details of the project.
Why is this important?
Well, imagine yourself travelling to China. And you want to visit a few places within the northern region. Unfortunately, that’s the only thing you have in mind when you depart. Do you think you’ll be travelling around in a few places for awhile?
Like travelling, and unless you have plenty of time and money to spare, you’ll most likely having to spend quite a bit more money and time before you get your project completed. And when it comes to system implementation, the financials can get quite heavy.
Another crucial point on this is that, sometimes, it’s not even about the money. Some clients have the money to splash especially if they find a good and/or skillful developer. However, if you don’t get this right, this project might hold you back from doing other projects.
2. Get a Project Manager
While I’ve already written an article about this topic (read here), I’m probably going to just add a few more key points for you today.
Essentially, your project manager is really the key person who is taking control of the steering wheel. On top of all the things mentioned in the previous article, the project manager also needs to take charge of your client.
Yes, whether the project manager is hired internally by the client or not, he/she needs also to manage the client.
This is extremely important especially if you have clients who is flicked minded. As mentioned in point one, this can be troublesome if the client changes his/her direction once every 2 weeks.
Thankfully, I’ve had the opportunity to have had worked with project managers who have steered the project with clear goals. Jack (not his real name) would often tell me, “Alwin, if you don’t hurry up, the boss will change the scope again”.
3. Get a Delivery Checklist Done at the START
When you start a new project, you would want to know what is the outcome, would you not? You would, more or less, already know what will the system deliver and what are the benefits involved, right?
I’m sure the answer is yes for many, especially for tightly controlled budgeted projects.
Because you have a clear project outcome, you should be able to start listing out the delivery outcomes. Of course, for the seasoned developers, this should be in the documented project agreement already.
However, what I’m suggesting is not just a scope.
In fact, I am referring to the checklist that all developers (both junior and seniors) when they perform the user acceptance test (UAT). And you should get this ready from the Start.
You see, when dealing with projects, you should already have the expectation that things may change along the way. Sometimes due to unforeseen circumstances and, other times, due to client changing their minds.
Also, if you are entering new territories (like what SmartB did when we started), more often than not, you really don’t know what you don’t know. As you focus on those areas, you can easily lose track of your direction.
Hence, having a checklist from the beginning, you are able to hold on to your compass at all times.
4. Do a System Implementation Mock Up
It doesn’t matter how easy or difficult your project may be, you MUST always do a mock up of what you are building.
Just to be clear, the mock up is not just for you. The mock up is for everyone in the project. It’s as if you are having an vision board to show everyone and you want to make sure that they are in the same page.
Also, the mock up can be as simple as a drawing, a process flow or even sketch of the final project. While it should be obvious to many, many forget that, the bigger the project, the more time you should be spending on the mock up.
This is extremely important especially when preparing the project quotation for your client. If what you have in mind and what your client have in theirs are different, it’s much easier to resolve it at the start.
Fortunately for me, I managed to learn this with smaller projects.
And that’s the key message I’m trying to make. Clients can have a different expectation even for small projects and, since developers take it for granted that they fully understand what is required, they end up spending more time and money than they should.
5. The Devil is in the Details
Never ever underestimate any projects that you may undertake.
As a project consultant and a business owner, the one lesson that I’ve learnt (and I’m still learning) is that you really cannot predict how things might pan out in the next projects. The only way to manage our risk and to avoid having major pitfalls is to sit and spend time going through the details for every project we undertake.
If you are a business owner, if you overlook this area, you’ll probably expect new expenditure occurring along the way. If you are a developer and you’ve already signed the project agreement, you can expect to absorb new cost that were not budgeted.
While this is not a easy task, I strongly recommend getting yourself familiar with scenario planning. This is a concept or skill that you should apply so that you can plan out all possible outcomes. With that level of planning, you should be able to dig out as much details for the project before you even start.
Of course, when you have scenario planning combined with the mock ups, you can easily manage the expectations of your client and the project. When focusing on the clear goals, you can also start to go deeper in the technical requirements as well as the operational requirements.
Once you have all of that on the same piece of document, the devil should be out by then.
6. Allocate 3 x the Required System Implementation Time
The first reason for doing this is because, as the saying goes “Under promise, over deliver”.
When it comes to time management, always take the conservative approach in time management. Again, you don’t know what you don’t know. Hence, having extra buffer time is good.
Having said that, you don’t want to have a forecast that is ridiculously long. Or you’ll look silly.
Personally, the formula that I use is to estimate the realistic time required for the project (usually by man days) and multiple that by 3. Just to be clear, this is something that I’ve presonally used and this was formulated from personal project experience.
As there are many other methods which you can find, the key message here is that you should under promise and over deliver. With that in mind, go formulate your own strategy.
Project or system implementations can be a really challenge for some. However, most of the time, all you need is a bit of common sense to solve the issues. Once you have that in mind, then just take step back and figure out what are the key information that you need to successfully implement projects.
Lastly, I wish you all the best in your next system implementation project.