📜 ⬆️ ⬇️

How to make an effective IT service?

I believe that service is primarily a team of people united by one goal. That is, in my opinion, the question “How to make an effective IT service?” Is equivalent to the question “How to create an effective IT team?”.

I read in the article by Andrei Orlov a long time ago that to assemble a team is an art. Maybe. I understand that the question is too general. And yet, I will try to answer this article. I hope the solution I described will serve as material for the exchange of experience. I describe this process from a practical point of view, using my practice of the path traveled from a simple programmer to a top manager and the theoretical knowledge acquired along this path.

Because Since my last experience is related to the selection of a team for Start-ups, then the article should be named in an amicable way - “Search for specialists and creating a team in start-ups”
')


Initial conditions



Someone finds you, as a rule, this is the project manager, who is responsible for the entire project. So, top managers, found, you are one of them. Your responsibility is the implementation of the software for the project (s) and effective solutions to the company's IT problems. This post is called differently. My it-director.

You are taking office. This is not as simple a process as it may seem. Because you come to the team, within which there are already established relationships, and we cannot see these relationships either, feel the same way, and we will have to deal with people from the first day, with their usual relationships and office workflow. Try to smoke in the wrong place or hurt the hr-manager, who is also the daughter of the owner. You are on a minefield, look around, be careful and polite and do not go too far, otherwise you will pass for a pedant.

From your first steps depends on your career and position in the company. I emphasize, not from your professional skills, but from your relationship. Of course, this dependence has a correlation with the type of company, I divide them into:

I have experience in creating teams in Start-ups, in other types of companies selected by me, I just watched the formation of teams or watched the activities of already established teams.

Next, I will talk about Start-ups and the formation of a team to implement software for the project.

After you met with the managers of other departments and understand why, they took you and what is required from you and your team.

Create a team



Along with taking office, conducting interviews, writing reports, development strategies, plans and budgets, you must provide the infrastructure for project management, a set of tools with which to create documentation, manage requirements, store code versions. Why all this? I used to build the development process as open as possible, that is, so that each team member understands his role, responsibility, and what he needs to do here and now for the success of a project or iteration. I adhere to the XP management model in managing development.

You choose technologies, you understand what kind of specialists you need, you create vacancies and ... you discover that the company does not have a website. I found this to be significant when I was twice asked about the candidates I was interested in. Well, if your company has a corporate attribute, then you can take a drupal, write a couple of articles and make a website by hosting a friend. I was not so lucky, there were no attributes, I used the theme from word press and knowledge of html. Voila, the site is ready in 8 hours you are satisfied for the first time.

Do not forget that you are not google and even not yet yandex, everything must be done quickly, here and now.

Who is needed?



So, the infrastructure is ready, the technologies are chosen, you have a project launch plan, you understand who you need first.

Do not hesitate with a good offer on the labor market:


Two of these requirements allow us to immediately weed out talkers and careless developers, without wasting time for interviews, and these requirements will still not allow you to see People!

I am talking about those specialists who take their work very seriously, about those programmers who do not move away from the computer until they get rid of the error in the code, about those for whom bugs at the end of the iteration are not an acceptable form of handing over the functionality. Paul Graham calls such people beasts and offers such a test:

"To conduct a" brutal test "is easiest if you are already familiar with the person. Just remember his face and say to yourself "such and such and such is a real beast." And if it makes you laugh, it’s not suitable. ”

I also try to answer questions during interviews:

I take a person, only if four of the five answers "YES"

Where to looking for?



The most effective places in response to intelligent people:

How to set HR tasks and what to expect from it?


Let the manager know who the programmers are and what you expect from them:

Keep track of the relevance of the selection priorities every week. Ask for your email in copies of invitations and responses sent. These letters are your company's reputation in the eyes of the specialists who receive these letters.

Team walkthroughs



The development strategy is clear, the team is formed. Early to relax. The team goes through certain stages of its development. As a director, it is important for me that the project teams crystallize. That is, they were at the apogee of their effectiveness. All the stories that you have heard about the success of any project is a story about the work of the crystallized team.

I share the team formation stages:
  1. Formation - a group managed by a manager. Team members learn to work with each other and try to understand their role in the team.
  2. Pseudocommand - the war for power and control. There is no agreement and trust, there is a prejudice. Conflict Management.
  3. Stable - the termination of the division of power, there is confidence in each other.
  4. A crystallized team is a self-managed team, in which everyone knows their place in the project and is completely given to the project.

The manager is required extraordinary dexterity and a lot of tricks when leading the team through each stage.

Resolving conflicts and problems within the team


For myself, I found the best means of resolving conflicts — not having them. Of course, this will not work, and yet the number of precedents can be reduced by making the development process as open as possible with the documentation of decisions and reasons for decisions. I also enter the rules for reading documentation:

Hard but works. The documentation becomes lively and updated all the time.
Another practice that I use - I try to give the opportunity to make mistakes (gain experience) to team members and the whole team. Yes, this sometimes leads to conflicts and unrealized functionality, and yet in such cases I know where to lay the straw :) I noticed that the problem is solved most effectively if the developer came across it personally, and not in my description. This works best at the beginning of collaboration to improve the quality of the accuracy of the assessment by developers of the time to implement the functional.
I also found a good practice of open relations for myself:

and open information:


After six months, you suddenly find that the team is complete, development takes less time and effort, you have time to develop projects. Hooray!

Summary


Assemble the team and make it effective craft? For me, this is a skill, and yet I could not answer this question in general, I hope, made a step in the right direction :) I look forward to your comments, gentlemen :)

Many of the questions in this article were not addressed:

In the next series :)

sources of inspiration


Source: https://habr.com/ru/post/28163/


All Articles