“唯结果论” 在IT公司的软件开发管理中对吗?
唯结果论,特别是只唯短期的外部可见(客户可见)的“结果”,是对技术完全外行的领导的一种偷懒的管理策略。
某90后程序员在实现统计功能时是这样实现的:
他写了一个类CountPlaceDistrict是获取各项统计的总数量:
CountPlaceDistrict countPlaceDistrict = new CountPlaceDistrict(i+1, placeId, sysCompany.getStr("comp_name"), 1, getStaffsByCompId(sysCompanys).size(), getDailyCheckByCompList(sysCompanys).size(),getPlacesPunByCompList(sysCompanys).size(),getStaffsP(sysCompanys).size(), getCaseInfoByCompList(sysCompanys).size(), getSuspiciousInfoByCompList(sysCompanys).size(), getBusinessJournalByCompList(sysCompanys).size(), getSecurityPatrolLogByCompList(sysCompanys).size(), getAlarmPersonByCompList(sysCompanys).size());
而其中的getStaffsByCompId, getBusinessJournalByCompList等函数是这样的:
/** * 根据单位列表获取本辖区的从业人员数量 * * @param sysCompanyList * @return */ public List<Staffs> getStaffsByCompId(List<SysCompany> sysCompanyList) { List<Staffs> staffsList = new ArrayList<Staffs>(); for (SysCompany sysCompany : sysCompanyList) { List<Staffs> staffs = Staffs.dao.getStaffs(sysCompany.getStr("comp_id")); for (Staffs s : staffs) { staffsList.add(s); } } return staffsList; }
即他是先把所有从业人员全部读取出来,全部放在List里, 然后再获取List的size()这样来实现统计功能的.....
内行人看到这里就已经知道他的实现方法的问题在哪里了......
如果系统真正应用起来,并且从业人员的数量多了,特别是营业日志(getBusinessJournalByCompList)的数量很可能较庞大,他的写法可能会有较严重的性能开销的问题。
然后,因为不懂技术的老板自己热衷于每周开会扯谈,每周催问进度,上面的写法在目前的内部开发阶段外部看起来也是能得到正确的统计结果,所以该90后程序员的上述写法就默认过了...... 如果别人要该90后程序员现在就改正过来的话, 该90后程序员还意见很大,嫌别人推翻他的劳动成果, 搞得别人好像还多事一样.....
这就是“唯结果论”的弊端的一个直观的例子......
附注: 对90后程序员没有任何偏见和看法,只是这个程序员正好是90后的,所以用“某90后程序员”代称而已