3 simple steps to manage IT Projects remotely
If you are a Project Manager, Project Leader, COO or CTO of a small or mid-size company and you’ve had the need to manage an IT project in a distributed way, here there are some simple tips that will help you.
In this opportunity, I’ll talk to you about how I manage, day by day, remotely from the comfort of my home, dozens of IT projects with teams distributed around the world.
The first thing I should do is describing the scenario that I pose and the potential problems to be solved. It would be very tedious to face it in this way, so I will summarize it by saying that the project team (I mean not only the developers, but all those who in some way or another are involved in the project) is physically located in different geographic locations. We can add to this the language barrier, in addition to an obvious infrastructure and coordination problem with different time zones. Instead of posing every problem we had to solve, I’ll tell how efficiently we have managed every aspect of the project.
If you are one of those who think that the information and source programs should not come out from any point of view of the physical and private environment of your company, I don’t think you can solve this point efficiently for this working method, unless you connect everyone to the company VPN. This alternative, however, is very uncomfortable to work with because it poses many problems and it is expensive, especially for large teams.
We opted to use private cloud repositories (generally Gitlab) and we work with Git Flow. Each member of the project team has access to the repository and works locally.
As for the database, we upload a development base on Azure or some other server and they all hit that database, or we use a database project to keep the different structures of the local databases synchronized. Regarding the information, we use obfuscated data when we consider it necessary.
It is essential that there is a correct division of environments (development, testing, production). In general, the development environment, as I have explained, is local to each developer. We configure the testing environment in the cloud and in the most similar way possible to the production environment, which will be on our client’s premises.
2- Project Management
It is essential that you are sure about the methodology you will choose to carry out the project. We opted for Agile 2, but we always adapt to the requirements of each of our clients. We believe that flexibility is the most important thing. On the other hand, it is very good to handle short iterations, although it is necessary to have a global vision of the entire project if you want to maintain the control and the vision in the medium or long term.
If it is already complex itself to determine the exact degree of progress of a project, having the team distributed around the world is not helpful for improving the situation. Therefore, you must define short iterations (in addition to stages that include them and phases that group them together) with clear goals and make sure that the WHOLE team knows them (especially the client or the product owner).
We perform biweekly iterations with weekly checkpoints and daily meetings for MyTaskPanel Consulting. Depending on the nature or complexity of the project, we schedule more or less follow-up meetings.
We manage the project with Agile.MyTaskPanel and we always define a person in charge or a project leader who has to monitor the progress of the project and coordinate the team. Each user has his inbox with the tasks to be performed, with their estimated delivery dates and the necessary documentation to carry them out. The client also has access to the online management tool to see the status of the project in real time. This transparency solves half of the most common problems in projects of this type.
It is essential that each member of the project team knows not only what his responsibilities are, but what the team’s workflow is like. That is, in a real project, having a requirement given, a designer will surely create a screen that must be approved by someone responsible for UX. Then, that functionality goes to development and later to testing, where issues or improvements could be reported.
In summary, you must clearly define the workflow for all phases of the project.
The team will work as long as the communication is good (fluid, clear and constant). For this, you have to define several communication channels, according to each need. For example, we do it like this:
- For technical or functional information about a particular task, we use the task in question within the Agile.MyTaskPanel project, so that everything is centralized in the same place.
- For daily meetings and for any instant communication (chat), we use Slack with one channel for each project.
For video conferences, we use Google Meeting. If the client requires it and must participate in a call, we adapt to his preferences (Zoom, Teams, Skype, etc.).
For more formal communications, we use the email.
In case that the team is made up of foreign-speaking members, all communication will be in English as a general rule (this applies to chat, calls, documentation, etc.).
If project team members are in locations with different time zones, we would previously agree on a common time band for everyone, in which conferences will be held. We also define the times of the day when questions will be asked, so that another part of the team resolve them, and the times for the daily meetings mentioned above.
Years ago, a project manager of a very important client that I had in my early days told me a phrase that I will never forget: “You can delegate everything except control“. I took that advice very seriously. Today, it is part of the basis of my success as COO and CEO of my company. I am a very structured person, although quite open-minded. I like to listen to the experts in each particular topic and then decide based on my experience and the information I have.
Why am I telling you all this? Because what has been explained above works as long as you have a professional and efficient team, that knows what their responsibilities are and carries them out diligently. However, you cannot trust them blindly (it would be irresponsible). In my case, I have trusted professionals in each area and a manager in each project. Every day I have an executive report on the status of each project and, according to him, I decide where to place my greatest attention.
Anyway, I hope this information is useful to you. I know that I did not explain all the aspects involved in a development project, but I believe that it is essential for you to fill these gaps yourself with your personal style.