• Skip to main content
  • Skip to after header navigation
  • Skip to site footer

Shaping Software

Enduring Ideas in the Realm of Software

  • About
  • Topics
  • Best Software Books
  • Archives
  • JD Meier.com

How To Learn Software Requirements Better with User, Business, and System Goals

Jun 1, 2008 by JD

How To

“Start with the end in mind.” — Stephen Covey

Having worked at Microsoft for several years, I have learned that one of the key ways to ensure successful software development is to start with a clear understanding of user goals, business goals, and system goals.

Too often, people jump right into the details of a project without first creating clarity around the larger goals, leading to failed projects and wasted time and resources.

Goals provide the structure and shape for success, and by focusing on them from the beginning, we can create better software requirements and ultimately deliver more successful projects.

How To Learn Software Requirements Better, Faster, Easier

The most effective way I’ve found to elicit requirements, is to simply ask:

  • What are the user goals?
  • What are the business goals?
  • What are the system goals?

I like to follow on by asking about the boundaries (constraints) for goodness and the tests for success.

User Goals, Business Goals, and System Goals

User goals are the needs, expectations, and preferences of the users or customers that a product or service is intended to serve.

Business goals are the objectives, targets, or outcomes that a business aims to achieve through its products or services.  Business goals address business value, getting the job done, compliance, etc.

System goals are the technical requirements or specifications that define the functionality, performance, and constraints of a software system.  System goals address things like manageability, maintainability, evolvability, integration … etc.

In all cases of course, there’s flavors of quality attributes, experience, and service levels …etc.

Example of User Goals, Business Goals, and System Goals

Here’s a simple example of user goals, business goals, and system goals…

User goals:

  1. To accomplish a specific task or activity
  2. To have an intuitive and user-friendly experience
  3. To feel satisfied with the product or service
  4. To have their needs and desires met

Business goals:

  1. To generate revenue or profits
  2. To increase market share or customer base
  3. To improve brand reputation or customer loyalty
  4. To comply with regulatory requirements or industry standards

System goals:

  1. To be scalable and flexible to accommodate growth and change
  2. To be secure and reliable to protect user and business data
  3. To be maintainable and upgradable to support ongoing development and improvements
  4. To be efficient and performant to meet user and business needs in a timely manner.

How Do User Goals, Business Goals, and System Goals Relate to Use Cases and User Stories?

User goals, business goals, and system goals are the higher-level objectives that drive the development of software applications.

These goals serve as the basis for defining user requirements, system requirements, use cases, and user stories.

Let’s step into this…

  • User goals represent the needs and desires of the end-users of the software application. They are typically described in the form of user requirements and user stories, which capture the functionality that the user needs to achieve their goals.
  • Business goals represent the objectives of the organization that is developing the software application. They are typically described in the form of business requirements, which capture the business processes that the software needs to support.
  • System goals represent the technical objectives of the software application. They are typically described in the form of system requirements, which capture the technical specifications that the software needs to meet in order to achieve its functional and non-functional requirements.
  • Use cases and user stories are used to document how the software application will support the user goals and business goals. They provide a detailed description of how the user will interact with the system to achieve their goals and how the system will respond to those interactions. The use cases and user stories also provide a basis for testing and validation of the software application.

Design is How It Works

Understanding the different types of goals – user goals, business goals, and system goals – is crucial to developing effective software requirements. It provides a clear structure and direction for the development process and ensures that the end product meets the needs of the users and the business.

As Steve Jobs famously said, “Design is not just what it looks like and feels like. Design is how it works.”

And to make it work, we need to start with clear goals and requirements.

You Might Also Like

Shifts of Power
Types of Requirements
User, Business, and Tech

Category: RequirementsTag: Requirements

About JD

Previous Post:Shifts of Power
Next Post:App Types, Verticals, and Scenarios

Reader Interactions

Trackbacks

  1. User Requirements vs. System Requirements says:
    Jun 9, 2008 at 7:42 am

    […] What are the User, Business, and System Goals? […]

  2. Implement It Three Different Ways says:
    Aug 17, 2008 at 11:24 pm

    […] What are the User, Business, and System Goals No Comments, Comment or Ping […]

Sidebar

Recent Posts

  • What is ChatGPT?
  • Agile Performance Engineering
  • What is Cybersecurity?
  • Software Security Threats: A Comprehensive Guide
  • What is Software Security?

Popular Posts

Best Software Books of All Time
Best Practices for Project Management
Best Practices for Software Development
Customer-Connected Engineering
How To Frame Problems Better
How To Pitch Business Ideas Better
How To Structure Vision Scope Presentations
Intro to Lean Software Development
Lean Principles for Software Development
The Enterprise of the Future