When building any software project, it is important to plan ahead and think about what functionality is going to go into your software, and how you are going to achieve that functionality technically.
These are some simple steps you can use to prepare yourself and extract some details about your project before you start building it.
This can be a whiteboard with sticky notes, or a software solution like Trello.
This should be a list of user stories that represent features to be implemented in your app. A user story in it's most basic form looks like this:
As a <type of user>, I want <some goal> so that <some reason>
.
Example: As a player, I want to be able to play tic tac toe so that I can have fun
or As a landlord, I want to be able to enter my properties into the system so I can keep track of them in the future.
A sprint is a list of user stories to be completed in a certain length of time (typically 1 week). Sprints recur until the project is complete.
User stories are pulled from the backlog into the current sprint. Once they are finished they go into the done list.
Oh! on that note..
A done list is simply a list of finished items. You should put some thought into what constitutes as "done". Is an item done when you can see it on the screen, or is it done when it passes the tests you create?
After you have created enough user stories in your backlog to feel comfortable creating a sprint, start working on your project!
When you have finished a sprint, you should do the following:
- Create a new sprint
- Move any unfinished user stories into the new sprint
- "Groom" the backlog and figure out if you need to add/remove user stories.
- Add as many user stories as you think you can complete from the backlog into the sprint.
Rinse and repeat until the project is done or your startup has run out of money :)