Project management is an important aspect of all start-ups, whether or not your business is a digital product. We won't go into detail about project management, but here are some tips for planning and overseeing the building of your product:
- What is your long-term strategy? If you get lots of customer feedback after launch, you need to have a path to follow and not be tempted to change everything to try and suit everybody.
- In project management, there is something known as the iron triangle (or project triangle), which explains that in every project, there are compromises to make. See the Microsoft website for a basic explanation. Decide what you can compromise on in your project at the planning stage.
- Consider accountability – who is responsible and faces consequences for non-delivery?
- Know your role – what do you bring to the project? Only the idea? Find people to fill the other gaps.
- How viable is your business case?
- Check throughout project at regular intervals. Ask yourself:
- Are you still on scope or are you wandering off path?
- Are you on time, within budget?
- Is it worth continuing?
- Allow time to test constantly, both the technical and usability aspects, and allow time and money for fixes and changes resulting from testing.
- Consider the impact of technical changes to design, usability, functionality and always re-test.
A methodology here refers to the way you go about making your product. If you are not building it yourself then you don’t need to worry too much about choosing a development methodology, but it’s good to be aware of how your developers might be working.
Very broadly speaking there are two ways of approaching a software project: waterfall development and agile development (there are others but these are the most commonly used).
Waterfall development is a very structured process where planning, design, development and testing are done in order, each stage being completed with documentation before the next is started. Often it takes longer to deliver a product but the methodology is more thorough on testing and meeting the initial requirements. If your requirements change during the development process, however, it can delay a waterfall project significantly.
Agile development is a term for a group of specific rapid development methodologies. Agile development puts the emphasis on the speed of delivering a product and then continuously testing and enhancing through iterative development. Agile development typically involves short but regular meetings between the project team and lots of small, short-term goals. Agile projects respond well to changing requirements but aren’t ideal if you need to know an accurate timescale for the project.
There are two points in building your product when you might think about making prototypes.
A proof-of-concept or working prototype is essentially a basic version of your product. The design isn’t important in this kind of prototype; more emphasis should be put on its functionality. It might be the first thing that is delivered by your developers if they are using an agile or prototype based methodology, or you might intentionally choose to make a prototype before starting work on your app. Working prototypes are useful for testing and improving the internal architecture of your product and also for approaching investors in the early stages of your business.
At some point your product might be in a beta phase. This usually means it has full functionality (it is ‘feature-complete’) but still has a few bugs.
Beta products are usually released to smaller number of users or released with a disclaimer and a means for users to report back to you with any problems and bugs they encounter.