System Requirements Analysis
The best way to ensure project success is to know full system requirements ahead of time and to hire a contractor who fully understands them before starting the project. Non-engineers usually capture their needs as lists of items and features, formatted documents, or even user stories. However, these documents are not suitable blueprints for complex technical systems with multiple users and subsystems. It is the job of the professional systems analyst to convert these “informal requirements” into “technical specifications” via an iterative and exploratory process known as the “system requirements analysis”. While you may not understand everything our analyst products during this process, it is imperative you critically review the various artifacts if only to ensure that they convey a plan and a deep understanding of your system. Most importantly, the results of the System Requirements Analysis will serve as the basis of the System Development Estimate.
Why Do I Need a System Requirements Analysis?
There are many reasons to prepare formal requirements documentation. A proper analysis will better ensure that the final system includes all required functionality and features needed by internal and external end users. The analysis will also provide a more accurate understanding of the true costs of building the system. Read what our president and founder Marc Ragsdale has said about requirements analysis:
“In my 15 years of experience consulting with clients on web, desktop and mobile development projects, I have found that an in-depth requirements analyses is critical to project and marketplace success. Understanding the requirements in advance helps to ensure that business goals and user needs are met and that the solution achieves what it was designed for. In a website redesign project, your requirements should map directly to any point of pain or frustration that users experience with the current site. Without a solid understanding of those needs at the beginning of the project you are likely to end up with a site or application that neither achieves your goals nor delights your users.
Requirements analysis is an iterative process that begins with an initial brainstorming session and continues throughout the development cycle. Having something concrete in your hands will make the production experience more fluid and efficient and the final deliverable more likely to hit the intended target. With a Prospus system requirements analysis we will guide you through the entire process and deliver a comprehensive architectural blueprint of your solution so you can rest assured that you are prepared for development.”
Failure to properly analyze a project up-front – especially a complicated system – will almost certainly result in unexpected costs, delayed timelines, and increased chances of project failure. Perhaps the most visible benefit of planning is in the potential cost of fixing errors or oversights. An error discovered in the development phase of a project could cost up to twenty-five times or more to fix than if uncovered during the analysis.
About Our System Development Estimate
Any development estimate is based on both the known requirements and assumptions of a system. At Prospus we have a proven method for deriving requirements and enumerating assumptions that permits us to accurately estimate the costs of building complex systems . Before we can arrive at a realistic project estimate we use our proprietary methodology to determine the number of elements within the system and the approximate complexity. Starting with the client requirements, from those we elicit additional technical requirements by conducting various analyses. Assuming the requirements are fully known to us, we can commit to a narrow budget range and timeline.
How It Works
The process for producing a full set of system requirements will vary with the project; some methods are great for certain types of systems, but poor for others. There are four stages in the life cycle of a requirement. While non-technical clients may not understand everything a skilled Prospus analyst produces during this phase, it is imperative that they critically review our work if only to ensure that it conveys a plan and a deep understanding of the system.
And whether a client ultimately chooses to work with Prospus or not on the actual production of the project, the documents we produce during a system requirements analysis are mandatory for development because they precisely specify what the system is supposed to accomplish. Clients can utilize the documents to make more informed decisions and hold contractors accountable.
Generally-speaking, there are four stages in the requirements life-cycle:
- Needs Analysis – All systems start out as sets of related problems. People identify issues they confront and needs that require servicing until they congeal together to form a firm system requirement. Before we start inquiring about the requirements, our systems analyst will want to know about the people involved and the challenges they are facing.
- Requirements Discovery – Given an understanding of problems, the systems analyst can start to define actual system requirements. At this stage the requirements range from non-technical to technical. We follow a formal fact-finding process which includes research, meetings, interviews, questionnaires, sampling, and other techniques to collect information about system problems, requirements, and preferences.
- Requirements Analysis – Once requirements have been harvested and documented, they need to be thoroughly analyzed with various tools to ensure all missing, conflicted, infeasible, overlapping or ambiguous requirements are resolved. The final document that emerges from this phase will serve as a legally-binding agreement between all parties involved.
- Requirements Management – Over the lifetime of the project it is very common for new requirements to emerge and existing requirements to change. Studies have shown that as much as 50 percent or more of a system’s requirements will change before the system is put into production. Since requirements form the basis of a legally-binding contract between multiple parties it is essential that all changes be properly documented and involved parties consent. Requirements management is the process of managing the changes and execution of requirements.
Requirements specify what a system must do or what property or quality the system must have to meet the needs of the users. They are broadly broken into three categories: business requirements; user requirements, and system requirements. We solicit requirements in all formats and contexts and use them as the basis for our formal technical analysis. The quality and detail of the requirements documents provided by the client will directly impact the timeline and success of both the analysis and the project. Incomplete requirements will lead to longer timelines and misunderstood project goals.
Business requirements are what must be delivered to provide value to the various stakeholders. To discover business requirements a business analyst must not only understand what a business presently does, but what it should do better to achieve its goals. Our technology-oriented business analysis process ensures that all business objectives are captured.
User requirements are those features and functions the specific system users will require. The analyst will pay special attention to use cases and how they are implemented in terms of usability and workflow. Properly capturing user requirements may require extensive user feedback for users who are presently trained in systems which perform similar functionality.
System Requirements: Functional Requirements
Functional requirements specify the software functionality that the developers must build into the product to enable users to accomplish their tasks, thereby satisfying the business requirements. In simpler words, functional requirements state what the system must do. They include business rules, transaction corrections, adjustments, administrative functions, authentication, audit tracking, external interfaces, certification requirements, reporting requirements, historical data, and legal and regulatory requirements among other things.
Why Choose Prospus for Your System Requirements Analysis
System requirements analysis is the process of systematically identifying what a system should accomplish, and then clearly documenting that understanding as the basis of a contractual agreement between two or more parties. According to the Project Management Institute 70% of IT projects fail due to incomplete or poorly-understood requirements. At Prospus we understand the importance a proper requirements analysis plays in the success, or failure, of your IT project and have designed our discovery process in such a way as to minimize risks and identify opportunities early on. We apply a three-part strategy to achieve stellar results in every single systems analysis we perform:
1. We hire exceptional talent. Project success starts by hiring the right talent for the job. Systems analysts are one of the most highly-paid professionals in the IT industry, and for good reason; they are responsible for researching, planning, coordinating and recommending diverse software and system solutions to meet an organization’s business requirements. The systems analyst role is vital and therefore must meet exceptionally high standards analytically, technically, managerially, and inter-personally. That is why we hire only experienced systems with 10+ years of hands-on experience with software and database projects, extraordinary written and oral communication skills, and a proven ability to identify and extract all requirements before signing off on a project.
2. We follow a proven process. Talent is important, but a talented analyst following a faulty process will deliver incomplete results just the same. Systems analysis is not a perfect science, so the process needs to be sufficiently flexible to account for the kind of variation we find in systems development. Our process has been designed and perfected over years of experience and has proven itself time and time again to account for even the most complicated application scenarios.
3. We collaborate to achieve business objectives. There is a well-known saying in the project management field that development is the process by which a client discovers what they truly want. Although this is unfortunately true in many (if not most) cases, determining what you want during construction should be avoided at all costs. Not only does it lead to costly change orders, but the back-and-forth severely compromises the development of a solid, secure foundation. An effective requirements analysis led by an expert consultant skilled in a variety of techniques for eliciting business needs will greatly reduce the chance of missed requirements.
At Prospus we employ a collaborative approach to the requirements harvesting process, whereby we go beyond passively documenting needs, but actively engage in identifying risks, opportunities, strengths and weaknesses.