Project management

How
to start
In the most successful cases, the outsourcing company and the
offshore company build a strong long-term relationship. Often
the outsourcing company sends 1-2 people to visit the offshore
company to start a personal relationship with the programmers
they are going to work with. This also helps to understand the
cultural problems and settings and can therefore help to build
much more confidence than is possible to build via email communication.
Starting with a small pilot project might be the best way to start
and establish a long-term relationship.
The offshore company must keep the outsourcing company informed
about the progress on a regular basis. Also both parties need
to follow a communication methodology wherein they acknowledge
mails immediately and also ensure that emails are not lost or
left unanswered. This email communication plays a vital role as
most of the dialog between the engineers and the client is done
through this mode. It is also important that clear specifications
are made.
Based on the specs, engineers from the offshore company ask questions
and get answers to get a full understanding of the project.
Good specifications result in good quality software and considerable
savings in time taken to complete projects. In the case of research
or in cases when the offshore company actually produces the specification
this process of course has to be modified to suit actual requirements.
We believe a project should start with a meeting or an email-dialog
between the parties, to define the business problem and the software
solution. Also, this meeting will include setting project goals,
milestones and time frames. If the outsourcing company doesn't
have a clear specification, one of our engineers can be dispatched
to the company and do it.
After this the offshore company should give a proposal. At eSoftDev
we work with both not-binding and binding estimates, fixed price
or running hours. What is chosen depends on what the client is
comfortable with and the type of project. Generally one contact
person should be defined on each side, to facilitate clear coordination.
Also, proper methods for testing should be defined in the initial
meeting or discussion.
How
important is the specification
If you want to build a house first you have to design a building
plan, a project. Every design must be complete, accurate, detailed
and agreed by the client. Otherwise, the resulted house won't
be as expected. The same thing happens in the software industry,
where the project is the starting (essential) point for a program.
That is called specification.
The
general specification is completed first. It contains the base
program ideas, the users, the information input and the desired
output. Mainly the client or the consultant makes the general
specification. It is very important and necessary in order to
know the client's desire and is considered the starting point
for the final (detailed) specification.
The detailed specification is the comprehensive document needed
by the programmer for achieving the respective software. This
specification describes every function of the future program meant
to bring the desired result.
Only specialists who are able to identify other problems that
can be solved by software as well can complete the final specification.
It is what we call "solution providing". That means
the specialist can find solutions for a better organization of
the client's activity.
The final specification completion can take from a few weeks to
several months, depending on the project complexness. Unfortunately,
most of the managers don't understand the essential role played
by the specification within a software completion. Many times
the client doesn't want spend too much time or money for the specification
leaving it to the specialists. In fact, that is the most important
factor that contributes to a software failure.
The more accurate the specification is (for the client and programmer
as well) the greater the chances of success are.