September 21, 2015
Projects are about relationships. The more communication you have in your relationship the more successful you will be. The more you invest in the relationship the better the outcome of the project. I have found that talking about the important expectations upfront will pay dividends at the end for any project.
The beginning of every project is all rosy and exciting. Everyone is eager to start and looking forward to success. So why do so many project fail? Why do half of all software projects fail in the end? The key is to have communications up front and often so that the inevitable changes in scope and expectation don’t throw the client and the agency out of alignment. This applies to both agencies and single developers.
George Bernard Shaw said: “The single biggest problem in communication is the illusion that it has taken place.” We should learn early and often from our communications and in the beginning we can’t communicate too much.
Every client is different and every agency and developer has a different approach. This makes the beginning of any project more complicated than anyone thinks. If you think about what you expect but you don’t talk about it then there are bound to be missteps along the way. I like to take the approach of, “Here is what we are doing, we are not doing anything else.” This leaves it open to everyone that we can add things, but let’s ask questions about what we are assuming will be added before we get there.
Expectations: Make it Clear
By stating what you are going to do and then putting that in writing creates the precedent that you will do what you say you will do and at the same time you cannot add in every side comment that has come up in conversation over the discovery period. Any project has at least two phases: 1) Let’s figure out what we are going to do, and 2) Let’s do it! Start the conversation about expectations early on. Make it simple enough for everyone to understand. Demonstrate Commitment and build Confidence. The agency’s ultimate responsibility is to manage the client’s expectations.
Discovery: The Final Frontier
For a smaller agency or even the single developer, the discovery process is often overlooked or at least underrepresented. Discovery allows everyone to understand what is to be done and what you will be doing during the project. In the case of many small agencies Discovery is done after the project starts. This means things are found as the project moves long. This will happen normally but many of those “things” should have been found in advance and finding them may be important to the timeline of the project. It is best practice to have the discovery process as part of the original work order. The developer or agency actually gets paid for doing work and that work is translated into something for which they can be held accountable. This is part of the client discovery project. For a Magento project, the client may need to be educated about Magento and some pieces are going to be included by default.
The Life Cycle of a Project
Projects always have a start and an end. There is no such thing as the perpetual project. However, in an ideal world, the process will be iterative to keep your website fresh and to continually optimize it for changing consumer tastes and market dynamics. It requires ongoing careful analysis and review of where you have been, so that your site does not run aground at some point.
There is a myth and that myth is Fixed Bid. Every client wants a fixed bid. They want to know what they will get in the end. The problem lies in the fact that what you start with is never exactly what you end up with. The stringent fixed bid process does not allow for any changes. Who wants to be told in the middle of a project, “No you can’t do that, we didn’t plan it in the beginning?” The reality is that changes will happen and how you deal with those changes will dictate the success of your project. Changes are best brought up at the time they happen, not at the end of a project. Changes can affect the budget and the timeline. You can’t add something AND expect it to cost the same AND expect it to finish at the same time.
What to Know and When
Reporting is that background item that will drive the success of your project. Reporting will tell everyone where you are and how it is going. If done correctly, reporting will give the client the key indicators they need to access how it is going and it will align the expectations each time the report is sent out. Reporting should be done at least bi-weekly during the production phase (or at each sprint) and sometimes daily during critical times. It will allow for the scheduling of delays and help to let everyone know what is happening.
Communication is King
Understanding what everyone wants and not assuming.
Get it in writing
Tell the client when something changes
Be honest with the client
Doing the project “RIGHT” is more important than making people feel happy. There are going to be hard, awkward conversions that need to take place. Having those conversations early and often is the key to any project success.
On a final note, the keys to successful eCommerce project management also apply to successfully managing life in general. For me, Imagine 2015 started a little differently. Since the first Imagine conference in Las Vegas we have organized a race before the event. We managed to get a bunch of developers to show up for some race in the hot Las Vegas sun and run anywhere from 5-21k. Wagento did organize a race this year, however I did not make it as I was running another race all the way on the east coast. My stress for this years Magento Imagine had nothing to do with speaking at the biggest event of the year, it had all to do with finishing my Marathon in time to make my plane to get to Las Vegas so I could in-fact speak that day. Fortunately I did finish and I did make it to Las Vegas (12:30 am) and I was prepared to give my talk.
Brent Peterson is a Magento Evangelist at Magento Silver Solution Partner Wagento.