简读《Head First软件开发》

忙里偷闲系列,在项目推进的过程中看到了这本书。本来只是翻翻看,但第一章就吸引到我的注意力,这本书里讲的内容完全就是目前的实际场景。。。原来,真实世界就是如此。书的出版时间在2010年,快10年前的故事,今天依旧在重复发生着。。。

1 伟大的软件开发——让客户满意

从bigbang 到 Iteration 的进阶。
几个原则:

  1. 客户的需求总是在不停变:唯一不变的内容就是变化;
  2. 需求不可能一次整理清楚,一定是像挤牙膏一样,每天一点:反正是会有变化的,索性别指望一次弄清楚;
  3. 要不断给客户展示你已经完成的项:表示项目在一直推进,提高客户信任度;
  4. 要不断和客户确认当前完成的是不是客户想要的:再三确认需求,最大程度抵御需求变动或者信息传递错误;
  5. 要不断的计算当前剩余工作量与deadline之间差多少day:再三确认工作量与工时的匹配度;

不管你的开发团队有多大或者项目的实施时间有多长,开发循环总是构建伟大软件的关键之一!

2 收集需求——知道客户想要什么
3 项目计划——为成功而筹划

milestone;第一次交付;开发循环;执行和监控计划;时间有效值;software development dashboard;
几个原则:

  1. 缩减功能
  2. 尽早交付里程碑版本
  3. 关注基本功能
  4. 不要随便添加开发人员:开发人员数量与开发时间不成反比
  5. 保持你的软件连续不断地构建并且可运行,这样,在每个开发循环结束时,你总是可以总客户那里得到反馈意见
  6. 开发循环要:时间短,循环均衡:时间简短得开发循环有助于你处理开发变更,并且让你的团队精力集中和充满活力
  7. 按照优先顺序排列客户的需求,由客户按照优先顺序决定哪些放进milestone1.0,哪些不放
4 使用情节和任务——开始你实际的工作

standup;
跟踪计划外的任务;一定要让客户决定优先顺序

5 足够好的设计——以良好的设计完成工作

Refactoring;
你的估计要加上demo的时间,refactoring的时间,这才是完整的!

6 版本控制——防御性开发

version control;code repository;
版本控制,标记版本,分支主干,

7 测试和连续集成——智者千虑必有一失

测试方案;测试工具集;测试命令行;回归测试

8 测试驱动开发——让代码负起责任

test-drivern development ,TDD
用尽量简单的代码通过测试!

9 结束开发循环——涓涓细流归大海

不要让开发者自己做测试!


Alt

猜你喜欢

转载自blog.csdn.net/rabbitbride/article/details/89208684