Recipe of a successful project execution



There is a common question in serviced based company: What is the recipe of a successful project execution? The answer may vary person to person but as a Lead Developer I have my own perspective/experience which I am going to share today. Here are some pointers.

Delivery matters: There are three things in an execution of a project – Communication, Development and QA. In my opinion if your development is excellent then it is very little scope of communication as well as QA. Because whatever client ask for, if you develop with proper analysis and in time, then it is already a quality product, so neither PM need to communicate to convince the client whatever you unable to deliver nor QA need to raise any issue as it is already issueless product. After all, client impressed by work not by word.

No fixed execution model: there are various mouthful names in the market – Agile, Waterfall, Prince etc. Simply I don’t care. I only prefer what is the best fitted for my current project. I can get part of Agile or part of other model but when I sense that process starts to kill the productivity then I ignore that process. If your client is more than happy with the quality delivery why you should bothered to forced teammates to follow a bunch of rules. In a small team you only need a standup meeting and sit in a single bay while delivery project – that’s all.

Responsibility is - Being in a Service based company: There are mainly two kind of companies – Product Based and Serviced Based. Those who are working in a service based company should always be on the toe. When you get one severe bug raised by client then you need to communicate with client that you are looking on the problem and update him soon. But you cannot be silent as this thing press panic button from client side. To me fixing things is easier than giving excuses to not doing things on time. In short in a serviced based company you can not be relaxed and tell client I am on the vacation.

One thing at a time: If you are in small team then you probably know that your responsibility is bigger. Don’t go and messed up things to do all things at a time. Start things to do on priority and stick to it for some time. I know for some of the clients it is not easy to maintain this model of delivery as they want everything at once with no time. But you need to do hard to buy time and ask him to provide list of priority tasks. Every morning they cannot change the list of the priority as you cannot shift from one unfinished delivery/development to another one. 

Know your tool: Every Super Hero have one of the tool which makes him great. Similarly if you want do smart delivery you need to know about different tools which can help you to do tough thing easy. Like if you do your development using VS you should know advance debugging technique, how to use TFS for versioning and code marge. Usually we do basic things which the tools do but if they provide some update you should know what is the update and how you can avail that feature using your IDE. To do one thing, there may be variety of approaches but you should choose on whether you are comfortable on that technology/technique. Don’t do things because that is cutting edge technology and you don’t know except the name. You may be learn things but you lose the upset client.

Always ready with Plan B: Some time you need to do some stunts to achieve a risky thing. You cannot be always in safer side to deliver a complicated module. You have to have taken some risk. Only thing you need to remember to be ready with Plan B/Escape plan.

Don’t take revenge on Project: You may have clash with your teammates or may be with manager or maybe you upset with not getting good appraisal but never try to get revenge to not doing things of project work. Be professional. If you not enjoying anymore to work on a particular project communicate the same with your manager or other people and still if you not convinced then you should change your project or may be the organization.

Project is God not client: To get an excellent client, is a God gifted thing. You cannot do anything to make them excellent. If they are excellent and they don’t buy hard about estimation, then you have fun with your quality delivery. Luckily in my most of the project I got one of them (Thank God!!). I always treated project all of the above. Some time you can have clash about the requirement/CR or any other thing with client but try to keep calm, try to convince them, if they understand it is good, if not then do what is the best possible things you thinks at that moment. I know you need to have guts some time to do this thing. What I know is I am giving my opinion based on existing codebase and client give his opinion based on his Business. It is not always that both the parties get frequency matched. There will be some kind of friction but you need to know how to deal with it.

All the points I have mentioned above based on my experience, the team structure, Client etc. If you have some different opinion please share the same.

Comments

  1. Very Practical and true. My favorite " If your client is more than happy with the quality delivery why you should bothered to forced teammates to follow a bunch of rules"

    ReplyDelete

Post a Comment

Popular posts from this blog

Should India play bilateral cricket tournament with Pakistan?