If you can employ several people your team might well comprise: Project Manager, Product Manager, Architect, User-interface designer, End-user liaison, Developer, QA/Testers, Toolsmith, Build Coordinator, Risk Officer, End-user documentation specialist (Survival Guide p.105). These don't always get on with each other. If they're all one person, beware!
It's likely that programmers will be seconded from other work. Sometimes this results in the programmer doing 2 jobs at once. Even if the project succeeds there may be failures elsewhere as a consequence. You need to decide how much of this task-balancing is your responsibility.