How to find a great vendor in software development — a design oriented approach
Last time I shared some tips to start a software development project.
However, some of you might think that if there are some templates to follow, it will be easier to nail down the requirements from your manager’s mind. Oftentimes, when companies start to find an outsourcing partner, the stakeholders have to consider budget, timeline, and the requirements of the final project result.
In this article I’ll share a template and guide you through how to write an Request for Proposal (RFP) via multiple software requirements.
The template includes the following 7 points.
1. About the project
2. Tech specification
3. Project Scope
1.Scope of Work
2.UI Requirements
3.User Scenario
4. Project schedule
5. Project Budget
6. Evaluation Test
7. Evaluation Standards
About the project
Although our company has a wide range of software development for different industries, there is some time we need to understand the basic functionalities our clients want to have. In this part, clients can share the vision of their brands, the purpose of developing this project, the pain points needed to be solved, etc … .
Example:
A traditional manufacturing company used to do a lot of customized machines for mechanical arms. Now, they want to transform to smart manufacturing. They are looking for newly built machines accompanied with design-oriented software. They might say
“Our machines are trying to improve the efficiency for building a mechanical arm for packaging integrated circuits. Current software interface is outdated, and the user flow is not ideal and needs a lot of pre-training for our new employees. Therefore, we need the new software to be easier to use and can prevent some behavior errors.”
Tech specification
There are many tech requirements for a software project. Let’s take a web based project for example. In order to improve the developing efficiency, modern development often divides Front-End and Back-End into different roles. For instance, our Front-End engineers are familiar with the language javascript in different frameworks, like React and Angular. Backe-End engineers like Java, C#,PHP, Python are popular languages with their own framework, too. Due to some technical inheritance, some products cannot change to a new tech stack right away. If this is the situation, then the tech specification will be important.
When it comes to infrastructure, some of our clients have already built up their owned local servers, while other clients are starting to embrace cloud services like AWS, GCP or Azure. In this part, it is better to understand how your company decided for resource allocation, what kind of software language you are going to arrange if you want to own the project maintenance when the project is completed.
On the design side, figma has been widely used recently, while in the late 2010 a lot of designers were familiar with Sketch or AdobeXD. The more detail our clients can provide, we could arrange similar tech or design stack project members to join the team.
Example:
An engineer-oriented company has their desktop application launched on the market for over a decade. They haven’t changed their UI since the very beginning. In order to catch the modern design style, we suggest they follow the guideline inherited from Google material UI (People use material UI for design and development, because material UI follows the same appearance and behavior throughout the application). They might say
“We want to renew our interface, however since our application is built on xx language, so the vendor should be careful not to over design so that xx language cannot support the development.”
Project Scope
In this part, the client should consider how to define the project “done of done”. What kind of features should be completed? What kind of pain points should be solved? For example, if this project is a type of user interface improvement, then we can start by changing the style, the font, the color of the interface. If the client wants to go a step further for the user experience, then we can help the clients to go through the process of using the software, identify the process which makes users confused, or re-organize information to let users focus on the work they want to accomplish.
User scenarios are another way for us to understand clients’ pain points. A commonly used language for software design development is the “User Story”. For example, imagine before Uber launched on the market, how do you order a taxi during a heavy traffic Friday night? It will be a terrible experience to stand near the street and not find a single taxi. Below is a template to write a template for a the taxi scenario
As a ______, I want ____________, so that ___________
Here, comes the complete user story.
As a user wants to order a taxi, I want to see how long it will take to order a taxi, so that I don’t have to worry about being late for a dinner party.
Project schedule/Budget/ Evaluation test and standard
Sometimes our clients will have a clear budget for the project, however, there are often times, the project is still at the very beginning, and the manager of the clients wants to know a brief concept of developing the project. We understand this kind of situation, and we will do our best to help our clients to explore the possibilities, but this will limit to some certain scope, such as a design concept. Since we are a project-based company, in order to have a win-win solution, we would more like to invite our clients to sit down with us and draw certain project scope that is realistic.
Let the manager understand what can be done, what can not be done at the early stage. It is our responsibility to help our clients to achieve their goal with workable software in a reasonable budget.
Finally, an evaluation test and standard is a way to define “done of done” before a contract stage. List the features, functionalities down on the paper, help both our client and us to target the same goals. Our client can have a clear mind to discuss with their internal stakeholders, while it is clear for us to evaluate the resources allocated for the development.
Hello!This is Jasper,if you think this article help you, please give me some claps below.
If you want some software vendor to accomplish your project goals, please contact with
Cloud-interactive:info@cloud-interactive.com
or me: jasper.chang@cloud-interactive.com
Thanks for reading.
哈囉!我是Jasper,喜歡閱讀,產品設計、專案管理、數據分析,歡迎追蹤,任何關於閱讀的想法都可以提出來一起切磋討論,想看更多內容也可以到下面這些地方逛逛!
Facebook https://www.facebook.com/JasperChang.Startup
聯絡我請至 jasper.chang@cloud-interactive.com
— — — — — — —
如果你覺得這篇文章不錯,請給我1~10個掌聲,
如果你覺得這篇文章值得跟你的朋友分享,請不吝於幫我轉發分享,
如果你想繼續看到我的文章,歡迎你按下follow來追蹤我的最新文章。
— — — — — — —