软件开发

程序员们发现老板对他们手头的很多工作都没啥概念 – 对软件开发来说,他们真得不该多上上心吗? John Sonmez 列了一份简短的清单。


 正如博主 John Sonmez 说道的,但即使是最出色的老板,似乎也常常总是不能理解软件开发。听起来熟悉不? 

1. 技术债务极大拖累了项目 

如 Sonmez 所提到的,管理层和其它非技术人员常常理解不了一件事,提高产量将不可避免的导致低质,从而导致技术债务的加剧。 

确保你没有杀鸡取卵,你需要明白这一点。根据《高效能人士的七个习惯》作者 Steven R. Covey 的观点,这意味着要在产量和产能之间保持平衡。 

推荐阅读:《趣文:用鸡讲解技术债务的形成过程》 

2. 估算工期毫无意义 

最近在 JAXcenter 团队中关于预估是否有用的讨论非常激烈。同样来自 Sonmez 的观点,他认为预估超过 2 小时就没意义了。事情就是这样,每个项目都充满着各种未知,各种意外让你防不胜防。 

如果领导非要坚持估算工期,Sonmez 建议开发者要么说服他们别做傻事;要么把任务分解到足够小,只对短期做预估。 

推荐阅读:《为什么程序员总是不能准确估测项目时间?》、《趣文:为什么软件开发周期通常是预期的两三倍?》 

3. 你可以做得又快又好 

这也算是个老掉牙的故事了 —— 一个老板给员工分配了一大堆工作然后告诉他们迅速做完。结果几乎毫无例外地像掷骰子一样。 因为很多程序员重压之下选择走捷径,最终导致质量下降。这个Sonmez的眼中钉就是所谓的“代码牛仔”;飞速地完成工作, 却将代码写得乱七八糟,之后让其他人帮他擦屁股。 

Sonmez 给程序员们分享了一个非常棒的小贴士来应对这句“你可以做得又快又好”:最好拿出一些统计数据,以说明后期修复 bug ,比前期预防要耗费更高的成本。

4. 有些程序员实际上在帮倒忙 

有些程序员对团队的拖累超过其贡献,Sonmez 提到,这些人写的每行代码,非但没解决问题,反倒是制造问题。但谁会对自己的同事打小报告呢?Sonmez意识到了这点,不过,他还是坚持认为如果团队中有害虫,这么做是解决问题的唯一办法, 尽管这么做会很难。 

他认为,如果你不去举报这种显而易见的错误,那么你就不称职了。 

5. 提高效率的方法有很多种,但好的设备,才是投资成本最低的方法 

一台 5 年高龄的电脑,没有第二个显示器… Sonmez 听到太多程序员抱怨他们抠门的老板不愿意掏钱升级设备。与大多数高于平均水平的程序员工资对比,新设备的开销几乎可以忽略,这是一种能迅速收回成本的投资。 

即使一个开发者使用新设备后仅将每天的工作效率提升了半个小时,硬件也是个不错的投资。不过,Sonmez 说到,很多时候, 你能做的要么想尽办法说服老板升级设备,要么换份有精明领导的工作。 

推荐阅读:《用4K电视做显示器的程序员》、《显著提升程序员身心健康和工作效率的装备有哪些?》《我跳槽是因为他们的显示器更大》 

6. 新技术的风险没你想得那么高 

早期的时候,项目经理认为框架应该少升级是合理的,那时候开源框架还很少并且一旦公司放弃支持,你就进退两难了。 现如今的很多框架,基本上每天都会对代码打补丁,而且这些框架多数都是开源的。 

其实,今天固守成见的使用旧技术风险反而更大,使用框架或老旧版本的库很可能导致一些系统漏洞。转变思路往往更明智。 

7. 业务分析和项目管理没……啥作用 

这个观点肯能有些争议,但 Sonmez 坚信业务分析和项目管理毫无价值。前者是多余的,因为开发人员与客户直接沟通对双方都更有益。如果你们是做敏捷开发的,后者则常常成为绊脚石。 

如何让老板意识到这一点?你需要清晰的定义敏捷团队如何运作及需要哪些角色。

via: blog.jobbole.com