If you’re about outsourcing a new technology project, you may think of the RFP (request for proposal) structure, which helps you save time and get highly informative bids from vendors. Here’s an outline on how to write a request for proposal and which questions businesses ask and vendors answer.
What is an RFP?
A request for proposal is the first step to initiate when choosing a vendor for your project. A good RFP outlines company or project specifics that provides detailed requirements to the product or services and gives timelines. A well-thought-out RFP structure promotes potential candidates to create informative bids. Received bids are compared in order to make an adequate conclusion about cooperation.
As a custom software development company, Qulix has received and processed hundreds of RFPs from potential customers. Detailed and comprehensive requests for proposals help vendors send an informative response as soon as possible.
We understand that writing requests for a proposal for a mobile app, web, desktop or middleware or even a small site redesign can be overwhelming. So, Qulix specialists decided to share examples of a successful RFP format for outsourcing a tech project. In this article, you’ll find the recommended structure, practical tips, expert advice and examples of RFP sections.
Here is what an RFP template for software development should contain:
- Executive summary of the project and company overview
- Scope of services and deliverables
- Project Management
- Functional Design
- Product Requirements
- Product Management
- Suggested structure for vendor bids
- Selection criteria.
Let’s consider all these points in further detail.
1. Executive summary of the project and company overview
As you write the project summary, mention its goals, objectives, requirements, restrictions in a simple and comprehensive way. Include information about your target audience. Make it informative and compressed. Most likely you are to edit this part a couple of times later, but make sure you start with it now. Add a few paragraphs about your company and its background.
As you list project goals, there are 2 things to consider:
- The goal of any activity is beyond the scope of this activity. That is, the goal of creating a website is to promote omnichannel interaction with your customers and not just sell your product. The goal of designing a B2B platform is to reduce costs and increase turnover through automation and not just develop software for interaction with customers. We need your real goals and objectives to offer a solution tailored to your needs.
- Get quantitative goals set. They may be attainable and final or just indicate the direction of business development. For example: to double sales by 2020 or to increase sales at least twice each year. No matter which option you choose, just make sure you can track progress.
This part of an RFP is pretty direct and strategy-related. However, these pieces of information are the most important ones. Make sure you answer the following questions:
- What makes your company unique?
- Which idea you would like to implement?
- Do you have a project vision?
- Which values this project should add to the existing business processes of your company?
- Who is your target audience? For who will the outsourcing software company be designing?
- What are the pain points and obstacles you’re trying to overcome?
- Why your current solution isn’t working (if any)?
Feel free to add information you find crucial to help your potential vendor get a better understanding of your business.
2. Scope of services and deliverables
As we move to the technical part of your RFP, it starts getting a bit more complicated. This part is likely to be the longest part of your request for a proposal for a software development company. The more details you specify here, the more accurate the cost calculation you can get from your vendor.
In this section, you pose questions about methodologies, specifics of hybrid team management or working with overseas customers.
Although there is no ‘one-size-fits-all’ approach to the methodology and cooperation model, Qulix believes that Software Development Lifecycle (SDLC) based on Agile principles is effective. Key Agile frameworks for software development are SCRUM and Kanban. At the same time, SAFe and LeSS are examples of adopting Agile to larger-scale projects. Here’s what we find important in project management and what you may want to consider as well:
– Regular sync-ups with all the Product teams. Quality communication is critical in Agile. We make use of SCRUM practices, such as sprint planning and grooming meetings, daily stand-ups, and retrospective via video communication tools (Skype, zoom, GTM, etc.) Agile can be conveniently implemented with the help of Atlassian’s Confluence and Jira – the key tools for outsourcing software development, managing dedicated teams, remote or hybrid teams. They can be used for defining, describing and managing tasks, modeling processes, etc. Customers are welcome to offer other communication schedules and formats.
– Local team coordinator at the development company’s side. For larger teams, Qulix suggests assigning a Project Manager or a Team Coordinator to facilitate communication with the Customer’s Product Manager.
– Emphasis on project documentation. If there is no project documentation, our team notes down the work of the system with its issues along with development and testing. Project documentation is a valuable investment in the long run (in the event of team replacement, need for migration, tech revamping, etc.)
– CI/CD practices, DevOps and Test Automation. They are crucial to streamlining the delivery, operation, and testing processes as a part of cooperation on the project.
You may ask the following questions to make sure that the vendor’s approach to reliability, data security, and physical security is matching up to your expectations:
- What infrastructure does your company have?
For example, at Qulix there are:
- 2 separate protected server rooms with restricted access
- 3 duplicated internet links, 2 data links between offices
- established data replication and backup.
- What kind of software protection is implemented?
It’s a must-have for developers to use domain-level controlled antivirus along with a Network Attack Blocker on all workstations, software restriction policy, IPS (intrusion prevention system) on gateways, anti-spam, etc.
- How intellectual property rights are protected?
Contracts, NDAs and internal practices on keeping Customers’ IP secure are used for that.
- What about data security and reliability?
For example, we always inform our customers in RFP responses that our company has high-reliability standards (back-up generators, uninterruptible power systems). As a custom software development vendor, Qulix security policy includes Least User Access (LUA), regular infrastructure monitoring, installation of anti-malware software, password management, email authentication, and others.
It is important to set functional requirements apart from non-functional ones. The latter applies to the system characteristics, not to its functions. In some cases, product requirements can be similar to user stories.
Here are a few convenient templates you can use in your RFP when listing product requirements:
- User-centered: the user should be able to [action] [object/circumstances]. For example: The buyer should be able to add the product to Favorites.
- Product-centered: the product should [action] [object/concept/detalization]. For example: The order processing system should notify the manager about a new Order.
- Optimization-centered: the user doesn’t need to [action] [object/circumstance]. For example: The Buyer doesn’t need to confirm the order at the call center.
- Object-centered: the object should have the following characteristics [list]. For example: The Order should have the following characteristics: user information, delivery address, list of products ordered.
- Processes-centered: It is necessary to [action] [object] [clarification/circumstance]. For example: it is necessary to synchronize Orders with the ERP every hour.
It is vital for the project to assign roles for requirements management and analysis. Qulix recommends asking if your vendor can involve the following specialists in your project:
- Subject Matter Experts – people, who can connect the Business and the Functional or System analysts from the vendor. They communicate with the Customer, participate in defining a roadmap, product design, etc.
- Functional/System Analysts – they deal with business requirements, describe related business processes, create interaction diagrams, analyze data flows and work with mapping in interaction protocols.
- UX designers – team members responsible for UX prototyping, usability and more.
- Technical specialists – to work with the technical aspect of non-functional requirements (for example, architects, security specialists, DevOps).
Make sure you mention, if there are analysts in your team to communicate with those from your potential vendor.
The functional design is a part of the general requirements management and the elaboration process. Each requirement should be analyzed in many aspects including how it affects the UX. Here is what vendors usually offer:
- Definition of the UX/UI concept based on the initial business requirements.
- Adaptation of UX to new business requirements coming into the project.
- UX Review and Improvement – in many cases we initiate UX-refactoring after several implementation stages. The refactoring is needed as some comments may be acquired from the end-users. In addition, it’s good to rethink the whole UX concept in some cases as many minor edits may lead to dramatic UX changes.
In your RFP you can ask about details and explain your expectations from project functional design.
In this section, the moment came to pose questions about general software delivery project workflow and management tools.
By default, Qulix prefers working in Jira, as it offers a number of advantages. In case another management tool is used, we can adopt it (for example, Rally or Trello). The development workflow is Git-based: we implement a Git Flow considering project requirements and project constraints.
The typical output of the development stage includes source code (with unit tests), build scripts (adopted for CI), brief development documentation and release notes.
The source code documentation sufficiency should be ensured by corresponding code style checker rules and regular manual code reviews.
You may want about the vendor’s Quality Assurance policy in your RFP. Ask about the following aspects:
- how testing gets adjusted to the business workflows
- communication between in-house and outsourcing teams
- approach to test automation, tools and metrics used.
Here the vendor expects you to give information on how your Product Managers are going to participate in software development (creating business requirements backlog, planning, UX/UI sessions, functional design, QA sessions, etc.)
3. RFP Response timeline
This is how your RFP timeline can look like:
Note that if your project is complex, the outsourcing software development company should have enough time to prepare an RFP response. Providing them with this time can help you get accurate estimates and detailed bid info.
4. Suggested structure for vendor bids
Including this section in your RFP can facilitate the comparison of bids you receive. In addition to basic information, like executive summary and background information of the vendor, ask to provide a structured document containing the following data:
- Company structure, qualification, location of offices;
- Information on processes (how they manage projects, how to control quality, which tools are used);
- Rundown of the team (experience, resumes, communication);
- A technical vision of the project (technologies, architecture);
- Project plan (stages and their timeframe);
- KPIs, analytics, and plans for project support and ongoing improvement;
- Budget assessments (basic project costs, specialists’ rates, costs of project support, possible additional expenses, etc.);
- References from customers.
5. Selection criteria
Even if you’re not ready to go with your criteria, there are certain aspects that will strongly influence your decision. For startups, it is important to launch their MVP as soon as possible and cut costs. For the financial and banking industry it is important to get reliable references from other customers.
A good RFP for software development usually consists of 2 stages:
The first one is the Pre-Qualification stage. At this stage, the Company selects vendors that are potentially able to create this type of project. To find it out, businesses request references, examples of similar projects, ask for a process description, general information about the company, etc.
The 2nd stage is more detailed. The Company shares the project details, asks for cost estimates, timelines, cooperation terms, a technical vision of the project and so on. It helps to shortlist candidates for easier comparison.
To sum it up: if there are priority aspects, let your potential vendors know about them at the pre-qualification stage. This way you get more details on what actually matters for you. For example: Our company will select the vendor taking into consideration their ability to start the project as soon as possible.
You can send us your Request For Proposal at firstname.lastname@example.org or visit our website.