前台是程序中和用户打交道的部分,显示窗体,对话框和鼠标指示,告诉你正在发生什么,让人有办法输入信息得到输出信息。后台是前台发生的事件和用户输入流向的地方,对事件和输入进行处理保存和取回。前台与人对话,后台与比特对话。
而对于后台的问题上,Chandler陷入了困境,就是资料库如何管理数据和保存位置,这些问题不解决,工作就会停步不前,即所谓的被锁定了。 经过一系列讨论后,陷入一个两难的选择,创建还是复用?从而引发了对乐高假设的探讨,即程序可由可复用的部件组合而成。然而此假设困难重重,cpu,操作系统的版本,编程语言,数据格式都会对其产生影响。 0.1版本做出时底层数据库仍要大改,但经过一番商讨和研究,终于创建了数据库雏形。
所以,在技术选型等初期就很难抉择,往往可能会导致项目停滞不前,还会有循环往复,怎么权衡技术选用与实际开发,是一个待思考的问题。 在软件领域,快速便宜优质三者往往不可兼得,决定推迟某些特性,项目才称其为项目,该项目共公布了5大类36种特性,必须有所抉择,就像他们优先决定实现PIM功能一样,必须做好规划,有所选择,依序执行。 而在管理层面,没有一个好的方法考核程序员的生产力,代码行,功能点,缺陷修复数量等都不可靠,所以如何配置人员简直困难。
想知道进度也很难。设定标定日期的里程碑式也许更好一些。别指望短时间内达成大成就。 软件设计师尤为重要。开发者必须使用自己正在做的产品。个体和交互胜于过程和工具,可工作的软件胜于面面俱到的文档,客户协作胜于合同谈判,响应需求胜于遵循计划。
整本书的结尾仅一句,你越懂软件,就越不会去做软件。 Chandler08年发布了1.0.3版本,但效果仍然不佳。六年半时间,上百万美元,几十号顶尖高手,换成幻梦一场。