1. Understand the Client
Before you get started managing a software development project, you need to meet with the client, preferably face-to-face, to understand their pain-points if it’s an existing project, or the long-form goals if it’s a new project. Understand that they might not know anything about software development and try to explain to them the standard operations of how a project build happens, to create realistic expectations.
2. Understand the Goal
Prior to even thinking about outlining the project, you need to understand the client’s goals from a high-level. Work with a project architect to break down the project into easily understandable deliverables, or stories/tasks, for a developer to implement. Consult with the client to ensure you are on the same page with timelines, features, and project releases. This is a good time to ask the client about their Minimum Viable Product goals, nice to have features (Version 2.0 Releases), and future feature requests.
3. Understand the Developer
After you architect the project out into digestible stories, it’s now up to the developer to implement each task! If it’s your first time working with a developer, take some time to get to know them personally, not just their strengths and weaknesses as a developer. By showing a genuine interest in another person, you’ll begin to create a bond with them that will allow for better communication in the future, AND you get a new friend! This can be especially helpful if you’re working with an overseas developer, where you can teach each other colloquialisms/euphemisms/culture.
4. Understand the Platform
If you’re starting from scratch, you might not know anything about the platform the software will be built upon. If so, do some research about the common strengths and weaknesses of each platform by looking up videos on YouTube or reading various blogs. There you will find other people who have already experienced the problems you might face, and how to possibly solve them. Of course, the best way to learn is to test it out yourself; don’t be afraid to ask your fellow project managers if there’s a dev or local server you can tinker around in to learn the basics of the platform. You’re not going to be able to learn everything all at once, so take your time, and ask questions to your other project managers.
5. Understand the Time Frame
Possibly the most important part of the whole project is understanding the time frame. This is where most of the damage can be done in a client relationship if explicit time frames are not established at the beginning of each project, and multiple times throughout the project, and even after it’s done. When the client is left in the dark about the timing of a project, their anxiety will grow. They are paying their hard-earned cash to get something built, and when they don’t see the tangible results in front of them, they can begin to worry if they are getting the best value for their money. This is why it’s a best-practice to communicate with the client, quickly, frequently, and clearly about the status of the project. Especially if something is taking longer than originally estimated.