Managing Software Projects
“Operations keeps the lights on, strategy provides a light at the end of the tunnel, but project management is the train engine that moves the organization forward.”
We manage a lot of software projects here at Surge. In fact, right now we are managing over 15 unique projects, ranging from mobile apps to large scale business applications. Having this many simultaneous projects requires a well-defined project management process.
While project management has always been important here at Surge, lately we have been even more focused on making sure that we have the right procedures in place to consistently deliver high quality software products in a short time period. Here are a few guidelines that have served us well:
- Keep meetings short and infrequent. The most important reason to meet is to promote accountability.
- Keep interruptions to a minimum. Developers need time “in the zone” to be effective.
- Always use a work tracking system. We use FogBugz.
- Always use a time tracking system. If the system includes analytics and dashboards, you can easily see what people are working on and how productive they are. We created a product called “Meazure” for this purpose and we use it internally.
- Use a wiki to share knowledge.
- Use a cloud-based document management system. We use DropBox.
- Setup your work environment from the get-go to allow people to telecommute. We use hosted source control, work tracking, time tracking, wiki, document sharing, etc. Giving developers this flexibility makes them much happier and ultimately more productive.
- Make realistic commitments and seek to exceed them. Commitments are personal; no one should make a commitment on someone else’s behalf. However, everyone should make commitments.
- Provide transparency to your clients and/or stakeholders. Give them access to your work tracking system.
Having a well-defined project management process and supporting tools is vital to running successful software projects.
Matt MacKay | CEO, Surge