Imagine that you are a Software Engineer or just a developer and have a new client, and he needs to design a new website or let’s say software application for his business. Where do you begin in translating his business requirements to technical specifications or solutions?
For the case of the website, clients usually start with their corporate identity creating their logo, color theme and their brand that will engage with audience and will create awareness for their business.
And as you are a designer or a developer the client will send you a brief about his mission, vision and a document that describes his services or products…thinking that this is all you need to know in order to create a website in no-time.
Actually, you are going in the wrong direction! Here is what I usually do and gather at the beginning of any project I work on. I consider these 7 steps as fundamental ones for translating business requirements to technical specifications or solutions.
1. Identify All Stakeholders
The first step should have happened before the project even got to the stage of being committed to paper as a business case. Stakeholders must be identified—all stakeholders. Otherwise, the project is not only at risk of failure; the crisis point will happen when the new system is launched—and a previously unknown stakeholder comes out of the woodwork to say it does not satisfy their needs.
2. Understand Related Business Information and Objectives
Here you need to do enough analysis about the business itself. In software development lifecycle we refer to it as Information Gathering. Look to the business units that are your project’s stakeholders to identify their business objectives. Do a competitive analysis and gathering related applications / suggested application from the client.
Analyze clients brand and come up with the most relevant graphical style and color scheme for the software application because sometimes the corporate identity created for printing materials are not the perfect combination for the web and online presence.
3. Understand Business Requirements
Understanding business processes and requirements is one of the key points towards having a successful project. Business requirements are specific needs the solution must meet. For example, you may be required to come up with a web application that is integrated with existing systems or even the company website itself. Such an application will need to share its data with other already existing systems. Unless the business requirements are thorough, it’s far too easy to make assumptions and end up picking the wrong solution
4. Understanding User Requirements
Here you will need to identify, collect, and defines core issues, requirements, requests, and customer expectations related to the software application or service during this stage of the project. Generating software specifications, creating a thorough strategy, documentation, issue tracking, and project or product planning, including allocating the resources, are some tasks done during this phase. If you are working on a large project, user requirement will make you decide on what model you will use for project management.
5. Define System Requirements
System requirements is a statement that identifies the functionality that is needed by a system in order to satisfy the customer’s requirements.
The statement should clearly explain what the customer exactly wants and how they want it. They are the first and foremost important part of any project, because if the system requirements are not fulfilled, then the project is not complete.
These requirements are categorized as functional and non-functional requirements. Functional requirements highlight the needs that the end-user specifies as essential features that the system should provide where nonfunctional requirements are the quality requirements that the system must meet in order to fulfil the project contract.
6. Define the Information flow
Information flow is the exchange of information among people, processes and systems within an organization or people working on a project. Having strong information flows in place makes it possible to overcome challenges during the project development, so stakeholders can stay aligned on business goals, make more informed decisions and work smarter, not harder.
7. Create wireframes / mockups
A mockup is a static design of a web page or application that features many of its final design elements but is not functional. A mockup is not as polished as a live page and typically includes some placeholder data. It’s useful to breakdown each part of that definition.
After designing wireframes using best user experience practice; these wireframes should be transformed into a graphical interface design that should be coded and developed as web pages.
At this stage, you may also come up with Minimal Viable Product (MVP). An MVP is the version of a new product that allows the team to gather the maximum amount of proven customer knowledge with the least amount of effort.
By following the above 7 steps, you will be able to translate your business requirements into technical specification which will in turn help you meet client’s needs.