软件开发的「产品生命周期」提出需求-软件开发(5)

2022年06月12日


2、提出需求(Requirements)

第二步需要去了解专案在技术上的需求,而无论是软件、app或网页的设计、新功能等,都是需要去解决用户的某个需求或者痛点。因此,必须「以终为始」的思考:这个需求是否有解决用户痛点?

此时,开发团队需要反覆问自己的问题是:

- 我们要解决什么问题?

- 谁要用?为什么?

- 需要输入/输出什么样的资料?

- 我们需要串接其他工具或者API吗?

至于如何挖掘、厘清需求,可以透过两种方式:

(1) 用途理论

反问自己:用户「使用」(hire)我们的产品,要完成什么任务(Jobs)?

为什么这么问?因为当我们问自己「用户的需求是什么?」其实是一个已经转化过的结果,但「使用」则是可以确切的描述使用情境和他的目的是什么。

确切地来说,就是营销常常告诉我们的一句话「用户不了解他们究竟想要什么」,只想从现有的解决方案里面,找出更好的一个解决方案。

举例来说,发明汽车的福斯先生曾经说过,当你问用户想要什么样的「更快速能抵达目的地的交通工具」,用户只会回答你「一匹更快的马」。

所以也许我们能够这么问:

「你使用这个交通工具,是想要达成什么目的?」

用户会回答:「我想要更快地到达目的地。」

这么一来,范围就不会被「需求」所限缩,而是能够发挥更大的想像。

(2) 用户故事(User Story)

另一个厘清用户需求的方法,是可以透过建构用户故事(User Story)来思考用户「确切在什么情形下可以得到什么好处」。

我们可以这么问:

As a _____(什么样的用户), I want _____(做什么事), so that I can_____(得到什么好处)。

如此一来,无论是对于情境的描述、用户轮廓、用户能得到的效益,我们就能够更有一个大致的概念。

在撰写用户故事的同时,可以去定义不同种的用户,将用户拆分为不同的族群,再整理出用户故事,能够更清楚各个族群间的分野,以及产品如何去满足不同族群的需求。