The Art of Strategizing User Requirements

~ Back to my Profile Page ~

Introduction

According to the Project Management Institute (PMI)’s report 2017 (https://www.askspoke.com/blog/it/reasons-for-it-project-failure/), 14% of IT projects fail and of the failed projects, 39% failed due to bad / inaccurate requirements. This figure is quite substantial. The report came out in 2017, 15 years after the conception of the very well acclaimed Agile User Stories.

Whether it is Agile User Stories or the traditional pre-Agile way of capturing user requirements, it is not down to just the methodologies themselves, the art of capturing User Requirements is down to the person who communicates with the business to be able to understand the strategic goals.

Business organisations are constantly facing completion. Organisations have to adopt a strategic approach to retain competitiveness and to grow. Nowadays technology underpins the implementation of most business strategies. However, business strategies are still pretty much oversighted by the technology solution community. Business strategies are still seen by solution delivery community as too high level. Hence out-of-scope of technology implementation. For example:

“As a Chief Executive Officer, I want to increase my product ranges to offer to more diverse consumer groups to increase revenue and profit.”

Such user story is seen to be not implementable (aka: codable) in terms of software development.

Business Strategies vs. Technology Solutions

I am so passionate about requirements. I have seen many organisations, inclusive of private and public sectors, have fallen into the trap of trying to “solutionise” even before identifying the requirements. There is still a disjoint between the business community and the technology solution delivery community. Business wants the technology to assist them in implementing their strategies in order to achieve their goals (eg: to retain competitiveness, to grow, to drive efficiency, to reduce cost etc.). However, to the disappointment of many business customers, the current technical solution practices are still very much emphasising in software performance. Many solution practitioners still focus on software analysis and design methods, programming and user interface techniques rather than on the support to the business strategies. As a result, software products, rather than solutions to support business strategies, are delivered to the customers. Hence the expectations from the business remain severely neglected. Subsequently, technology solutions frequently fail to help the business deliver their strategies and to gain business benefits.

Strategizing User Requirements

The underlying problem as described above may be improved by an approach to help Business Analysts who capture the business requirements on a strategic level. This approach is called: “Strategic Requirement Control Centre” (SRCC) which is a conceptual model having the ability to:

· Encourage business management and technology practitioners to have mutual understanding and mutual consultation with each other on the high level business goals and business strategies;

· Effectively link the business strategies directly to the day-to-day business operations;

· Reflect the way that the day-to-day business operations align to the business strategies;

· Ensure that the day-to-day business operations are properly defined in the technical solutions;

· Review the effectiveness of the technical solutions against the performance of the day-to-day business operations;

· Review the business performance against the business strategies;

· Check whether the business strategies can help achieve the business goals

SRCC is presented as a tool to encompass organisational strategic management planning as much as it does information technology strategy. The techniques it provides seek to help change the mind-set of the technical community to focus more on how the software solutions support the business strategies. One of the motivations of the SRCC is the involvement and participation of business management in the technical solution development. It is believed that their involvement will enable the technical solution practitioners to implement the technical solutions to align with the business strategies more effectively.


Strategic Requirement Control Centre (SRCC) Model
As illustrated in the above diagram, the SRCC communicates with all stages of project development lifecycle. The starting point is represented by a black dot. Each lifecycle contains 7 stages in the order of:

Business Vision, Mission, Objectives, Strategy & Tactics (VMOST)
VMOST is to capture current strategy of an organisation and what it is trying to achieve.

Strategic Management Planning (SMP) Interview / Questionnaire / Assessment
The SMP is used to set priorities, focus energy and resources, strengthen operations, ensure that employees and other stakeholders are working toward common goals, establish agreement around intended outcomes / results, and assess and adjust its direction in response to a changing environment.

Business Processes / Operating Procedures
Business Process & Modelling Notation (BPMN) is to define the business processes in response to the SMP. A gap analysis is to be conducted to compare the AS-IS and TO-BE business and system processes so as to identify what needs to be done. The ISO20000 Standard Operating Procedures are adopted by organisations who want to be ISO certified.

Modelling – Use Cases, User Stories, Acceptance Criteria
Use Case Modelling is to identify, clarify and organise requirements. It is made up of a set of possible sequences of interactions between systems and users in a particular environment and related to a particular goal. For organisations which adopt the Agile software development, User Stories are a tool to capture a description of a software feature from an end-user perspective. A user story describes the type of users, what they want and why. It helps to create a simplified description of a requirement. User Stories should cover both functional and non-functional requirements.

Solution Architecture
Solution Architecture is to take the requirements generated from the Use Case Models and User Stories to design, describe and manage the solution engineering in relation to specific business problems.

Implementation
Implementation is to execute and develop the requirements and the solution designs.

Testing
Testing is to ensure both functional performance (ie: software features, user interface, processes, workflow, input/output and database storage) and non-functional performance (ie: usability, reliability, availability, responsiveness, security and resilience) can meet the business requirements.

Iterative Delivery
In an Agile development, each iteration consists of minimum viable product(s). User training could commence as part of the iterative deliverable. To fulfil the spirit of “Continuous Improvement”, after the Iterative Delivery, the arrow points to the VMOST stage to check the technology solutions against the business VMOST.

Strategic Requirement Control Centre (SRCC)
The SRCC in the centre communicates with all stages. Any changes in the business having impact to user requirements, solution architecture & design and subsequently the technology development can then be fed to the SRCC immediately and the technology solution implementation can then react in a timely manner. The SRCC is to provide a centralised command centre to monitor what comes in and what goes out and to conduct impact assessment, risks and issues. Deploying this methodology ensures that user stories are aligned with the business strategy.