System development projects should be done by the smallest possible team of talented people, using a short schedule, a small budget and mature technologies to deliver innovative solutions to urgent needs. This approach is called FIST: Fast, Inexpensive, Simple, Tiny.
Short timelines increase agility and stabilize requirements, technology, budgets and people. Short timelines also force accountability, ownership and learning. To maintain short timelines, a project must also exercise restraint over budgets, complexity and size. Increases to the project’s budget, complexity or size inevitably reduce its speed.
Accordingly, the FIST approach advocates the following:
Minimize team size, maximize team talent.
Use schedules and budgets to constrain the design.
Insist on simplicity in organizations, processes and technologies.
Incentivize and reward under-runs.
Requirements must be achievable within short time horizons.
Designs must only include mature technologies.
Documents and meetings must be short. Have as many as necessary, as few as possible.
Delivering useful capabilities is the only measure of success.
A project leader’s influence is inversely proportional to the project’s budget and schedule.
Creative constraints foster creativity. Adding time and/or money generally does not improve outcomes.
Fixed funding and floating requirements are better than fixed requirements and floating funding.
Complexity is a cost.
Complexity reduces reliability.
Simplicity scales. Complexity doesn’t.
An optimal failure costs a little and teaches a lot. When FIST projects fail, they fail optimally.
Iteration drives learning, discovery and efficiency. FIST is iterative.
Talent trumps process.
Teamwork trumps paperwork.
Leadership trumps management.
Trust trumps oversight.