Identifying the business and the functional requirements that are mission critical for success. Matching the top priority requirements with the possible solution architectures. Identifying trade-offs between the possible solutions.
Implementing the chosen solution using software best practices. Using iterative agile methodology to receive feedback and re-align on changing priorities. Creating documentation to deliver the clear and complete package.
Creating error-handling allowing automated or semi-automated healing in case of various fault situations. Using visual dashboards to monitor the key components of the system to get instant insights and identify key bottlenecks.