作为程序员你在工作中最讨厌听到的话是什么?
我最讨厌听到的话:这个需求很简单的,简单讲一下就好了。
布置任务,理解需求,团队协作等相关的工作中,良好的沟通和信息同步有利于减少甚至消除团队成员理解差异。
然而有些项目经理/产品经理/业务,喜欢说“这个需求很简单的,我只讲一次”,在他们眼里一些“简单的功能“无需多讲或者讨论,其实领任务的程序员没有context,很难做需求分解、评估开发工作量,比如某个web应用要做个权限管理模块,初看起来这个需求很常见且简单啊,基于RBAC来设计开发呗,还可以用这些现成的框架技术(例如shiro)。
但是对于程序员来讲这个看起来常见的功能需求,context很重要,比如:用户数据哪里来?以什么方式登录?怎么校验登录基本信息?怎么维护用户信息(例如OA同步过来的数据之后有些账号冻结了,不同的数据源之间咋同步?同步频率?),登录跨应用吗?这个权限管理功能给谁用?(不同角色使用对功能的要求不同,基于shiro等框架开发的权限管理模块受限于框架技术,如果想要有个完整的操作界面或者做更细节/复杂的权限配置,那么类似shiro的框架往往不适用)。
仔细想想,自己有时候接了任务,评估工作量进入详细设计、开发状态后往往需要中后期增加沟通、协调资源、加班赶进度,很多次是因为当初需求未做充分沟通了解清楚,致使需求拆解不够清晰(小),导致评估量化很不准确,要靠加班来赶进度