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.
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