DEFINE SOFTWARE STRATEGY

Define software strategy by listing technical and functional requirements, applying the Agile methodology, communicating user stories, re-examining product roadmaps, prioritizing important features, describing the Web architecture, analyzing database options and APIs, and setting up standards for quality assurance.

Requirements Gathering
Round up a list of all functional and non-functional requirements of the product/service and relay them to designers and developers.

Project Management Methodology
Draw out and apply the principles of Agile Project Management, putting premium on individuals and interactions, working software, customer collaboration and responding to change.

User Stories
Communicate user needs and objectives in a specific product/service by focusing on the user action over the requirement.

Product Roadmaps
Re-examine different roadmaps and identify which roadmap best represents the company's vision for the product/service.

Prioritizing Features
Find out what users need through customer feedback, and give priority to features that will convince them more to buy the product/service.

Web Architecture
Define the components of the web architecture by analyzing scenario-specific data to pinpoint performance optimizations.

Database Options
Determine the best database options (relational, NoSQL, hybrid) structured around the user stories and roadmaps.

APIs
Design API structures and specify the set of routines and functions needed in order to interact within the product/service components.

Quality Assurance
Set standards using acceptance tests/criteria and validate the proper implementation of features.