In this article, I will give you an overview of what learned about project management in the last 10 years. Firstly, I’m a co-founder of Kontra. My first encounter with project management was ten years ago when I started my non-profit student organization. We have had several products. During years, I have been working as a leader in web development projects (I worked with programmers and designers – our in-house team and some freelancers), offline and online projects (students loyalty cards) and marketing projects.
After that, I started Kontra with my colleague, and six months after we started our startup – FenixApps (games and apps for Facebook). One thing to note is: I’m not a web developer.
Who is a project manager? And what is project management?
A project manager is a person responsible for project delivery within agreed deadlines and with available resources. In a web development agency, this is a person between clients and web designers/programmers.
Project management is a discipline of initiating, planning, executing, controlling, and closing the work of a team to achieve specific goals and meet specific success criteria. … The primary challenge of project management is to accomplish all of the project goals within the given constraints. (Wikipedia)
As I mentioned before, I’m not a developer or designer. If you want to lead a web development team, you should understand the basics such as back-end, front-end, hosting, domains, HTML/CSS, databases, etc. In my experience, it’s not necessary to understand technology deeply. If we talk about a complex project, you should have an excellent technical team lead or some consulting during project planning.
Like everything else in life, it’s all about attitude. If you are a dedicated person, you will gain all of the skills necessary for leading a web development team or teams in any other industry.
Types of projects I used to work
In the last ten years, I used to work on two types of projects.
Product type of projects – continuous projects with no end
Those projects are without a deadline. I’m talking about startup projects, like our fenixapps.com or kontra.page. We decided to shut down FenixApps after Facebook decided to limit their API for our applications. I never thought this would happen in 2015. This is an example of an agile project. All tasks are in the Backlog, and all you do is prioritize according to your business plans. There are always changes, new ideas, new directions, etc., that’s why prioritizing is so important.
Projects with deadlines
There are some goals, budgets, and deadlines — for example, a web application for a client. We have a deadline which is part of a more significant marketing campaign. Inside of this deadline, we have milestones with due dates (and tasks with due dates).
First processes than tools
Everybody talks about tools, and I think that’s wrong. My opinion is, people spend too much energy on tools. Tools always come after you manually define your processes.
I worked with a company, as a digital part of a bigger project, on an ERP integration – the project failed. The main problem in this project wasn’t technical implementation. They had great software with great features. People who worked there were excellent engineers. That company worked with great clients. But there was the main problem – they didn’t understand processes inside of that company, and they didn’t understand the client’s business process. Where did they fail?
- First, they should manually study, and understand, all processes before they started with software implementation.
- After that experience, with all possible cases, they can embark on implementation.
People are an essential part of every project. Sometimes we choose the wrong people for our projects. Sometimes they’re not a good fit. A project manager should react on time and do something. But sometimes you need to fire people. One can learn everything he/she wants, but it’s all about responsibility and attitude.
One important thing I learned about people is that some are good and others aren’t. With that, there is no middle. Choose your team wisely.
Specifications, planning and executing
Write down all specifications and tasks. You should define milestones and estimations for each task. It is better to spend more time on specification before the project starts, rather than after. Inadequate specifications are a cause of problems with the delivery, and you put pressure on your teammates and yourself.
Each project was specific in my case. In planning, you should always add additional time for an unexpected situation. One thing I would like to suggest is PERT estimation for precise project (tasks) estimation.
If you want to read more about PERT estimations, check this link.
You chose good team members, specification, and planning are finished. Next step is executing. Everything seems right in your plan, but in the real world, you always encounter some barriers. Every project has some issue, and there is no 100% guarantee it will be successful. The essential skill of a project manager is crisis management. Sometimes you should change people, deadlines, tasks, technology, etc.
What about tools?
Tools depend on the organization culture, people, and type of projects. My first tools for communication were paper and email. The most important thing is information which should be visible to the project manager, team, clients and other people who are involved. Everything should be transparent. A project manager is responsible for delivery, each team member is accountable for tasks/milestones, and a client wants to track progress.
Tools I used during last 10 years:
- Email (avoid this please)
- Paper and pen
- ActiveCollab, Basecamp, Asana, Trello, Podio, TeamWork
- Google Docs
Any wisdom at the end?
This is the first article in a series of articles about project management. If you want to be a good project manager you’ll have to invest a lot in your skills. Learn from mentors, books, blog webinars – whatever helps.