De Front-end Dev Engineer

《人件集》第一部分(1)

2019-03-23

前言-硬件、软件和人件

一个好的软件应该出自于“人”,而有趣的是,一个糟糕的软件也同样出自于“人”。

人件,是第三次计算机革命的真正起源地。
第一次革命源自“硬件危机”。在一段时期内,人们一直认为自己遇到的计算机问题都源自硬件方面。当时,人们以为,只要有了运行更快、功能更强大的计算机,有更多的内存和更棒的外部设备,就能建立更好的系统,也就能解决所有的问题。
渐渐的,人们有了更好的计算机。年复一年,计算机运行速度越来越快,内存越来越大,外部设备也越来越好用而便宜,可是计算机问题依然存在,我们仍然在用运转不稳定在系统,而且,无法及时、有效地在预算范围内完成任务。于是,我们将遇到的问题归咎于软件方面,而第二次计算机革命也随之被称为“软件危机”。人们开始认为,只要有了优秀的编程工具、高级的编程语言、丰富的构件库和辅助程序建立系统,就能解决所有问题,及时、有效地在预算范围里开发出运转良好的软件系统。
现在,第三代编程语言变得越来越精密,并出现了第四代编程语言;编译器变得越来越快、越来越聪明;计算机辅助软件工程工具随处可见。结构化革命让我们认识到结构设计和分析,面向对象技术也开始变得成熟、流行。但是我们还是不得不经常改动我们的工作计划,追加预算,计算机问题依然存在。
最后,我们不得不重新认真考虑一下,问题到底出自什么地方?“我们的敌人其实就是我们自己!”是的,人件,就是问题的症结所在。“人”是问题产生的原因,也是解决问题的工具!

第1章 决策,决策

任何事情都可以有多种解决方法!

第2章 一致意见与折衷

团队必须学会如何单刀直入地解决问题,而且大家还需达成一致–不玩文字游戏。

第3章 达成一致意见

除非所有的参与成员都认可讨论所得出的结论,否则所达成的就不叫一致意见(consensus)。这意味着,如果软件开发团队试图达成一致意见,他们必须首先确定一些标准,用于评定最终达成的结论。诸如:什么是重要的?什么是比较麻烦的?在一个特定的项目中“好”和“不好”的界定是什么?

设置优先级

只需对各种指标进行简单地归类,设置相应的优先级就足够了。

第4章 记录员,低下还是高贵

正是他们记录着众多公司的历史。如果没有他们,公司会破产,工业界会陷入一团混乱。
直到今天,记录员的地位依然低下。然而,正是这些记录员们,通过钢笔、键盘记录下了软件开发的成功与失败。

第5章 办公空间

当你在那里绞尽脑汁地思考一个难题,并试着解决它时,你的同事在旁边一边嚼着口香糖,一边打游戏,时不时地发出一些怪声,还动不动地问你一些愚蠢的问题。这时,你首先考虑的就是:我到公司这些年了,该给我配一个私人办公室了。

空间的形状

办公室、家里、教室,不同的物理空间形状适合做不同的事情。你和一堆人坐在长长的宴会桌旁,你能够和你两旁的人方便地交谈,但是如果你从这头传话到另一头,要保证原话不走样就很困难了。亚瑟王首创了圆桌会议,现在这个词已经成为平等的代名词,亚瑟王当初的本意也就是为了各位骑士能够方便地自由交谈。

第6章 讨厌的打扰

办公室协议

政客们在交谈中所使用的打扰术语对于有效的协作来说,看起来太长也太笨拙。“对不起,你忙吗?我希望你不会介意,我有一个小问题,打扰你一秒钟。”一秒钟?说这点话就已经花了6.5秒啦!从这个角度说,这必然算是打扰了。当你重新将注意力集中到手中的工作时,你已经忘记你正在看哪一行代码,或者你正准备调用子类的哪一个方法。
工作团队需要一个简短、简单、轻便的词语表来表达打扰。硬件的工作原理看上去非常适用。“IRQ”是“中断申请”的简称,如果你想说“我能打断一下吗?”,你只需要说一个词“IRQ?”。这个词如此之短,根本不会打扰你的思路。可能的回答就是“ACK”或者“NAK”,意味着,“好的,说吧!”或者“现在不行!”你在回答时,几乎都不用考虑你周围的环境是怎样的,因为这样的回答同样也不会影响其他人的工作。
如果某个人经常使用IRQ打扰你,而且明显超出了常规需要,那这个人就有点惹人讨厌了。

中断结束。


Comments

Content