Software Development Checklist

Chess logo

After reading the “Checklist Manifesto” by Atul Gawande, I felt inspired to create my own checklist. I highly recommend this book if you haven't read it. At its core, it explains how a complicated task can be broken down into a simple checklist.

One example the author gives is the landing procedure for a plane. It consists of no more than 10 points, yet an experienced pilot can follow it and land the plane safely.

In my case, we are going to use the methodology and framework explained in The Checklist Manifesto and apply it to building a software application.

While it is not as complicated as landing a plane, with endless choices, I hope this checklist can serve you as a lighthouse in your software development journey.

I can divide the checklist into these main headings:

Research

  • Does this idea already exist?
  • Who are your competitors?
  • What are you doing better or differently?
  • What is your licensing strategy?
  • What is your marketing plan?
  • What is your business plan, including budget?
  • Who is your target audience?
  • Have you done user research?
  • How are you going to capture user feedback?
  • What is your analytics strategy?

Design

  • Have you created a user flow map?
  • Have you identified the platform(s) where the software will be used?
  • Have you created wireframes?
  • Do you have clear branding guidelines?
  • Do you have a design language/standards?
  • Have you created high-fidelity designs?
  • Have you tested your design?
  • Have you implemented user feedback?

Development

  • Have you specified your business requirements?
  • Have you specified your technical requirements?
  • Are you choosing a technology that is well supported and documented?
  • Have you used a costing calculator to estimate the infrastructure cost for your application?
  • Do you have an architecture diagram of your application?
  • Have you decided how to secure your customer's data?
  • Have you thought about which analytics service you are using?
  • Have you chosen a logging and monitoring strategy for your application?
  • Will your application have a feedback mechanism such as notifications, subscriptions, etc.?
  • How will you handle technical debt? Will the application be open source or closed source?
  • How will you handle purchases from your customers?

Publish

  • Which publish store will you use for your application?
  • How will you handle marketing of your application?
  • How will customers find your application?
  • What are the metrics of success for your application?
  • How will you handle customer feedback?
  • What happens if you appear on Reddit or Hacker News and get an influx of visitors?

Iterating

  • How will you track new features or bug requests for your application?
  • What features will you prioritize over others?
  • How will you handle increases in the cost of your application?

Happy coding!