Managing Your Software Project

Great, you've selected a developer to build your app, and the contract signed. It's expected to take a total of four months to build. What do you do next?

The answer is not "wait 4 months and then call the developer to see if it's done".

Building an app is primarily a learning and discovery process for everyone. As the primary stakeholder, you may not need to understand how to code, but you do want to ensure that the app that's being built on your behalf is in fact the app that you will need.

Keeping tabs on the development team is essential to successful software projects. You should be able to answer the following three questions at all times:

  1. What functionality has been built so far?
  2. What obstacles are keeping the team from going faster?
  3. Is the budget still on track?

In order to answer these questions on a consistent basis, I recommend a three-prong approach to ensuring project success.

1. Tooling

There are a myriad to popular tools that help with software project tracking. Your development team should offer to provide you with a user account so that you can see the same tracking information that the team has. Or, as an alternative, they should be able to provide updates to you on a weekly or biweekly basis.

Here are the names of some tools that I've personally used and found most helpful:

These tools all have a focus on simplicity, providing at-a-glance status information without a lot of manual overhead.

2. Collaboration

Regardless of whether you use an online tool or not, frequent face-to-face collaboration is essential. As I mentioned earlier, building a new application is primarily a learning and discovery process for all involved. Your initial idea of what the app should look like and how it should function is, to be brutally honest, nothing more than a good first guess. Once the engineering team begins to really build the first few pieces of the app, new questions, ideas, and tradeoffs will inevitably show up. And it won't take long - usually within the first weeks - for plans to begin to adapt and take shape around the realities of building your new app.

The only way to successfully cope with these changing conditions is to have weekly communication with the team itself. If you can't be in the same room together, use a videoconferencing tool like Zoom, WebEx, or Google Hangouts/Meet.

The goal of these sessions is to make uncover any new obstacles that might be holding the team back, and to help the engineers make decisions that are going to be best for your research study and your users.

3. Live Software Demonstrations

Even if you have a great online project management tool, and even if you chat once a week with your team, there is no better way to really know if your app is being built correctly, on time, and on budget than to insist on live demonstrations of tangible progress.

Starting with the third week, the team should be able to show you something - even if it's nothing more than a mostly-empty app skeleton that they can launch and then exit. Every couple of weeks, the team should be able to demonstrate small, incremental, and meaningful forward progress as working software. Not Powerpoint slides, not mockups, and not a written summary. You want to see actual, live software being built, one tiny piece at a time, on a regular cadence such as every two weeks or every three weeks at most.

Got questions?
Ask me anything.

Clcik to schedule a Zoom call

Drop me an email: jeffrey@softwareforresearch.com

Find me on Twitter (DMs are open): @jeffcohen