How do big IT companies manage their in-house development projects?
Gergely Orosz, who has worked for major IT companies such as Skype, Uber, and Microsoft as a software engineer manager. increase.
Companies have launched various projects such as product development, addition of new functions, and strategic development to increase profits, and their management approaches vary from company to company. The question, 'How do the world's largest IT companies manage their projects?' Is explained by
How Big Tech Runs Tech Projects and the Curious Absence of Scrum --by Gergely Orosz --The Pragmatic Engineer
First, Orosz investigated the management approaches adopted by more than 100 different companies. As a result, it was found that each management approach varies depending on the type of company. For example, a venture IT company with 5 employees and a non-IT company with more than 1000 employees may succeed with different approaches, and it is not surprising that some people in the same company prefer different approaches.
However, Orosz reports the following findings, as he has gained several insights that are worth considering.
・ Employees of teams with high autonomy and flexibility are highly satisfied.
• Most of the problems that teams have when projects go wrong are outside the project management approach, such as lack of vision, retirement of good engineers, lack of transparency, and poor performance tools.
• If the engineer is not involved in project estimation, the management approach often fails.
-Changes in project requirements increase engineer dissatisfaction.
• Teams without autonomy to change failed management approaches are less satisfied.
While many companies have adopted different management approaches, major IT companies such as Amazon, Apple, Facebook, Google, Netflix, Spotify, Uber, Shopify, and Datadog have common characteristics in their project management approaches. It was said that. The features discovered by Mr. Orosz are as follows.
-Most projects are led by engineers on the development team, not dedicated project managers.
-The development team is free to choose the management approach to adopt.
-There is no dedicated project manager at the development team level, and for large projects involving multiple teams or the entire organization, the technical program manager (TPM) manages the whole.
-Project management tools and processes are different for each development team even within the same organization, and each team looks back on the project when they think it is appropriate.
・ The development team is provided with the best-in-class tools.
The characteristics common to the above major IT companies are not necessarily effective approaches for all companies. In the first place, it is said that major IT companies have an environment that enables the above highly autonomous approach, and Mr. Orosz claims that the following environment exists in major IT companies.
1: Highly autonomous software engineer team
In traditional enterprises, software developers are expected to 'complete their assigned work.' However, major IT companies are required to 'solve business problems,' and this difference affects the way engineers work.
2: The engineer is not a 'non-thinking worker' but a 'curious problem solver'
A motivated engineer can have many times more impact on the business than a worker who does only what he is told to do. If employees are just like machines, a well-managed worker approach is more likely to succeed than a major IT company.
3: High transparency of internal data, code and documents
Many large IT companies, not just engineers, have access to real-time business metrics and data sources, and can create their own queries and custom reports.
4: Have a relationship with other employees
Engineers at large IT companies are encouraged to build relationships with other business departments, but in traditional companies it can be difficult for engineers to actively interact with employees in other departments.
5: Easy communication between engineers
At major IT companies, individual engineers can easily communicate with each other via chat, etc., but at some companies that use hierarchical communication, information exchange between engineers is not smooth, causing delays in decision-making. That is.
6: Invest in the engineer's experience
Companies that focus on problem-solving by engineers are quickly setting up teams to support the internal platform used by engineers to improve the experience.
7: Pay higher wages
Companies that make good use of engineers can attract talented engineers because they can pay salaries that are close to the top of the market.
8: Hire talented engineers
Due to the above characteristics, major IT companies can acquire highly talented and motivated human resources.
. .. This means finding areas that are worth investing in as a company, finding out what products are desirable to make, working with teams in charge of each area to create a roadmap and prioritize work. Ranking is also the job of the product manager.
One of the important characteristics of major IT companies is that Orosz has 'strong autonomy of each development team' and 'there is no project manager dedicated to each team, instead the entire product There is a product manager to manage. '
'The role of the product manager is to understand'the game we're playing'and'how we play the game',' said Will Lawrence, Facebook's product manager
In many cases, product managers do not manage individual projects in product development, and each development team is responsible for executing their own projects. By making the engineers themselves the project leaders, they can create a development process that makes it easy for them to work, and even in collaboration with other teams, engineers can easily communicate with each other without going through the project manager.
If you have a complex project involving multiple development teams across different offices or time zones, a dedicated technical program manager (TPM) will manage the whole project and reduce the burden on engineers.
While many people are interested in the approach of managing a project, Orosz points out that corporate success does not always correlate with a management approach. Of course, 'how the project is carried out' is important, but various factors such as the project's ultimate goals, leadership, and people's skills are associated with success, and the management approach is just a piece of a complex and ever-changing puzzle. Said not.
in Note, Posted by log1h_ik