Major challenges of IT project management and different ways to overcome
We are living in a world where thousands of new business ideas are being created daily. Usually, brainstorming business ideas is a fun and easy part. It is a creative process when everyone is very excited. Once you have created an initial vision and shaped your idea, it is time to plan and execute it properly. However, project planning and executing is often a considerable challenge.
When the routine arises, you need to have some stable processes and proper project management to accomplish your project. Execute it in time and within an expected budget. But modern project management is full of challenges, especially when it comes to leading multidisciplinary teams where everyone is working remotely.
In a nowadays IT, agile project management is the most popular choice when it comes to choosing between various management styles. It’s expected because Agile at its base is very flexible towards changing requirements, which is the case for almost every IT project nowadays. Another considerable benefit of Agile (and its framework Scrum) is that it drives massive collaboration and transparent communication during project execution.
Collaboration is crucial when leading a multidisciplinary team, and one of the most important parts here is to enable stakeholder engagement. Stakeholder engagement is a compelling way to significantly decrease the feedback cycle and make the project much more flexible towards necessary changes dictated by the current situation on the market. Stakeholders are often the key visionaries, and there is a significant risk to build a product that will miss it’s market fit because there is a lack of stakeholder engagement in the project. It’s often one of the major challenges for a project manager to establish effective communication between the multidisciplinary team and stakeholders.
Communication in a multidisciplinary team
When it comes to leading a multidisciplinary team where everyone is working remotely — communication challenges are the toughest ones. There are many examples of failed projects caused by either miscommunication or lack of communication. Probably the most famous project failure caused by miscommunication is the Tower of Babel when God mixed the languages of the builders, and it was more than enough to completely ruin the entire project.
Project Management Institute conducted an anonymous survey amongst a large group of professional project managers, working in a worldwide enterprise to determine which project performance factors are most closely related to project failures. As a result, 43% of project managers surveyed responded that project communications factors were a key factor in the projects’ failure.
Another real-world example of project failure caused by miscommunication is Airbus A380. It was the world’s largest commercial aircraft back then. Different teams from across the globe, including Britain, Spain, France, and Germany were involved in the plane’s construction. Unfortunately, German and Spanish Airbus facilities used an outdated version of the computer-aided design software (CAD), while British and French sites migrated to a newer version. This caused overall configuration management problems and led to a significant delivery delay. Moreover, the production costs increased by billions of dollars.
When team members make assumptions by themselves instead of synchronizing tasks and goals with everyone in the company, it often leads to unrealistic deadlines and building products that are useless and not providing any value to the customers.
Build up a culture of public communication
Remote team management is another big challenge for modern project managers, and more companies nowadays follow the “Office not required” approach. So overcoming communication challenges is another big priority for a PM. The goal here is to build effective communication between everyone (including stakeholders!) inside the team. The key to transparent communication is to decrease (or even completely avoid) the amount of private messaging. That means you should have as little private channels as possible and diminish the usage of direct messages. Luckily Slack, one of the most popular tools for communication in dev teams, provides nicely formatted stats for workspace admins with data about direct messages usage in the company.
It’s up to a project manager to build up a culture of public communication. It’s hard and takes time, but when your team and stakeholders see all the benefits of transparent communication, which will lead to a constant increase of the product value with minimal time and resources spent, they will truly love it. Remember, it’s always better to over-communicate than under-communicate.
Effective communication is not limited only by chats. Several activities should be used by a multidisciplinary team to keep everyone synchronized and to eliminate remaining communications issues. The below activities will not only help to deal with communication issues but will also help to resolve another major challenge – delivering product increments in time. Usually, teams are using iterations (for example, in Scrum, they are called sprints) to deliver product increments.
How to eliminate miscommunication
There are four main activities which aimed to eliminate miscommunication and deliver products based on your milestone plan:
- Daily updates,
Let’s start from the second milestone – daily updates (also known as project status meetings). Project status meetings’ main goal is to get the latest updates from everyone in the team, synchronize status, and resolve existing blockers.
If you already manage a development team, you know that daily updates have a particular structure that came from Scrum. It’s a set of 3 questions — What did you do yesterday? What will you do today? What is blocking progress? Many companies use the same set of questions every day, five days a week. It often leads to boredom across team members — you are forced to answer the same three questions over and over again. Engineers and designers can find themselves paying less attention or switching focus during such meetings.
This is primarily a big problem when your team is working remotely. It’s not just becoming monotonous, but also the questions itself makes less sense, because your team may work in different time zones, so the definitions of yesterday and today become blurry.
This problem can be easily solved with what we’ve already discussed above – proactive communication. The point is that if you communicate proactively – the importance of daily standup becomes much lower because everyone is solving their issues in real-time and not waiting for a meeting to resolve a blocker. Transparency is a key to address another question of the meeting – “What will you do today?”. Transparency with the scope and tasks for the current iteration helps to solve the issue “What should I do next?”.
The power of Planning
To achieve that transparency, you have to prepare a ground for it. Remember we mentioned the Planning meeting earlier? Its main goal is to synchronize everyone in the team on what we are going to build during the next iteration. Planning plays the most significant role in the upcoming iteration because it’s essential to set a measurable goal that everyone in the team understands and accepts. The manager should take into consideration the opinion of everyone in the multidisciplinary team and, in the end, achieve consensus. Stakeholders’ engagement is critical during the Planning because it’s crucial to set a goal based on the current vision and priorities dictated by the market. If Planning is a major challenge for you, and you have difficulties setting up and facilitating it, here is one of the approaches you can use for your project.
Planning should always start by setting a goal:
- What do you want to achieve by the end of the iteration?
- Why it’s important to achieve?
- What is needed to be done to achieve the goal?
Next, if you have a properly filled and refined Backlog, you should determine backlog items that are ready to be taken, and that will contribute toward the iteration goal. In case when you don’t have those items available, you should create them. Having backlog items prepared before Planning significantly decreases the amount of time spent during the Planning and make it less annoying for everyone.
Once you defined backlog items, you should check everyone’s availability for the upcoming iteration. It would be a pity to plan a release and figure out that your designer has a planned vacation and will not be able to provide the necessary designs for the feature you are developing.
After that, it’s time for a team to decide how they are going to achieve the goal with the resources they have for the sprint. The team needs to understand if it’s possible to achieve the goal because it’s quite a common thing that business owners want a lot of stuff to be created in a short amount of time.
The central part of the Planning is always a negotiation between the development team and business representatives on value and effort. It is an absolutely normal situation, but it’s up to the manager to properly facilitate the process.
A very cool tip here — almost always, it’s possible to reduce the scope but save the value you want to bring.
The features can be flexed or simplified but still carry the initial value. It is a powerful way to handle the negotiation and come to a consensus.
The last but not least – schedule a couple of demo days during the iteration. Remember that you have to decrease the length of the feedback loop, and demo meetings are necessary exactly for that — to ensure that you are indeed building what was planned.
You may ask, “But what about task estimation? Developers should estimate in hours every task they do to make the control easier.” The thing is that when you set a general goal for the iteration, it is not relevant anymore how much time it takes to execute a particular task. The team has a goal which they are going to achieve — that’s the only thing that matters. If at the end of the sprint, you’ll get the product increment that will fit your goal — who cares about the time spent on a specific task?
Let’s get back to the problem of daily updates. With proper plannings, everyone can see the remaining scope and pick another task when the current one is finished. This approach will help you to transform your daily meetings into free format meetings when it is not required for everyone to answer three questions. Rather than that, you can use the time to make announcements, provide marketing updates, or even have several minutes for informal talks.
One of the key responsibilities of the project manager is to create a comfortable environment for team members with more freedom for talented individuals and with less control. Engineers, by nature, prefer effective and productive solutions, and this is also relevant for communication in the company. So it’s the manager’s responsibility to set up processes so that everyone in a multidisciplinary team will feel less frustrated and happier.
We talk a lot about transparency and the importance of proper Planning to achieve the iteration goal – deliver product increment in time. The question is, how to accomplish that transparency? What project management tools and software can be used?
Actually, we can reuse the same approach we’ve already used with communication – make everything public. Everyone in the team at any given moment should be able to view the scope and tasks of the current iteration. So when it comes to agile project management, the easiest and the most efficient way to do so is to use Kanban boards.
The Kanban board at its base is straightforward. It’s just a board with columns and cards. The main point of such a board is that it should be publicly visible for everyone in the company. It’s okay if you have an office where the entire team is located. Then you can use the physical board (or even just a plain wall) as a kanban board. Add some drawing, sticky notes, and viola, your board is ready to be used.
However, when it comes to a remote team, you have to use an online board. There are many tools that you can use for that. The most suitable tools for everything discussed above are Trello and Pivotal.
Trello represents a classic kanban board with a simple structure – it’s just a plain board where you can create columns and cards. Columns usually represent one of the task’s lifecycle state (To Do, In Progress, Done, etc.). Trello is very simple and yet very customizable – you can create whatever structure you like, as many columns as you want, and each card has a lot of additional fields, labels, and other stuff to suit your needs. Trello is a perfect fit for small to mid-sized projects with small teams. Setup is quick, and the tool itself is easy to use.
Unfortunately, Trello’s flexibility can become a flaw when the project and team grows. It can become messy, especially if you start using a lot of plugins and power-ups at once, and the process of using this simple tool can become too complicated. In this case, you may like another great tool — Pivotal Tracker. It’s still a kanban board but with some presets. Pivotal follows classic Scrum approach and brings more rules to your processes, while still focusing on transparency. So instead of multiple columns, it only has two — Icebox and Backlog. Instead of cards, that you can drag between columns (like on Trello), Pivotal has stories with different statuses (from Unstarted to Accepted/Rejected). Pivotal is less customizable than Trello, but presets are aimed to eliminate chaos and bring some stable processes to help managers lead big teams and large projects.
If you are interested in more tools and check out our post about a transparent development process where we described how we work and communicate with clients on a daily basis.
There are a lot of different challenges in modern IT project management, but the most common problem lies in communication and transparency. To summarize what was discussed above:
- Communication is vital. No matter whether you work from the office or as a remote team, find a way to set up effective communication channels. In this case, you will forget about misunderstandings, missed deadlines, and building features that no one uses. Encourage proactive communication in the team and remember that privacy is your enemy here.
- Increase transparency in your team. Create an environment where personal engagement on every level and stage is more than welcome. Use public boards with all the necessary info about the project and current scope. If your team gives real-time updates, it will help everybody to be on the same page and provide better visibility for stakeholders of how much value the team contributes.
- Proper Planning is the key to build demanded products and deliver them in time. Set up measurable goals that everyone in the team understands and accepts. Be realistic (sometimes even pessimistic) about deadlines, reduce the scope but save the value and follow the goal you set up.
IT project management becomes even harder today because more and more companies choose remote approach in their work with a strong focus on gathering talented individuals all around the globe rather than putting everyone under the same office roof. So the final advice will be simple: try to be as transparent as possible and encourage proactivity. Talented individuals don’t need much control (they actually hate it), so give them freedom and make sure you involve everyone in a constructive dialog. As a result, you’ll witness the creation of products that bring value to the world and are demanded on the market!
Andrew Sheina is a project manager at American Estate & Trust. Andrew made a transition from software developer to project manager at datarockets and has six years of overall experience in product development. He was always interested in setting up processes to make the development run smoothly. He believes that communication is the key to build awesome products.
The blog post was originally written for the GoodFirms blog.