Michael Hamilton
3 min readJan 20, 2016

The most important steps for delivering a killer software product and increasing your revenues

This article is the second part of a tutorial on the most important steps for delivering a killer software product and increasing your revenues.
Find the first part of the article here and let’s continue…

In this post I’ll share the last 4 of the 7 critical steps to delivering quality software.

4 — Software Design Traceability and Collaboration

  • Business viewpoint: Does the technical design reflect what the business wanted?
  • IT viewpoint: Is the proposed infrastructure suitable? And is the software design adequately mapped to the business requirements?

Key Notes:

  • Ensure all personnel who are involved in the overall development of the software have reviewed the software design.
  • Important here to assess if it is feasible to deliver the concept within the required timeframe.
  • At this point there is not only software design required, but architecture, hardware or infrastructure specifications must be taken into consideration. (Depending on the type of software initiative you are undertaking draft architecture/infrastructure options might need to be considered at the step 2 strategy stage)
  • With agile development/coding at a minimum write down the software design in summarised human speak or in IT terms pseudocode. (Very important to understand the thinking behind the decisions to design the software in a particular way).

5 — Build/Development Traceability and Collaboration

  • Business viewpoint: Does the software reflect the business requirements?
  • IT viewpoint: Does the software reflect the business requirements and the technical design?

Key Note: Ensure all qualified personnel who are involved in the coding/development of the software have reviewed the code before release to formal testing.

6 — Testing Traceability and Collaboration

  • Business viewpoint: Is the software ready to adequately deliver my business case benefit?
  • IT viewpoint: With the testing artefacts adequately mapped to the business requirements and software design, is the software scalable and physically ready for release to market?

Key Notes:

  • Ensure all personnel who are involved in the overall development of the software have reviewed the software testing artefacts. (Including those authoring the business requirements/user stories)
  • Do you have the right people performing the testing?
  • Do you have the correct simulated test environments or hardware in place?
  • If the agile methodology is adopted, ensure the testing documentation is of sufficient coverage to ensure the software is fit for purpose. (Cutting corners always increases ones risk).

7 — Implementation, Support and User Training

  • Business viewpoint: Now that my software is released to market have I delivered the desired outcome of the business case?
  • IT viewpoint: Is the software implementation process and ongoing user support resourced adequately to deliver the ultimate business case benefits?

Key notes:

  • Training:
  • Ensure the internal users have sufficient in-house training and access to materials post execution of the training. (e.g. sales or billing staff)
  • For external users ensure adequate guides, tutorials or reference materials are provided. (e.g. online banking customers)
  • Ensure well documented operation guidelines and user guidelines for your support staff are in place.
  • Have a process or team to monitor formal and informal user feedback. E.g. Comments on Apple App Store if a mobile application or internal surveys for an internal point of sales system.

Hope you’ve found interesting my thought so far and hopefully this article would be useful to you! The second part is coming next week and meanwhile I’ll be happy to hear from you in the comment section or at http://www.mikehamilton.com.au/

Michael Hamilton

Test Architect at National Australia Bank, Author of “It Should Just Work; Customer Satisfaction & The Value of Software Testing http://www.amazon.com.au/gp/product/B015453ZDO?*Version*=1&*entries*=0