【文章摘要】你了解产品开发全流程吗?今天为你全解析!
一些概念
- 软件=程序+软件工程
- 程序=数据结构+算法
- 软件分类:系统软件、应用软件、恶意软件。
- Bug:软件的行为和用户的期望值不一样就叫Bug。
- 单元测试:针对独立模块进行的测试,在最基本的功能、参数上验证程序的正确性,确保没有Bug,为后面的模块调用铺路。
- 回归测试:在新版本上,旧版本原本通过单元测试的用例出现了,为了避免这些错误,进行测。
典型的开发流程
- 瀑布流:
瀑布流开发流程有一些缺陷,比如步骤的严格分离、不可逆、用户接入时间较晚等。
瀑布流开发流程
- 迭代开发(RUP工作流-驼峰图)
图中的阴影面积代表不同角色在各个阶段的参与程度。
RUP驼峰图
- 渐进式交付流程
渐进式交付
其中渐进式交付又可以分为MVP和MBP,分别对应最小可行产品和最强最美产品的思路。
- 敏捷流程
敏捷方法和现有方法的对比
敏捷的步骤如下:
- 找出要做的事情;
- 分解目标,认领任务;
- 执行目标,外部人士在这个阶段不能打扰;
- 发布版本,获取反馈。
循环往复以上步骤,类似戴明环(Plan-Do-Check-Act/Adjust),
但是真正做起来却不那么容易,比如如何获取优先级,如何合理地划分任务,如何衡量每天的任务是否准确的完成了而没有偏离最初的目标。
参考书籍:《构建之法》