DeveWork

八月:读《软件随想录》· 卷1

图灵图书几个月前新出了《软件随想录》,分为了卷1 和卷2(卷2 就是之前阮一峰翻译的『程序员部落酋长』那本),里面的文章虽然说是十多年前的,举的例子也很老了,但在今天看来也还有不少可延伸思考的地方。

乔尔测试

乔尔测试是作者创造的一套评价软件团队质量的测试,其实就是几个问题,如『你们团队使用源代码管理系统吗?』『有bug 数据库吗?』『程序员的工作环境是安静的吗?』『面试时候是否要求应聘人员写代码?』等。

针对『程序员的工作环境是安静的吗?』这个问题,其实大可说下本人的感受。处在一个工作环境相对自由的公司实习,与上下游的同事沟通基本上是用企业即时通讯工具。常常是在IDE 写着代码没几行就来了来个消息,然后点击打开查看,跟自己的相关的消息回复下,继而切换到IDE……如此反复其实感觉工作效率挺低的,但不及时回复消息可能会被同事产生误解。在追求外部办公环境安静其实很简单,但内心的安静环境可是有点难。

针对『面试时候是否要求应聘人员写代码?』,作者在书中吐槽了某些面试官喜欢问的『无关痛痒、一查文档就能找到的问题』,作者认为对于程序员的面试考察更多是写代码的能力。这点本人很赞同,毕竟遇到过这类奇葩的面试官。

功能规划书

这本书第一部分花了不少篇幅在教如何撰写功能规划书上。有一点个人感觉不错的地方——写规划书中必须要有内容:
1、免责声明——因作者学识方面有限,如有疏漏还望不吝赐教;2、作者;3、使用场景;4、非目标——即不做什么功能;5、概述(目录);6、细节的地方(比如设计一个网站,密码错误提示?);7、待解决的问题;8、多角度(针对不同阅读人群如程序员、测试员)

 掌控软件开发进度

相信这是不少刚进入互联网公司的都会遇到的问题:如果评估项目需求开发周期?书中作者的观点也给了我不少启发:1、细分任务,保持合适的颗粒度。2、将节假日、调试代码时间、缓冲时间都考虑进去。3、永远不要让开发经理压缩程序员评估的开发时间(这个其实挺无助的)

冰山之谜

所谓冰山之谜即是将软件开发比作一座冰山,开发一套漂亮的UI 是所有工作量的10%,也就是说90% 的工作量是不可见的。『冰山之谜』衍生而来有几个推论需要值得注意:1、如果给一个不懂编程的人展示一个完成度只有10% 的用户界面,他们会认为整个软件的完成度只有10%。2、如果给一个不懂的人展示个完成度100% 的用户界面,他们会觉得软件差不多完成了。3、当公司规定不会编程的管理人员或客户要对项目『签字验收』的时候,提供多个版本的图形设计方案让他们选择。4、做产品演示的时候,要让产品截图100% 完美。