虚拟CANTool装置的四象限法分析
在邹欣老师的《构建之法》的第八章,需求分析中,提到了用四象限法来分析软件的具体功能。
当我们拿到一个软件的具体需求之后,我们要把这些需求转化我软件的若干功能,同时根据这些功能的难易程度和优先度、重要程度,将这些功能分为四类。
当我们软件开发的时间有限的时候,我们就需要通过四象限法对软件的功能进行分析,首先保证完成必要功能,对应其他功能进行一定的取舍,来保证在一段时间内,我们开发的软件能取得最大价值
四象限法如图所示
要把用户从竞争对手那里吸引过来,团队自己的产品要有一个差异化的焦点,在这个焦点上,我们的团队能做得比别人好10倍,高一个数量级这种功能又叫杀手功能,其他功能也很重要,但是它们都是(相对来说)外围的。
除此之外,我们的竞争对手和用户已经决定了一些此类产品必须要满足的需求,不能满足这些需求,产品就入不了用户和评论员的法眼,当然,还有许多功能是辅助性的。
在我们完成虚拟CANTool的开发过程中,我们大概的功能划分如下:
第一象限(杀手功能+必要需求):尽快完成一个可供Windows端及安卓端CANTOOLAPP测试时使用的CANTOOL装置,主要注重装置的信息收发功能,对各种消息的解析和执行,注重工具的容错性
第二象限(外围功能+必要需求):完成CANTOOL装置的对应的arduino代码开发
第三象限(外围功能+辅助需求):完成虚拟CANTOOL装置的单元测试工作
第四象限(杀手功能+辅助需求):完成一个小的CAN信息的生成工具