Two weeks ago, I shared my thoughts on project management tools for developers. So, now that you’ve chosen your tool, how does project management for developers work?
Organizing projects is similar to organizing your environment. You can’t just go to The Container Store, buy a bunch of organizational tools, and expect your “stuff” to become organized. As much as I love a visit to The Container Store, having a bunch of cool containers and closet do-hickeys doesn’t help unless you have a plan.
Once you’ve invested in a project management tool, the next step is to set up some processes that will work to drive project management for developers.
To get started, here are some questions to ask yourself and your team:
When does a project start?
Projects can start as soon as a potential client reaches out to you. Or, they can start with discovery. They might also start when development begins. It’s all about how you and your team want to handle it. There is no right answer as it relates to project management for developers. Just know that there needs to be a process around all of those parts. So, whether you open your project in your project management tool during the sales, discovery, or development phase – you need a process for each phase. (You can also use different tools for each stage!)
When does a project end?
Of course, we all want our clients to keep coming back and wanting more and more. But there is a difference between a “project” and maintenance or support. The Project Management Institute does a great job of defining a project. Note that the definition includes “temporary”, “unique” and includes defined resources (people, budget, time) and a defined scope. Projects end. They don’t go on forever. So, what are the steps you take to make sure that happens?
Some people include a warranty phase after all phases are delivered. Some people include a free bug fix period. A lot of development teams transition to a paid support agreement after initial delivery.
But the important part to note is that the project ends. Being able to end the project starts with your proposal and how you have defined the project the client is paying for. Remember that until you deliver a working solution to the client, you’ve delivered no value at all.
As a professional, it is your responsibility to ensure the client receives the value they expected when they paid you. The only way to make this happen is by putting some process around project management for developers to make sure the scope is scheduled to be completed on time and on budget.
What are the common steps to every project?
Take a minute to reflect on the things you do for every project. Things, like setting up servers, sending regular invoices, purchasing software licenses, and requesting testimonials, can all be activities surrounding your development work. But, they still have to be done… and they have to be done for every project.
So, to prevent reinventing the wheel put those steps in a template that you use to start a project. Templates allow you to have a checklist to move your project through the system and they allow you to focus on the development tasks, rather than all the other activities. Project templates are available in most project management tools. Having that starting point is a great leaping off point for project management for developers.
What are the gaps between what you do and what the project management tool does?
As you begin to work in your project management tool, you will find areas it is lacking. It won’t do something you wish it did or it will do something you wish it did not. The gaps are where you can create some written process to accommodate your needs by creating workarounds for the solution.
An example is that I used to get frustrated that there was no way to track which to-dos in Basecamp 2 I wanted to discuss at the next status meeting. I didn’t want to drag and drop them out of their to-do lists (removing them from context) into a separate list for a meeting. And I didn’t want to create a new list of to-dos to reflect the ones I wanted to talk about either – too much opportunity for duplication.
So, I created a “person” in Basecamp called, “Agenda”. I invited Agenda to the project with a fake email address (firstname.lastname@example.org, for example). And then I could assign tasks to Agenda and I could review them all at once using the “Show to-dos assigned to” feature. Problem solved.
There are lots of creative ways to address the gaps. The main thing to realize is that selecting a project management tool doesn’t automagically create project management for developers. You actually have to do the project management!
If you need help setting up templates, addressing gaps, or even doing your project management, you can always reach out to us and we can help. We know project management isn’t your favorite part of software development – but it is ours!
Also published on Medium.