Open project workflow

    Is it possible to create a truly Open Studio for joint implementation of web projects?

    I hope for some of you, this question is as relevant as it is for me.

    He worked in closed studios and now I work with them as a freelancer. At the same time, I consider neither cooperation with the “ordinary” studio, nor independent execution of orders ...

    Thinking about the way to organize a studio — namely, a studio with its own style, with teamwork on a project, with a single responsibility to the client, but at the same time I’ll be open: where the community of professionals stands for the place of the team (maybe not big), the responsibilities are minimized (we participate only in what is interesting), and all the profit is shared between the project participants - I detailed my thoughts on the functioning of the open mechanism for distributing work within the studio from the moment the client submits the application.

    So, the open process of working on the project. What is he like?

    To begin with, we define ...
    The community that I am talking about is open, everyone who has the right level of ability and recognizes the developed values ​​can easily enter it and, if desired, exit. In the first place are the personal interests of each, and not obligations to each other.
    The strength of the community, I believe, is not in breadth (number of participants), but in form - the quality of the composition, the ability to think in one direction. This is not a freelance.ru community.
    The community of the studio I see is not big, so as not to lose a certain style. Man 50, and the composition is not constant (someone leaves, someone comes).

    Work in the studio begins with the application of the client. To the question “How did the application enter the studio?” I propose to illuminate a separate topic.
    Perhaps the client was brought by one of the community members, for which he can count on gratitude (for example, in the right to carry out part of the work on a future project).
    Perhaps our fictional studio has been working for a long time, is well known and many applications come directly through the studio website.

    Now we believe that the application for the implementation of the project has arrived and it is time for the community to come together for its implementation.

    1. The beginning of the process - an application from the client.


    This can be a fully formed TK, brief or just a message about the desire to develop something.
    All applications are visible to community members. Only those who have the “ability” of a project manager can answer. The answer is expressed willingness to work on this application. The answer also includes the amount that the manager wants to get for working on the application or the method of calculating it (for example, a percentage of the project budget).

    Who decides to whom to answer applications, and to whom not?

    The community decides! The task of the future manager is to declare himself and show everyone that he has the necessary abilities. Based on the information presented, the community will decide (for example, by voting) whether the manager is a manager or not, and at the same time he will assess the level of his skill (I suggest that the assessment be done on a normalized scale, for example, from 0 to 10).

    What should I do if two managers answered one application?

    - If the first manager is already working on two applications, and the second only on one, then the second is selected. This will allow you to distribute orders evenly throughout the community, while the most interesting orders tend to reach the most experienced managers;
    - With an equal number of jobs, a manager whose skill is higher is selected;
    - With similar skills, the one who calls the lower price is chosen.

    How to deal with the manager’s greed? How to help him objectively evaluate his work?

    - Create competition. Several managers can answer the application and, under equal conditions, the winner will be the one who calls the lower price.
    - To offer the manager not a fortune telling about a figure, but a choice of a scheme for evaluating his work. There may be several schemes. It is important that each of them is approved by the community and is considered optimal (example of a scheme - the manager receives an amount equal to 10% of the project budget + drafting of the statement of work is paid at $ 15 per kilo-sign). At the same time, you can let him change some parameters (for example, he considers this project to be extremely complicated - 10% boldly changes by 15%)
    - The cost of work is open. This amount is visible to all project participants. The manager will think three times before overstating the cost, because he knows that any of his wrong actions can go to the arbitration of the community where his “karma” (skill) is noticeably lowered.

    Manager selected. You can work on the application.

    2. Evaluation of the application.


    Everyone understands that the majority of applications is a request to give a clear answer (indicate the price and terms) to a poorly asked question (too short a brief, not clear TK, etc.).
    The manager is in a very difficult situation. On the one hand, he cannot ask the client to pay for the development of the ToR, and then wait until the performers are determined and a clear budget is formed (it is not at all clear whether the client is ready to accept it). On the other hand, having named its price and terms, the manager will put the community in a very tight framework, not always true.
    How to be I’ll try to combine the “incompatible” again.

    First you need to process the application as soon as possible. The manager asks the client clarifying questions on the application, just enough so that it becomes possible to evaluate it roughly by the performers. For an approximate assessment, in many cases, full TK is not required (which is definitely needed in the process).

    The manager splits the processed application into parts (for example, design-layout-programming). And brings them to the community. Everyone has the right to both answer and remain silent, while a number of obligations and privileges are imposed on the appraisers:

    - The application is evaluated within no more than 12 hours from the moment of its publication by the manager;
    - The work on the application is distributed primarily between those performers who participated in its evaluation;
    - The contractor cannot refuse to work on the application that he evaluated if no contractor expresses a desire to work on it for the specified price (in case of refusal he will receive “-” from the karma from the community, it will become more difficult for him to participate in other projects).

    The manager evaluates the points that will be left without evaluation on the basis of his own considerations.

    Now the manager has all the necessary numbers, and besides, they are approved by the community. You can create a budget. Just a snag again, the performers do not want to think the same way, and their numbers are very different. What to do?

    I think it is worth giving this issue to the manager for consideration. He, like no one else, knows what the client wants, on what amounts he agrees. In one case, he will choose the cheapest option (it’s important for the client to complete the task, but he’s very tight in money) in the other, on the contrary he will raise the bar to the very top (the client appreciates the quality and is ready to pay for it), in the third - he will offer the client to choose a budget on his own ( at the same time, the client understands that he would not choose - the task will be completed in full and on time, he only sets the quality of work he needs).

    Budget approved. The client completely trusted the studio and made his first installment. You can start compiling TK.

    3. Tasks, design teams and implementers.


    In the course of comprehending the project, TK is written from which tasks are in turn formed.
    The task should not only be clear and not only unambiguously describe the subject, excluding double understanding and hidden places, it should also be something complete. Ideally, the performer should only delve into the task itself and not think about what part of the project it is. At the same time, the solutions of these problems put together in a single unit are an integral organic object.
    The more such tasks a manager can allocate from TK, the higher his skill.

    Tasks are published in the community and are visible to all participants. When publishing, the manager indicates which categories of participants can answer the task (for example, only programmers and only those familiar with ExtGWT can answer the task “to build an interface on ExtGWT). The manager also indicates the marginal cost of the task, above which the budget goes beyond the approved budget. The person who answered the task is considered the performer. When answering, the contractor indicates the cost of his work.

    Tasks have much in common with applications. We can say that the task is a community application for itself. The level of knowledge, the choice of one of several performers who answered the task - these questions can be solved similarly to requests from managers.

    Artists selected. Now they can be called a design team. This is no longer communicated, but rather a team where the success of the project is in the hands of everyone. At the same time, the isolation of tasks does not exclude that the group will often have to exchange the results of their work and interact closely.

    For example, two programmers are participating in a project, both working on certain functional modules, the modules being logically complete and interact via the API. It would seem complete isolation. But at the same time, they have a common project code, can observe everything in the collection, see what has been done well in the work of another, and that “I would have done better.”

    Another interesting point is that the groups will not “grow together”. Each time it is impossible to say with certainty who exactly will be part of the project team and each time one can observe various amazing interweaving of thoughts and realizations.

    There is an exchange of experience. And that is wonderful.

    The work is on. We are waiting for its completion.

    4. Everyone deserves it.


    What could be the finale? I’m sure that only positive!
    If one of the performers does not cope with the task, this is not a reason to destroy the project. The community is much wider than the collective. Replacing the negligent can be found faster. Groups are changing dynamically, personal relationships are not so strong. Problems become easier to solve at the time of their inception, and not when everything has already fallen. The moral obligations to the “colleague” are kept to a minimum, you can safely ask him to leave if he stops the work by sending a question to the project manager or to the entire community.

    The work is completed! It's time to collect stones, and at the same time give an assessment to each other.
    The project manager writes a review for each performer, the performers evaluate the work of the manager and his own, indicating the strengths in the implementation of the tasks. The general review and the entire project, in turn, go to the community, which corrects the “karma” of each of the project participants.

    Time runs out and time comes for creativity. When interest prevails over knowledge, and feelings whisper, success will surely come.

    5. The potential.


    All of us have something hidden. Even the fact that we are good at what we deserve to be “pros”, was once not accessible to others. To extract this, it was necessary to fill a lot of cones, both for oneself and for “colleagues”, by deceiving, wresting an interesting work from their hands, realizing that you would make it worse than they would have done. Or consciously participating in "complete debauchery", in which no one wants to take up work, that makes you sick, just to extract a grain of experience from there and get another precious review in profile.

    What will happen if the community only exploits the skill of the masters, and the garbage (not an interesting job) merges the little experienced participants?
    Firstly, we will become hostages of our own skills. For example, a programmer who has a good hand on building sites in a netkat will be forced to collect them further. Even when he got tired of this work, he wants to learn other technologies - everyone knows him as a collector of sites in a netcat and how easy it is for him to take a good order for a netcat, it is just as difficult to start work on something else.
    Secondly, an excellent designer, known to the community as not a bad layout designer, who has not yet gained confidence but has already learned something, is likely to leave and work for a long time where he will be allowed to “open up”.

    How to proceed? I propose to introduce a system of "free skills".
    This is a skill that can be anything. We believe that each participant has it (to a greater or lesser extent). Free skill can be used in answers to tasks (or applications) - when answering, it is simply considered, for example, that free skill = experience with the Symfony framework, and the participant’s response is considered on an equal footing with others. We also introduce a number of rules:

    - The higher the “karma” of the participant, the more he brought benefits to the community, the higher the level of his free ability;
    - When answering a task, a participant with a free skill is insured by an experienced performer;
    - If the task is done well, the level of free skill is increased + the skill in which he performed is attributed to the participant. If it’s bad, then on the contrary, the next time it will become more difficult for him to perform in an unusual work for him.

    A healthy community does not treat itself as a consumer! And it helps to unleash the potential of each participant.

    6. Arbitration.


    What is a good community? The ability to give an objective assessment of conflicts between people, to act as an arbiter!
    Not a single “closed” studio can boast of this. Her decision is always subjective by definition.
    Whether the experienced PM resolves the conflict, or whether they are paired with the studio management - the decision is always based on their subjective perception of the picture, they are (almost) always interested, it is very difficult to abstract from the events that occur, each decision is the result of lobbying someone's interests.

    Therefore, I still can not afford to openly participate in joint projects with studios. To lobbying in a relationship, I prefer a balance of power. I always ask for advances, and give control over the result only if there is full payment. This alignment of forces allows me to be free from in-house relationships. It doesn’t matter what the designer thinks about the layout designer, but the PM about all taken together. It doesn't concern me. The same is true in relation to the studio towards me. We can openly express to each other everything we want, and this almost does not affect the joint work, because they are connected to me not by personal relationships, but by money, time spent and commitment to the customer.

    The other side of the coin - hiding the result causes a lot of technical problems, especially when a lot of people work on the project. Sometimes it turns out to establish interactions through the API keeping everything at home, sometimes you can open part of the code without losing control over the result, sometimes you have to give control and be in uncomfortable conditions for lobbying.

    What will give me a message? It will allow me to become open and take off the extra burden of controlling the result!
    In an open studio, I’m ready not to take advances and not hide the code of the project I’m working on - to the same extent that I’m ready to work through Freelance Transaction. Because I know that the project money is not in the hands of an interested person with whom a conflict may arise (or maybe not), and any conflict can be resolved by a community that I trust.

    PS: For those who are close to the ideas of an open studio, a group has been created - http://groups.google.ru/group/semaco I
    propose to unite in it, find answers to questions together and try to bring our thoughts to life :)

    Also popular now: