软件开发的「产品生命周期」提出需求-软件开发(5)
2022年06月12日
2、提出需求(Requirements)
第二步需要去了解专案在技术上的需求,而无论是软件、app或网页的设计、新功能等,都是需要去解决用户的某个需求或者痛点。因此,必须「以终为始」的思考:这个需求是否有解决用户痛点?
此时,开发团队需要反覆问自己的问题是:
- 我们要解决什么问题?
- 谁要用?为什么?
- 需要输入/输出什么样的资料?
- 我们需要串接其他工具或者API吗?
至于如何挖掘、厘清需求,可以透过两种方式:
(1) 用途理论
反问自己:用户「使用」(hire)我们的产品,要完成什么任务(Jobs)?
为什么这么问?因为当我们问自己「用户的需求是什么?」其实是一个已经转化过的结果,但「使用」则是可以确切的描述使用情境和他的目的是什么。
确切地来说,就是营销常常告诉我们的一句话「用户不了解他们究竟想要什么」,只想从现有的解决方案里面,找出更好的一个解决方案。
举例来说,发明汽车的福斯先生曾经说过,当你问用户想要什么样的「更快速能抵达目的地的交通工具」,用户只会回答你「一匹更快的马」。
所以也许我们能够这么问:
「你使用这个交通工具,是想要达成什么目的?」
用户会回答:「我想要更快地到达目的地。」
这么一来,范围就不会被「需求」所限缩,而是能够发挥更大的想像。
(2) 用户故事(User Story)
另一个厘清用户需求的方法,是可以透过建构用户故事(User Story)来思考用户「确切在什么情形下可以得到什么好处」。
我们可以这么问:
As a _____(什么样的用户), I want _____(做什么事), so that I can_____(得到什么好处)。
如此一来,无论是对于情境的描述、用户轮廓、用户能得到的效益,我们就能够更有一个大致的概念。
在撰写用户故事的同时,可以去定义不同种的用户,将用户拆分为不同的族群,再整理出用户故事,能够更清楚各个族群间的分野,以及产品如何去满足不同族群的需求。