This article, is all about the mistakes we made in the past, poor decision making and slow process of understanding the approach to project management that really works for us.
JetRockets is a company that employs 25 people, but just seven years ago, it was launched by only five of us.
At the beginning we set out as a group of freelancers, as many in our industry do. Our team of five was easy to manage and things were completely transparent and straightforward. At that time, the company founders made all key decisions; they were engaged in all projects as project managers while also taking care of the administrative duties (contracts, invoices, payments, and legal requirements, and so on). Technical staff were assigned tasks directly during daily meetings, and problems were resolved quickly.
Over time we landed a few permanent projects and signed on several new clients. This required us to expand the development team to 15 people. While this was a great problem to have, such a fast growth was difficult to manage. The administrative workload had increased drastically, while the amount and complexity of development tasks have also increased.
Business development, analysis, and daily operational meetings were constantly postponed, as priority was given to urgent business. We realized that we could no longer function effectively and that without urgent changes, the business would begin to stagnate. We needed to hire a person who could relieve the managers of some project-related duties so that they could focus on growing the company.
We decided to hire a Project Manager.
What kind of PM were we looking for?
We understood that the project manager should be a link between our developers and customers. The manager would be responsible for the budget, timing, and quality of each project. This level of responsibility assumes that to be effective, the manager requires leverage over the project and the authority to make decisions. To be successful, such a manager must have excellent soft skills, a great deal of knowledge, experience in the application of management methodologies and the habit of constant self-improvement.
A good PM must find a common language both with the team and with the customer's representatives, settle conflicts and not lose motivation. He must understand the web and mobile architecture, know modern technologies and be quick on the uptake. He must also understand how the Internet business works, what questions to ask the incoming customers and how to look into and adjust the processes.
The most important requirement is that such a person should solve problems, and not create them. A rather impressive list of skills for a job seeking manager, is it not?
What actually happened?
Ideally, we were looking for a candidate who fit one of the following profiles:
A manager who has already tried to start their own business, but the startup hasn’t really taken off; thus this person already understands that success requires a strong team with an established culture and an uninterrupted flow of work.
Someone who first rose from a simple manager to a very cool manager, and then to their current position, now has nowhere higher to go but wants to continue to work and develop.
In other words, we tried to find a perfect person who supposed to be an account, a project manager, a good developer at the same time. It turns that our requirements were totally wrong.
Needless to say, finding such an impressive candidate was impossible. After we had spent a significant amount of time and resources looking for an applicant who met all the requirements, we realized that it was time to consider other options and revise our demands.
Downsized expectations – more management training and mentoring
We decided to hire someone with ability to learn quickly, great soft skills and some management experience and train them to become great! We figured it would be much easier to find such a person, and their salary demands would be significantly lower. At first, it seemed to be a logical solution - we hire, spent some time training them while gradually increasing their task load, and eventually get ourselves an awesome new PM.
Boy, were we wrong!!
After reading many notorious blogs and books about management training we quickly realized that a formal education program would require a significant investment. It is not enough to simply “think up” a program; it should be tested and refined with the help of real people. And even then, a great training program would not guarantee that the trainee would be successful. We were not prepared to make the required investment that would yield unpredictable results.
Moreover, even if we hired and trained a competent person, it would take at least three months (and in most cases, up to six months) to establish contact with the team and fully join the process. It is even more challenging to earn authority within the team; in fact, very few people are successful in this.
Finally, even if the trainee defies all odds and learns to be an effective manager, we must consider the fact that our company's advantage is that we don't just offer programming services, we help our clients build software products. Therefore, our Project Managers must not simply be able to manage tasks effectively, they must be able to work with the client, learn their industry inside-out within a short period of time, and consult them on how to build the best possible solution. This level of expertise requires many years of hands-on dedicated experience, and cannot be taught with a short training program.
Without decision making capability, managers turn into administrative assistants. They monitor project status, send out updates, and create documentation, thus taking care of the tasks that few developers enjoy. They are still ultimately responsible for the success and the quality of the project, but they lack the skills and the tools to affect the outcome and all important decisions are made by developers themselves or the upper management.
As a result, their job causes high levels of stress and many people burn out quickly. This leads to the worst possible outcome: poorly-qualified management, high turnover of management personnel, and demotivated development staff who distrust management.
This scenario completely contradicts our ideology. We spend an essential part of our lives at work, so we want to make sure the office environment is pleasant and filled with smart people who are guided by common sense, rather than by regulations and subordination.
Where can managers be found?
We realized that hiring managers from outside is a bad idea for us, so we decided to look for PMs within the development team.
Today, most of our projects have between two to seven developers. We noticed that some developers consistently took on more responsibility for their project than others. A logical conclusion for us was to assign these developers some managerial tasks and see what happens.
Once again, we ran into problems.
At first, things seemed to go well. High performing developers were assuming managerial responsibilities and driving their project teams to success. However, after a short while, we noticed that the workload of these people became unbearable. They still had to deliver their development assignments on time, while also dedicating significant efforts to managerial duties.
Feeling personal responsibility for the project, they felt they could not delegate their technical assignments to others. They preferred to deal with complex and urgent tasks while letting the rest of the team complete simple and mundane assignments.This led to further burnout, unbalanced workload and loss of motivation, ultimately affecting the quality of work. Another important consideration to keep in mind is that not everyone wants to be a manager (yes, we had to learn this the hard way!)
We realized that we could not just burden people with duties and responsibilities and set them adrift. We had to explain their new role in details, provide the necessary tools and set them up for success. We had to keep a close eye on how they were coping with their new responsibilities and get involved when things were not going smoothly.
One situation we had to address right away was to explain to developers that it was okay to spend a full working day in client meetings, discussing requirements and scoping out the project. This was a new reality for someone used to produce code.
Most importantly, we had to ensure that employees were enjoying their new responsibilities, and not simply following the directive of the upper management.
The key question we needed to answer was - what is the appropriate level of oversight? On one hand, it seemed better to give employees the opportunity to make mistakes and learn on their own, but on the other, we needed to ensure that our clients were happy with our work.
IIn the next article, we will discuss our current management system and our approach to organizing the work within the team. We will also talk about training developers and managers, and how to use common sense when coping with difficulties.
Stay tuned for part two!
Please, leave your email below if you want to get new content from JetRockets.