Project checklist

Plan a new software development project

This checklist helps business owners and project managers prepare a request for proposal for custom software development. You can use this a basis for a request for proposal with other software companies.

1. Business goals

  • What does the software need to do?
  • What existing software does the software need to work with?
  • Are we replacing an existing solution, or creating something new?
  • Explain the company's revenue model and how the software is expected to contribute to the bottom line.

"We need a stock-control solution for our existing ecommerce website. It needs to interface with our online ordering system."

2. Timescale

When does the software have to be operational?

3. Overall budget

What is our overall budget for development, hosting and maintenance in the first 3 years of its operation?

4. Off-the-shelf alternatives

  • Which off-the-shelf alternatives did we consider?
  • Where do they fail to meet our objectives?

5. Standards conformance

Are there any specific standards that we need to adhere to?

6. Users

List all user archetypes who will be using the software (include management and operations roles).

7. Scenarios

List all use cases and any specifics that go with them.

"As a callcenter agent, I can see a list of all available agents within the customer's range. (Need to interface with a geolocation service to establish geolocation and distances.)"

"As an operations person, I can see the basic performance statistics in my systems dashboard. (Need to install Sensu client and integrate with Sensu Enterprise dashboard)"

8. Languages

What interface languages do we need (​internationalization substantially increases the total cost of ownership)?

9. Ownership, licenses

Who will own the source code of the newly developed software?

10. Interoperability

  • Which other services does the software need to interface with?
  • Which protocols do these APIs use?
  • Where are these services hosted?
  • Are service APIs documented?

11. Project management

Who communicates with the development team, measures progress, assesses quality, and reports to management? Per user archetype, list the person who will be in charge of user-testing their scenarios.

12. Hosting

Where should the software be hosted? On-premise? Within a certain geographical boundary?

13. Operations

What are the needs of the operations people (in terms of operating system, programming language and platform, documentation)?

14. Domain, DNS

  • Which domain will the software run under?
  • Who will own the software's domain?
  • Who are the owner, administrative, technical and billing contact of the domain?

15. Threat model

What are the main threat scenarios?

16. Warranty

What do we expect from the supplier in terms of warranty?