梦断代码整理及思考(0-1章)

第0章 软件时间

在本章中,可以看出身份不同、位置不同的程序员获得的编码体验是有天壤之别的。以少年游戏玩家的身份在编码实践中体会到的更多是编写代码改变世界的巨大快乐,作为产品的经理人,则是以“对付”的姿态面对自己的产品,而在这成长期间也会见证软件世界中的各式悲剧。

从本书作者四十岁时遇到的最严重的更新问题来看,当公司计划升级其软件平台或者重新搭建一套大型系统时,首先要避免遇到CMM成熟度等级中的“初始级”情况:“过程一般是专门化的和无序的。在这类组织中,项目的成功往往取决于个人的能力和拼搏精神,离开了具备同样能力和经验的人,就无法在下一个项目中获得同样的成功。”在该次事件中,主力程序员离开后剩余高层难于应对遗留下的问题。其次,企业要发张必须要有完善的软件工程思想,这次问题中体现出该公司全面测试不充分以及之前工作总结不够完善等问题。

进一步思考,在软件开发过程中遇到软件缺陷、延误和不按设计思路运行等问题的原因在于虽然人类与计算机通过各式语言(如C、C++、Java等)进行联系,但是机器计数与思考的方式仍会与人类存在不同。

不同于永久性建筑的建造,软件虽然也在构建这个世界并且已经深入渗透到这个世界但是却不可见又脆弱,人类这种对脆弱代码的强烈依赖造成了巨额的经济损失。与此同时,程序员也陷入调试除错的苦境,他们的作品永远未臻至善。

对此困境,我们只能期待渐次前行,直接幻想毁掉目前软件大厦或者寄希望于优秀的程序员只是软件发展的动力,无法一蹴而就。

第1章 死定了

现在程序员在开发软件之时最常见的矛盾就是时间与任务的冲突,这个矛盾我们多多少少都遇到过,该矛盾的原因在于需求不明确、完成任务预估时间与实际需要时间不符、计划不完善、复杂软件各模块关系混乱问题解决受制于人、各任务优先级不明确、开发使用的基础软件有问题。

团队扩增引发开发进度延迟,对此可以低成本、广泛地接入像互联网那样的网络,让开发者之间能建立迅速、可信的沟通渠道,存储可被开放访问的共享知识和代码池;或者围绕一种领导方式形成合作团队的良好风气,欢迎新人进入 、鼓励成员做出贡献,同时尽可能增加合格成员。

团队问题解决后就要处理实现的问题了,进取精神、速度、努力对于形成伟大团队都不必不可少的,其中最重要的就是实际行动了。

posted on 2018-09-16 20:23  墨四四  阅读(120)  评论(0编辑  收藏  举报