What Makes a Good Set of Application Requirements?

Spread the love

A business requirement defines what the business believes to be important for the success of the project. The business typically comprises management or stakeholders who are funding the project. The requirements can be kept and tracked at a high level. An application architect will have to translate requirements into specifications and design.

User Requirements

User requirements are the tasks the users must be able to accomplish to meet the objectives of their jobs. Ex: A customer service representative must be able to place an order for a customer. These are all high-level user requirements that usually lack use-case definition and specifications. Typically a business analyst will then detail a number of steps that are involved in the user requirement process. In addition, an architect should define the specifications for the given requirement.

Developers need to know what constitutes an order, what fields are required, what rules will be processed, and so on.

Functional Requirements

Functional requirements or functional specifications are the features the developers must build to satisfy the other requirements. These requirements are typically defined in great detail to help developers understand exactly what it is they need to develop. The functional requirements are typically written by a technical lead or architect. A functional requirement, for example, might be to create an ASP.NET Web page for managing a customer’s profile. The functional requirement should include the name of the page, the controls used on the page, the input validation rules, the security rules for the page, the classes that should be called to support the page’s functionality, and so on. As you can see, functional requirements can be very detailed. It is often better to do functional design rather than to write functional requirements.

Quality-of-Service Requirements

Quality-of-service (QOS) requirements define the contractual, or non-functional, requirements for the system. QOS requirements do not typically represent specific user problems. Rather, they define the requirements around things such as performance, scalability, and standards. Ex: All customer-facing page requests in the site should return to the user within five seconds over a standard high-speed Internet connection.

Requirements and use cases have two different goals. Requirements define what needs to be created for the system to be successful. They are useful for defining scope and determining whether you have met objectives. Requirements are often traced all the way through the implementation process. Project managers and testers create requirements traceability matrices that define how a requirement is realized through the system.
Use cases, on the other hand, are meant to define a set of steps to reach a common user goal. Use cases are more about the process by which a user reaches a requirement. They help architects, developers, and testers understand how people work and how the system should accommodate their activities. They are not, if written correctly, requirements

Evaluating the Requirements for the Application

  • Requirement perspectives Are all requirement perspectives considered? Do you have definitions for the business, user, and QOS requirements? Can you derive the functional requirements and design from this set of requirements?
  • Unambiguous Does each requirement define a specific, actionable scope item? Can each requirement be acted upon? Make sure that there are no soft requirements.
  • Complete Are the requirements complete? You need to identify missing elements in the requirements. You should also indicate where further clarification of one or more requirements is warranted.
  • Necessary Are all the requirements actually necessary to satisfy the goals of the application? Sometimes business analysts, developers, and architects can add things into the system that are not really required.
  • Feasible Are the requirements, as they are documented, really feasible? Review the requirements against known constraints such as budget, timeline, and technology.

Defining the application’s requirements, making your technology recommendation, and creating a high-level design are the necessary risk-aversion steps to begin your project. You will use this information to define a prototype, refine your design, and begin creating detailed specifications and an application architecture.

Lesson Summary

  • Application requirements should be defined from multiple perspectives. This includes the business or executive sponsorship, the users, the developers (functional), and the quality of service (non-functional).
  • Your functional requirements or functional specifications are better off defined through application modelling tools. You should not have to document this once on paper and again in the models.
  • A good requirement should be unambiguous, measurable, and actionable. It should neither read like a goal nor be left open to interpretation.
  • Verify that all your requirements are necessary to the success of the system. Those that are not should be set aside.
  • It is important that developers and architects make recommendations that match the real requirements. They should not recommend technologies only because they are cool or available. Rather, they should perform careful analysis and make proper recommendations.
  • Always review your recommendations against existing solutions. There might be an offtheshelf product or an internal company asset that you can use.
  • Start the process of validating your recommendations by creating a high-level application design. This should include your recommendations in terms of technologies, how these technologies integrate to form a solution, and any configuration parameters and constraints of these items.

Leave a Reply

Your email address will not be published. Required fields are marked *

  • Broadband Speed Check
    Spread the love Broadband speed refers to the data transfer rate from the internet to your computer.  Broadband speed tests measure […]
  • Compare Internet Service Providers (DSL)
    Spread the love   Verizon DSL Qwest DSL Deluxe AT&T U-Verse High Speed Internet. Maximum connection speed (Download / Upload)* 0.5 -1 […]
  • Compare High Speed 56K Dialup ISP
    Spread the love   PeoplePC AT&T Copper.net EarthLink ISP.com AOL Time usage/m Unlimited Unlimited 200 hr Unlimited Unlimited Unlimited […]
  • DSL vs Cable Internet – Differences between DSL and Cable Internet
    Spread the love DSL internet Cable internet Data transmission via phone line Data transmission via coaxial cable line Connected through DSL modem […]
  • VoIP – Bonus Features
    Spread the love Unlike landline phone service, VoIP providers often provide many bonus features for free.  Some of them are very useful to […]
  • Virtual Telephone Number – What is a virtual telephone number?
    Spread the love A virtual telephone number is simply a phone number that doesn’t have a directly-associated phone line.  It is a vanity number […]
  • Satellite VoIP
    Spread the love The market of VoIP has been expanding rapidly over the past few years.  VoIP allows the transmission of voice signals over the […]
  • VoIP – FAQ
    Spread the love VoIP is a relatively new phone service to many consumers.  Some of you may have hesitations when transferring your phone service from […]
  • Cable Internet Service Providers
    Spread the love Comcast Cable Internet Maximum connection speed: 8 Mbps / 384 kbps (download speed up to 100 times faster than 56K dialup) $75 Cash […]
  • Broadband DSL. What does DSL stand for?
    Spread the love DSL stands for “Digital Subscriber Line”. It is a family of technologies that provides digital data transmission over the wires of […]
  • Broadband Internet
    Spread the love Broadband Internet, also called High Speed Internet, is an internet connection offering high data transmission rate of 256 Kbps […]
  • Wireless Internet Service Providers
    Spread the love AT&T Wi-Fi service can connect you with public wireless high speed internet access at speeds much faster than dialup when you are […]
  • Satellite Internet Providers
    Spread the love HughesNetTM offers affordable, super-fast, always-on, satellite Internet access and is available anywhere in the contiguous […]
  • VoIP for Small Business
    Spread the love VoIP, or voice over internet protocol, is a technology that has revolutionized the way businesses communicate today. This technology […]
  • Wireless Internet / Wi-Fi
    Spread the love How does wireless internet work?  Wireless internet transfers digital data using radio frequency. Wi-Fi is the leading wireless […]
  • Ten Tips for Choosing a VoIP Provider
    Spread the love What should you consider when choosing a VoIP provider? Read our simple tips and do your own VoIP comparisons before making your […]
  • Satellite Internet
    Spread the love Satellite Internet Access is probably the most expensive high speed internet service for home users. However, in rural or remote […]
  • Best VoIP Providers
    Spread the love VoIPo Residential VoIP Key Features: Unlimited Calls to US/Canada Over 38 Calling Features 2nd Line (Cloned) Free Equipment Free […]
  • ISP: Tips for Choosing a Good Broadband ISP
    Spread the love For those who are relocating or moving from dialup to broadband internet access, choosing a broadband ISP can cause some headaches. […]
  • 56K Dialup ISP / High Speed Dialup ISP
    Spread the love PeoplePC Accelerated Unlimited internet access Accelerated technology increases speed by up to 5X Smart dialer technology (dial the […]