How we start a sucessful software project? — From requirements to workable software

Jasper Chang
4 min readNov 5, 2022

--

Photo credit https://www.cloud-interactive.com/

“The power of Good Design” is our company’s slogan. Our clients may have different business requirements. But, they do have similar requests, some of them want to improve their old software, some of them don’t have the software. The final goals of their requests can be summarized as to improve their in-house working efficiency, or their customer’s user experience, so that they can gain more revenues after their project is completed.

In this article, I would like to share some tips about the development process of our software project.

From requirements to workable software

The business requirements come first. Although our clients might have provided their RFP(Request for Proposal) at the beginning of the project, there is still a unforeseeable gap between actual workable software and our client’s expectation. Oftentimes, our PMs, Designers, System Analysts will play the roles to dig into our clients pain points. At this time, some of the pain points are easier to be discovered, and these points will be transformed into specific software features. On the other hand, other pain points covered under the ground may take more time to discuss and will be prioritized during the development of the project.

Once the project features are done deals. All the responsibilities come to the development teams. The spec or user story written in the document will be divided into subtasks. We have subtasks for designers, SA, front-end and back-end developers and QAs, DevOps. Designers will draw the user flow, SA will narrow down each feature into information architecture, providing API’s software spec, flow diagram, etc … . Front-end developers will start to build up the components according to UI designers figma, Back-end developers focus on building database schema, and API’s. DevOps will start to set up the infrastructure for Dev(Development), SIT(System integration), UAT(User acceptance testing) and Prod(Production) environment.

In order to have a successful software project, design-first apporach will greatly reduced the tragdedy happens above. Photo credit http://blog.frederique.harmsze.nl/2012/08/lets-not-cut-the-tree-in-half-to-fix-the-swing/

Try to make everything on the same page in the development process

Oftentimes, we have to collaborate with our clients during the whole project stage, we could have to set up a development environment in our local server or our own AWS or GCP cloud. The final delivery item is that we have to migrate the complete software system to our client’s infrastructure.

This will result in a lot of challenges. For example, sometimes they have security issues, not all data could be accessible during the development stage. Then, our developers have to discuss with our clients tech team to understand how to mimic those data formats. Or, sometimes some of the software package is owned by our clients, if they can not share with us, then we do have to come up with some workarounds to full-fill our clients’ needs.

How we speed up the development for project?

Also, we have lots of engineers working simultaneously during the development process. Our techlead has to divide work in order to keep the project schedule on time. For example, if an e-commerce website project is being developed, including client-side interface, backstage content management system. The works may divide into two FE engineers, one is responsible for the client-side interface, the other is responsible for the backstage content management system.

The components could be developed separately, however, user data should bind together. In this case, we have to make sure that the normal register and log-in features have been developed with back-end developers first. The reason is that this kind of data will appear both on client-side and the backstage side. Once these syncs are accomplished. then the rest of the development process will be easier.

Quality insurance for software development

We have PMs, designers and SAs interview with our clients and provide user-interface, mockup(usually for the discussion stage), user-flow in Figma and APIs, database schema document. However, one last thing about software projects is that we do care about the outcomes. Our QAs will write down the test case, this process is to make sure that once we deliver to our clients, the software can be operated as our client’s expectation. The test cases are written down with pre-condition, execution process and acceptance criterion. Our clients can use this document to verify if every features have been well developed.

Summary

In this article, I just share some tips about how Cloud-interactive develop software project. There are many facts that will affect the final result. With a reasonable budget, time-frame schedule, feature expectation, and good communication with the vendor. It will be easier to have a win-win situation for the client and the vendor.

If your business needs software project development or information technology requests, do not hesitate to contact me.

哈囉!我是Jasper,喜歡閱讀,產品設計、專案管理、數據分析,歡迎追蹤,任何關於閱讀的想法都可以提出來一起切磋討論,想看更多內容也可以到下面這些地方逛逛!
Facebook https://www.facebook.com/JasperChang.Startup
聯絡我請至 jasper.chang@cloud-interactive.com

— — — — — — —
如果你覺得這篇文章不錯,請給我1~10個掌聲,
如果你覺得這篇文章值得跟你的朋友分享,請不吝於幫我轉發分享,
如果你想繼續看到我的文章,歡迎你按下follow來追蹤我的最新文章。
— — — — — — —

--

--

Jasper Chang
Jasper Chang

Written by Jasper Chang

目前是 Rebaz.AI 的創辦人,推廣生成式 AI 服務,降低普羅大眾使用 AI 的門檻。歷任軟體資訊服務商、網紅媒合平台、 線上語言教學平台技術長,參與專案有:Web/App開發、產品UX設計、聊天機器人開發、數據分析、自動化客服系統等專案。喜歡閱讀,觀察最新產品設計趨勢。

No responses yet