All tools

/fun · tools for work

How long will your software project take?

Eight short questions about what you want to build. The answer is a range, not a promise, shown with every assumption behind it.

    What are you building?

    How we work it out

    Every number on this page comes from this list. There are no hidden ones.

    1. Effort (person-weeks) = the base for the kind of product + the features chosen + connections to other systems + data migration.
    2. From the fourth feature on, each one adds 2% to the effort (up to 20%), because features meet each other and bugs live in the seams.
    3. The effort is then multiplied by (1 + the data-sensitivity uplift).
    4. Pace: 2 engineers at 75% useful focus (the rest of the week is review, meetings and switching), which is 1.5 person-weeks of progress per calendar week. A job under 8 person-weeks cannot be split between two people and runs at one person’s pace (0.75).
    5. Build time = effort ÷ pace. Fixing and acceptance add 20% of the build time.
    6. Waiting for your feedback is a share of build and fixing time (table below).
    7. On top come discovery, a part of the design (60% of the designer’s weeks land on the calendar; the rest overlaps with discovery and set-up) and launch (1 week, or 2 with a lot of data). The total is the middle estimate.
    8. The range = the middle × a low factor and a high factor, which come from how clear the requirements are (table below). The high factor gains 0.1 for each risky answer, up to 0.3: an old system, a lot of data to move, formal requirements, slow feedback.

    Base for the kind of product (person-weeks)

    An internal tool for staff
    5
    A public site your team can edit
    4
    A web app for customers
    8
    A mobile app and the API behind it
    14
    A reporting dashboard over existing data
    4
    Connecting systems you already run
    3

    Each feature (person-weeks)

    Roles and permissions
    1.5
    Online payments
    2
    SMS and email notifications
    1.5
    Reports and Excel or PDF export
    2
    File and media upload
    1
    Search and filters over a lot of data
    1.5
    An admin panel
    2
    More than one language
    1.5
    Workflow and multi-step approvals
    3
    Real-time features
    3

    Connections to other systems (person-weeks)

    No, it stands alone
    0
    One system, with a clear API and documentation
    2
    One older or undocumented system
    4.5
    Several systems, all with a clear API
    5
    Several systems, some old or undocumented
    10

    Data migration (person-weeks)

    No, we start fresh
    0
    Not much, and tidy
    1
    A lot, or messy
    4

    Design (designer-weeks)

    The final design is ready
    0
    Standard components are fine
    1
    It needs a custom design
    3

    Clarity of requirements: discovery weeks and the width of the range

    Written down and specific
    1 week of discovery · Range 0.8× to 1.3×
    A general idea, not the detail
    2 weeks of discovery · Range 0.65× to 1.6×
    Just the problem
    3 weeks of discovery · Range 0.5× to 2×

    Data sensitivity: uplift on effort

    Ordinary
    +0%
    Customers’ personal or financial details
    +15%
    Formal requirements
    +35%

    Speed of feedback: uplift on build time

    Within two working days
    +0%
    Within a week
    +15%
    Sometimes two weeks or more
    +40%

    Basis: a simple bottom-up model in the spirit of reference-class estimating, and the well-known idea that an early estimate is inherently wide and narrows as the requirements become clear. These figures are working assumptions, not measurements: they have not been fitted to any particular team’s records. Read them as a starting point for a conversation.