23 June 2015

程序 –3x–> 编程产品(Programming Product)

程序 –3x–> 编程系统(Programming System)

程序 –9x–> 编程系统产品

构思 -> 实现 -> 交流. 在实现过程中才能发现构思的不完整性和不一致性.

经验数据

软件任务进度安排:

  • 1/3计划
  • 1/6编码
  • 1/4构件测试和早期系统测试
  • 1/4系统测试, 所有的构件已完成

职业乐趣

  • 创建事物,特别是自己进行的设计
  • 开发对其他人有用的东西
  • 整个过程体现出魔术般的力量(精妙运行,得到期望结果)
  • 学习的乐趣(实践+理论)
  • 仅仅工作在单纯的思考中(想象构建的城堡–灵活/精炼/重建)

职业苦恼

  • 必须追求完美
  • 由他人设定目标/供给资源/提供信息
  • 依赖其他人的程序是件非常痛苦的事情
  • 概念性设计是有趣的,但查找bug确实重复性的活动
  • 投入了大量辛苦劳动,产品即将完成时却快过时了

缺乏合理的时间进度

  • 乐观主义: 一切都将运作良好,每项任务仅花费它所”应该”花费的时间
  • 错误地将进度与工作量相互混淆
    • 人数和时间不可互换(任务次序限制分解)
    • 计划工作中需要考虑沟通的工作量(子任务间需要相互沟通和交流的任务)
    • 沟通和交流的工作量与人数相关
  • 对自己的估算缺乏信心
  • 对进度缺少跟踪和监督
  • 当意识到进度偏移时,下意识反应是增加人力