Boss Oriented Programming 面向老板编程
这个大三结束后的暑假,我到了成都天府软件园的一家网络公司实习,工作是用 Python 搭配 Django 做 web 开发。
到公司的第二个月,我们接到了一个新项目:做一个类似与 stackoverflow 的子站点。因为用的是敏捷开发的工作流程,要求快速发布、快速迭代,所以我们得在两个星期里发布第一个版本。对于这种社交型的站点,两个星期实在是很勉强,更何况小组里很多都是新员工或者实习生。
之后就出了很多问题。公司刚切换到敏捷开发不久,各种前期的设计工作都没有做到位,显示逻辑、页面细节、与原来站点的整合。很多都是在开发过程中发现的,一次又一次的中断开发跑去和产品经理重新商讨确认需求。我们的前端页面是外包出去的,外包把静态页面发回来后我们再把他改成模板。然而这次的外包各种偷工减料,很多表面工作做了但是重要的功能一点都没有实现,我们还得赶鸭子上架的边学边去写前端。还有很多吐槽在其他博客里再写。
发布的那一天,我们只做出了一个半成品。当时决定先硬着头皮上线,没完成的功能就当作 bug 来处理了。第二天 bug 管理里提上来一个优先级最高的 bug: Safari 浏览器下页面显示不对。大 boss 是做了十几年技术的大牛,用的 Macbook Air,safari 是他唯一的浏览器。这个 bug 不解决,boss 打开页面一看肯定直接就气炸了。虽然 bug 是 assign 给我的,但我用的是 linux,测不了 Safari。在我的 xp 虚拟机里装一个,直接就把虚拟机整蓝屏了。我还有功能没实现,兼容性 bug 就只能先放一放。到晚上,整个小组的人都留下来加班。项目经理找到我,她为这个 bug 急得团团转。我一点办法都没有,本来作为前端就是个门外汉,何况还是前端中最棘手的浏览器兼容性问题。她只好打电话把已经下班回家的前端叫着来远程改代码。我们这边还在忙着实现功能,他就用 QQ 远程协助在公司的机器上调试。项目经理当时笑着说这就叫“面向老板编程”,用户先放一边,把老板的问题解决了再说~
各种原因,那晚没有搞定这个问题。老板第二天来找了我们项目组,并没有大发雷霆。只是略显烦躁的吧我们教育了一顿:做产品,用户才是最重要的。开发组长、产品经历、测试组长都要把好关,任何一个环节不达标,宁可推迟上线日期也不能吧一个半成品拿给用户。这次的项目,我们本来应该互相找茬的三个部门居然合起伙来打算蒙混过关,做得太不专业了。遇到这种情况各个负责的都要有魄力站出来说“不准上线”。
当天我们就下线了这个匆忙赶出来的半成品,回炉。
-2015/10/19 更新 - 陈浩大神在微博上发了一张很适合这篇文章的图
http://weibo.com/1401880315/CEsBnuiV7