A few months ago, I was talking with a client about things they should consider before launching a new product we, Readify, were helping them to build. I put a list together and walked them through it.

I thought I’d document the checklist here for future reference. This by no means is an exhaustive list of everything you need to consider; but rather a list of things I’ve seen commonly overlooked. Then again, there is a lot in here. Just cherrypick what’s applicable to your particular case.

I am assuming you already know how to deliver quality software. With that out of the way, here’s the list.

User Experience

  • Before doing anything else, identify and validate the problem you’re working on. Design Thinking is your friend here.
  • Perform user/usability testing, as you start creating prototypes and develop features. I’ve had good experience with User Testing. A few things to consider for usability testing:
    • Who to test the product with?
    • Developing personas for usability testing (and early adopters)
    • How and where do you find users?
    • Prepare the usability scripts and scenarios
    • Arrange and run interviews
    • What to feed back into the roadmap and what to discount
    • Do you need confidentiality agreement for external user testing?

Product Management

  • Use a sound product market fit process and strategy. I am a big fan of Lean Startup.
  • Perform a competitor analysis to see what others are doing.
  • Are you doing soft launch or big bang release? Do soft launch whenever possible.
  • Create and maintain a product roadmap. Refine the roadmap based on market analysis as well as the feedback from usability testing and early adopters.
  • Do you publish your roadmap? How far into the future? Don’t commit to long term roadmap. Your roadmap will change by the time you get there.
  • How do you gather feedback from your users? How do you prioritise their feedback along new feature development?
  • What needs to be in place before you release the product to early adopters? What needs to be in place before you open the flood gates?

Marketing

  • Find a name! Sounds kinda funny; but a lot of people fail at this. A few considerations:
    • Brainstorm around possible names
    • Google them to make sure they don’t point to existing products and services or to bad press
    • Make sure the name you pick is google-able; e.g. don’t name your product go
    • Make sure there are some domain available for that name
  • Buy your domain and consider buying a few other top layer domain names for your domain; e.g. .com, .com.au, .net, .io.
  • Define a tagline for the product.
  • Define a pricing structure and strategy. Test your pricing structure with your early adopters. Do you provide a different pricing for your early adopters?
  • Think about marketing. Do you need a landing page? Who’s going to write the copy? Who’s going to design the landing page? Who’s going to do SEO?
  • If you don’t have this already, design a clear brand identity; i.e. colour palettes, icons, style guides etc.
  • Do you want to have a launch “party”? Do you know your launch date?
  • Consider a launch plan. Are there magazines, blogs or publications you want to target to promote the launch of your product? Have your articles, tweets etc ready in advance.
  • Do you need a social media presence?
    • What’s the social media persona you want to embody?
    • Who’s going to be the social media person?
    • Who’s going to write tweets and updates?
    • Do you need an approval process for new updates and responses?
    • Is the twitter handle available?

Business Processes

  • How are you going to sell your product? Where can your customers find your product?
  • Can you accept payment from your customers?
  • Who’s going to provide application support for end users and how? Phone support, in-person, in-app chat, Facebook, Twitter etc?
  • Is your product used globally? If yes, (how) will you provide round the clock support?
  • How do you train your support staff with upcoming features?
  • How will you communicate changes and new features to your users?
  • Do you need to develop help, documentation or FAQ for the product? Try to aim for a product that’s so user friendly it doesn’t need a lot of support or training.
  • Do you have a CRM? Does it fit this product?
  • Create privacy agreements for your users
  • Create license agreement for your users/customers

Security

  • What kind of data would you be storing - PII, PCI, PHI?
  • What sort of regulations do you need to comply with - APP, GDPR, IRAP, NEHTA etc?
  • Do you have data sovereignty requirements?
  • Consider creating a responsible disclosure policy/guideline. Checkout Tesla’s for inspiration.
  • Consider bug bounty programs; e.g. bugcrowd.
  • Create a data retention and destruction policy.
  • Create a data breach response policy.
  • Consider creating a BCP and DR policy.
  • Do you have a security monitoring and alerting system in place?
  • Consider performing penetration testing.
    • Do some research and find reputable pen testers.
    • Do you want to do blackbox, greybox or whitebox testing?
    • How often would you redo the test?
    • Does the vendor allow free/discounted retest if they find vulnerabilities? If yes, what’s the grace period?

Technical

  • Do you have a logging, monitoring and alerting system?
  • Do you have a sound backup strategy in place? Do you test your backups on a regular basis?
  • Do your BCP and DR policy cover your technical recovery? What’s your mean time to recovery?
  • Have you done load and stress testing on your app? Can you monitor your application performance proactively?
  • Do you have health dashboards setup?
  • Can you do zero downtime release? This is much more critical if you are working on a globally used product with no “after hours”.
  • What’s your SLA? Do you have maintenance window? Is it communicated in the license agreement?

What have I missed? What do you take into account for a product launch?