Hi, we are a young but very ambitious team of software developers GPO Technologies, however, we already have several projects in our account (you can see the site tab Our Projects). From the beginning of our work, many questions have arisen on the part of customers about how we work and what priorities we set at the initial stage of working with the project. We decided that it would be expedient to write about it because each team has its own methods of working with clients, which basically rely on their experience.
Well, let’s start with the techniques that we use in our work. Today there are many of them and everyone chooses for himself the one that is most convenient and satisfies all needs in work. For us, we also chose, in our opinion, the best – Agile and Scrum.
Agile describes itself as a flexible development and a means to improve the productivity of software developers. The main principle of this development is cooperation between multifunctional teams that can self-organize, as well as cooperation with the customer. Many of the methodologies that exist today do not take into account one of the important factors of working on a project – this is cooperation with the customer. After all, with direct communication with the client, you can quickly find a solution to problems that may arise, or rather finish the development, realizing what the customer wants (this question is quite relevant, because having come to the developers, the client does not always fully understand what product he wants to receive as a result and what his final functions), as well as reduce the amount of written documentation, which will allow more time to devote to the development of the project. We try to divide the project into short stages, it helps speed up the launch of the project and be sure to check them with the help of testing.
We use Scrum as one of the project management approaches because it clearly emphasizes quality control of the development process. Each developer has a clearly defined role (that is, each developer has responsibilities and tasks that he must perform within a certain period of time). Tasks are performed by priority.
And where does the project begin? First of all, to start a project, needed a Technical Specification – this is a document based on requirements formulated in a language understandable for the client. In order to form a Technical Specification, you need to collect information on how the customer sees the final result (that is, what he wants to receive at the completion of development). Then you need to structure it by sections. Each project will have its own Technical Specification, which will be different from the previous one, but you can select the main sections of the document:
general information about the project;
the function and purpose of the creation (development) of the project;
characteristic of the project;
basic project requirements;
the composition and content of work on the creation of a project;
the order of control and acceptance of the project;
requirements for the composition and content of the project preparation work prior to commissioning;
Also, an important aspect of the work is the formation of a project team, both from the customer side and from the side of the performer. The success of the project will also depend on this because if the composition of the working group customer’s is constantly changing or is not interested in the project, the result will have to wait a very long time, this also applies to the performer.
So, we described the main aspects of working with clients, of course, there are still many nuances that arise when work begins, but we always find a common solution.