迭代开发是开发未知领域新产品的必然选择。但没有经历真正的迭代开发时,常常只能通过书籍雾里看花。
书籍里描写的经典场景是:一个迭代收尾,然后发布半成品给用户使用获取反馈,用户会说:“喔这里看上去不错,但是实际使用时我需要在这里看到...”,当迭代开发中发生这样的场景,说明迭代开发过程是有效的,产品在不断迭代和改良。
之前经历了一些号称是迭代开发的项目,很少发生这种情况。常常是内部一个迭代完成,测试,然后下一个迭代接着做。现在看,这样的迭代过程,不是真正的迭代开发,因为没有用户反馈。
最近的项目历时两年,前期也是处在类似的过程里。做完了拿给用户看。用户看看,也在尽量提意见,但基本都是表面的和一些不痛不痒的问题。后来团队聘请了一位领域专家,负责需求沟通和实施,终于我开始经历书里描述的经典场景。于是我恍然大悟:原来不是有专业的开发团队和客户凑在一起就是有效的迭代开发。
因为用户常常是甲方心态,什么东西都应该是乙方想好了给他用的。一方面客户本身比较忙;另一方面,的确也不愿意花太多精力去研究新功能。这就造成了迭代开发里反馈少的问题。
解决这个问题就是找一个专业的来自甲方的人,进行需求获取和实施,这样就解决了这个问题。
因此:迭代开发的两个要素是:专业开发团队和真正能花精力研究产品功能的领域专家。
分享到:
相关推荐
其中,关键路径法(CPM)和甘特图是两个非常实用的工具。它们可以帮助项目经理准确估算项目时间表,并合理安排资源分配。 #### 3. 科学研究中的实践方法论 在科学研究领域,实验设计和数据分析是实践方法论的重要...
这些实践包括:持续集成、结对编程、测试驱动开发等,它们共同构成了一个高效、灵活的开发流程。 ### 敏捷实践案例 在实践中,敏捷方法被证明能够显著提升软件开发的效率和产品质量。例如,一家名为“软件工厂”的...
在软件工程领域,Rational Unified Process(RUP)和Unified Modeling Language(UML)是两个至关重要的概念。RUP是一种面向对象的迭代增量式软件开发过程框架,它强调了软件开发过程中各个阶段的规划、管理以及控制...
- **Continuous Integration**:持续集成是一种软件开发实践,团队成员频繁地将他们的工作成果合并到一个共享的主干中,并通过自动化的构建(包括测试)来快速发现集成错误。 #### 三、敏捷之Scrum与持续集成 ...
- 结对编程:两个开发者共享一个工作区,共同编写和审查代码,减少错误并提高代码质量。 - 持续集成:频繁将代码合并到主分支,自动运行测试,及时发现并解决问题。 4. Java代码实现: 使用Java实现薪资支付系统...
在【标题】“某汽车金融云原生转型的DevOps落地实践.pdf”中,涉及的两个核心概念为“汽车金融”、“云原生转型”以及“DevOps落地实践”。首先解释“汽车金融”是指专门服务于汽车产业的金融业务,它包括汽车贷款、...
在本资源中,"C 代码 模拟两个玩家之间 N 次重复决斗.rar" 包含了使用 C 和 C++ 编程语言实现的代码,用于模拟两个玩家之间的多次决斗。这种模拟通常涉及到游戏理论中的概念,如博弈论。下面将详细介绍这个主题及其...
- **1.1 从1个中心到5个要素**:这部分介绍了测试体系的核心——即以确保产品质量为中心,围绕着质量、成本、时间、范围和风险五个关键要素展开。这些要素共同决定了测试活动的方向和策略。 - **1.2 5个工作面**:...
人工智能(AI)在省煤器设计中的作用主要体现在两个方面:数据挖掘与模式识别。首先,AI可以处理大量的设计参数和运行数据,通过深度学习算法找出影响性能的关键因素。其次,AI的模式识别能力能帮助工程师理解设计与...
通过限定时间的迭代开发,团队可以快速交付高质量的增量产品,持续吸收反馈并进行调整,最终实现产品和团队的共同成长。随着敏捷方法的普及,越来越多的企业开始采用Scrum作为管理项目的工具,以期在快速变化的市场...
通过"产品规划说明书的两个模板",你可以对比学习不同的写作方式和结构,了解不同企业或团队对产品规划的理解和实践。每个模板可能针对不同的产品类型或行业,因此在实际应用时需要根据具体情况调整。 总结来说,...
DevSecOps敏捷安全技术是指在软件开发的敏捷实践中融入安全控制,以实现快速迭代、持续交付的同时保证软件的安全性。随着现代应用对速度和灵活性的需求不断提高,传统软件开发生命周期(SDLC)的安全措施无法完全...
在信息技术领域,理论模型与实践落地是两个不可或缺的环节。理论模型提供了问题解决的框架和思路,而实践落地则是将这些理论转化为实际应用的过程。这一过程涉及到技术选型、系统设计、开发实现、测试验证、部署上线...
他结合自己在项目管理、持续交付、研发数据度量、质量管理平台建设等方面的实践,以及两年的互联网自主创业经历,针对研发效能提升的关键问题提出了具体的落地实践。 演讲中提到的具体落地实践包括但不限于以下几个...
下面将详细讨论这两个编程语言的关键知识点以及实践中的应用。 首先,C语言是C++的基础,它以其简洁、高效著称。C语言的核心概念包括变量、数据类型、控制结构(如if语句和循环)、函数、指针等。在实践中,理解...