by Ypatios Moysiadis

Article initially posted on

Are you prepared to take on the next big IT project on your company? What a nightmare! In any given case in almost every company when dealing with Information System Development you face three highly explosive ingredients for a big bang, resulting in either delay or failure.

Meet the ingredients!

  1. The Client – Ever-demanding and in most cases lacking clear knowledge of the specifications or the project itself. He just wants you to complete his job at minimum cost and with great urgency. He needs the project done yesterday! He feels sorry and sympathetic towards the developers, but he pays so he demands!
  2. The Analyst – The connecting chain link, the multi-tasker, the translator, always under stress, running around just to survive. He is buried up to his neck in responsibilities, with back and forth communications, time schedules, deadlines, budgets, GANTT charts, demands and denials….
  3. The Programmer – Another breed of people, living in their own tech bubble lost between reality and virtual cyberspace. You need to hover over them just to keep them on time and in line with the project’s specifications and customer demands.

Do you need more? Mix the above into the leaking pot of myriads of applications and technological solutions and you have a ticking disaster on your hands!

Survival Guide for the Unprepared

Do you consider yourself a dummy? Are you a rookie? Follow the basic guidelines below and you might have a better chance of survival in this jungle.

Being the Client

Okay, you have the money, you pay and everything you say is “right”. But is what you think you are paying for what you are going to get at the end? That’s the question!

So please:

  • Plan and Plan…and then Plan again.
  • Clarify in your mind for the benefit of your business and your money what exactly it is that you are paying for, a clear image of the project you are developing and how it will benefit your business.
  • Is your initial budget large, small or reasonable for the value you hope to extract from the project? Check similar applications, what they can do and how much they cost.
  • If you are not able to describe your needs and your project specifications, hire a third party to do it for you. There are specialized consultants for that. Keep track of the project and the deliverables. Don’t expect your project developer to play the role of the consultant as well.
  • Always check out the competition. In most cases, you can benefit from the experience of your competitors by capitalizing on their advantages and avoiding their mistakes. You don’t have to reinvent the wheel all over again.
  • Cross-reference the project development company with their customers and check their track record on similar projects.
  • Try to communicate in a written format and keep track (perhaps some kind of a diary) for the communications between you and the analysts.
  • Meet the development team. Sometimes chemistry and mindset is a success factor when it comes to intellectual projects.
Being the Analyst

Don’t assume that you know and have seen everything. There is always something new to face and something different to experience when it comes to handling projects and people. Every project is unique.

  • Learn more about your clients. Make the effort.
  • Have detailed knowledge of the capabilities of your team, their previous work, the libraries or platforms they use for development.
  • Always communicate any problems, changes or suggestions to the client. Be patient and conservative. You will be happier at the end.
  • Find ways to keep yourself motivated and to motivate the programmers or other members of the team as well.
  • DO NOT over work or disrupt the workflow of your programmers. Do not toss at them more tasks or disrupt them with smaller projects. The only thing you can achieve is to agitate them and lower the standards of their work.
  • Handle budgets carefully! A service-based development project, especially when it is custom-developed, can easily go over budget and over time.
  • Plan your work and the work of the team like the maestro in an orchestra. The more detailed the planning the better.
  • Try to interpret the needs and the specifications of the client in a meaningful way for your programmers. Remember you are the translator between them. They DO NOT speak the same language.
Being the Programmer

First, you must take a pin and break the big protective “cloud” you have built around yourself. It is not just you and your PC in this world.

  • Try to meet the client and get as many details you can about his company and what they are trying to achieve with this project.
  • Have your eyes and ears open.
  • Try to put yourself in the position of the client
  • If you do not know something ASK. Don’t assume! That is why you are working with an analyst. Utilise his communication skills and his previous knowledge.
  • Manage your time. If you cannot do something on a specific time schedule, say so. Don’t over work and don’t stress yourself in order to be liked. At the end this will have an effect on the quality of your work and it will come back to you like a boomerang.
  • Organize your libraries and keep them well maintained and up to date in order to minimize the work load that you have to undertake for each project.
  • Communicate any problems you have to your colleagues and ask for their insight or help.

Well, I guess you have the big picture. There are tons of books and information about each one of the above cases.

However I get the weird feeling whenever I am faced with a similar situation in project development that no matter who, when or where, the same issues will arise again and again and again….

Please feel free to add your comments and your insight on this topic.