Usually communication between a customer and the company can be built in one of
standard ways. Which type can be selected depends on what project consists of and
on customer requirements. So to simplify project environment establishing we can
suggest one of our partner communicate models.
Full model
In this pattern on the company's side several teams are working on one customer's
project. Usually these are development team and test team. In some projects in
addition support team can be separated from development team and represented in
the structure as independent unit. A project coordinator controls these several
teams. This coordinator is a person who "translates" customer requirements to the
teams involved in project. Because of this translation people who works on the
project on customer side can have no technical background. They have to supply us
with description of business logic and whole technical job is doing by people on our
side.
Full model is suitable for big full-featured projects. It takes some time for
establishing and needs additional resources to work. But it needs to be used in a
long run activity. All these extra expenses turn in quality results shipped on time.
Each team member knows what to do and how to do. All important project information
beginning from project vision and finishing by comments in code is well documented.
Each person can handle colleague's job with minimal time loss. And development
process running by such team is very robust and good result is guaranteed.
Team Model
When the project is not very big or customer has own developers it can be useful
to work in the team model pattern. Depends on task to be accomplished the customer
can ask for specialized team for help. This model is more flexible and requiring less
non-development time on our side than the full model. People on the customer side
communicate with team leader who distributes tasks inside the team. But tasks that
sent to team leader should be formed as technical problems. So people working on
the project on the customer side should be technical people. And result of the project
is a sum work on our side and on their side.
Individual Model
Individual model is targeted on the special kind of job when it is enough to
customer to "hire" one (or few) person. One of such jobs is quick and well qualified
reworking an existed code. Usually one of our experts helps customer to improve
performance of database layer of application or looks for bottleneck in the code and
advises how to fix them. Other type of such jobs is a small-project. It means
customers asks us to complete some piece of work with well-documented requirements.
Usually it is implementing of some component or class, which the customer is going
to use as a part of their own solution.
In this model all administrative infrastructure is working on customer's side.
And people on customer's side contact straight to persons working for them in our
company.