On more than one occasion, I’ve found myself assigned to a project before clearly-defined development tasks were ready. Despite that, I’ve discovered several worthwhile things I can make progress on.
## 1. Basic Project Skeleton
Even when my workflows are all ambiguous, I often have a good idea of what my tech stack will be. The product owners have already negotiated to build a mobile or web app. The team probably already has skills in some frameworks, and we know if we want to stay with those.
Because of that, it’s usually possible to start creating an empty app quite early in the process. If we know we want a web app, we can build an empty Rails app with nothing more than a “Hello, world!” page. You’re definitely going to need at least that much, so why not start on it?
## 2. Development Infrastructure
Once you have the code, you need somewhere to put it. Get a Git repository (or whatever your preferred source control is), and get your skeleton app committed. If you’re going to have more than one parallel development track, you’ll need code to work on and tools to merge it.
Once you have a repository, connect it to a continuous integration service like TeamCity or CircleCI. A CI service can install dependencies, set up databases and other external services, launch the app, run tests, report results, and upload artifacts — saving you a significant amount of work.
## 3. Services
Create your project in Pivotal Tracker or JIRA, even if it’s empty. Get the ball rolling with your procurement department and get a credit card attached.
What other tools do you need? Consider a 1Password vault to store credentials, a Dropbox or Google Drive folder to share assets, or a Zeplin project to share designs.
Once you’ve created space for your project, start granting access (as appropriate) to team members and stakeholders.
## 4. Demo Servers
Your real, final hosting should be set up with care. But before you get to that point, you’ll need to show your stakeholders something, and that will need to be hosted somewhere. You’re going to need it as soon as you have something to demo.
Don’t sweat the details here. These are cheap to set up and cheap to tear down. If you find Heroku isn’t cutting it for your specific project, you can move it later.
Different kinds of apps will need different setups. If it’s a mobile app, get your TestFlight account (and/or Play Store account) ready to serve your empty app.
## 5. Visual Design
If you have any branding elements, get those implemented. All but the youngest of startups usually have an idea of their brand’s colors and typography. Configuring your UI toolkit (if applicable) to match the client’s visual brand can easily fill a day.
## Just Get Started
When your backlog is empty, it can be hard to figure out what to work on. But I’ve found that there’s usually still plenty to do. You might not be able to keep a team of five busy for a week with these things, but every hour you fill is one fewer idle hour.