什么是敏捷?
敏捷是指在动荡的业务环境中,适应变化并创造变化,从而获得价值的一种能力。
什么是敏捷软件开发?
敏捷软件开发又称敏捷开发,是一种应对快速变化的需求的一种软件开发能力,它强调在项目的整个生命周期中,拥抱并促进由于软件进化式的发展所带来的变化。
敏捷自诞生10年以来,经历了三个发展阶段:以极限编程为主导的编程技巧、以scrum为代表的流程改进、还有以持续集成和持续交付为代表的管理思维和模式的创新。ThoughtWorks公司创始人Roy Singham认为,中国敏捷发展的特点在于,它跳过了第一个阶段,直接开始于第二个阶段。这意味着,在中国的很多企业中,当大家都在聚焦如何通过流程改进来实现“敏捷”的时候,基本的敏捷编程实践却被大家所忽视了。
从Roy的观点来看,我认为这可能就是有一些软件企业,它们想做敏捷,却做得不是那么好的症结所在:没有抓到敏捷思想的本质。敏捷思想的根本是以人为本,而不是以流程为本。在敏捷软件开发宣言中,敏捷联盟提到了“个体和交互胜过过程和工具”这样的观点,这里面就说明了基本的敏捷编程实践的重要性。实际上,一堆不懂敏捷的个体照搬敏捷流程做事情,这并不是敏捷,一堆懂敏捷的人自适应地去做事情,这才是敏捷。在一些“使用”了敏捷软件开发的中国软件企业中,恐怕恰恰是前者的情况居多。
于是这里也就说明了,对于想要实施敏捷的团队来讲,让每一个成员都了解敏捷软件开发,是多么的重要。
敏捷产生的原因,是为了解决诸如“瀑布模型”、CMMI等传统软件研发流程模型所存在的问题。什么问题呢?就是无法有效地变化,或者应对变化的成本很高。传统的研发模式会存在反馈过慢的问题:一个软件往往要花很长的周期才能完成,而当完成的时候,我们才会发现,有些地方与客户的实际预期不符;或者在软件研发的过程中,市场已经发生了变化,做出来的软件已经不能适应于最新的市场了。这个时候,为了快速适应变化,敏捷就派上了用场。
据专业人士统计,没有任何一个软件的需求改动少于三次,好的软件一定会带来更多的需求改动。也就是说,需求改动是一种正向的推动作用,它会促进软件的进步。这也就应验了那句话,“唯一不变的就是变化”。
敏捷采取的是小步迭代的研发模式,先交付一个可用的原型,然后不断完善。这减少了整个产品研发周期中不透明的片段,降低了不可见的风险,同时又可以在过程中快速响应变化。
分享到:
相关推荐
然而,微服务并不是解决所有问题的“银弹”,正如1987年Fred Brooks在《没有银弹:软件工程的本质性与附属性工作》中提出的观点,软件工程的本质性工作(如设计和抽象)和附属性工作(如编码和测试)是两个不同的...
然而,敏捷并非银弹,实施时需要克服文化变革、沟通挑战和持续学习等难题。 总结来说,敏捷项目管理模式以灵活、迭代和以人为本的方式管理项目,鼓励团队自我组织和适应变化,以实现更高的项目成功率和客户价值。...
书中,布鲁克斯提出了一系列创新性的观点,如“没有银弹”理论,即不存在能解决所有软件工程问题的单一方法。他还强调了软件开发中的人员协作与团队建设的重要性,认为增加人员并不总是能按比例提高生产力,甚至可能...
以及“没有银弹”——指出没有一种技术或方法可以解决所有软件工程难题。 标签中的“人月神话”和“man moon”都是对书名的直接引用,“软件”和“技术”则突出了本书的核心主题。布鲁克斯在书中讨论了软件开发的...
4. **没有银弹**:在1986年的一篇名为《No Silver Bullet》的文章中,布鲁克斯提出了一个著名的观点:“没有银弹”——即不存在一种万能的方法或工具可以显著提高软件开发的效率和质量。这一观点对于当时的软件开发...
- **第16章:没有银弹**——在这篇文章中,Brooks探讨了软件工程的根本问题和次要问题,并预言在未来十年内,不会出现可以显著提高软件生产力的技术革新。 - **第17章:回应批评**——Brooks在这一章中针对之前...
2. **构建与构建**:软件开发过程应当被划分为两个主要阶段——构建阶段和构建阶段。在构建阶段,团队专注于创建软件的基本框架和核心功能;而在构建阶段,则关注细节的完善和功能的优化。这种方法有助于确保项目的...
标题中的“人月神话”指的是书中提出的一个核心观点:软件开发中的问题不能简单地通过增加人力来解决,即“人月”不是一种可度量的资源。布鲁克斯揭示了这种误解背后的深层次原因,并探讨了软件工程的复杂性。 在...
无银弹论**:在后续章节中,Brooks提出了著名的“无银弹论”,即不存在一种可以解决所有软件开发问题的通用解决方案。这一观点指出,在未来十年内,没有单一的技术或方法能够显著提高软件开发的生产力。尽管这一...
- **第16章:没有银弹——软件工程的根本和次要问题**:分析了软件工程领域的挑战,并提出没有单一的方法或工具能够在短期内解决这些问题。 - **第17章**:对《没有银弹》中提出的观点进行了更新和补充,回应了外界...
2. **没有银弹**:在后续的章节中,Brooks进一步提出了“没有银弹”的观点,认为在未来十年内,软件开发领域不会出现一种可以显著提升生产力的方法或者工具。这个观点在当时引发了广泛的讨论,并且在之后的实践中...
这一观点对于避免盲目追求新技术具有重要的指导意义,同时也促进了软件开发方法学的发展,如敏捷开发等方法的兴起。 总之,《人月神话》不仅是一本关于软件工程的书籍,更是关于如何理解和应对复杂性的一本指南。...
例如,“银弹论”就引发了广泛的辩论,尽管随着时间的推移,一些新技术(如敏捷开发方法)确实提高了软件开发的效率。 #### 六、结语 总的来说,《人月神话》是一部集理论与实践于一体的优秀作品。它不仅仅是一本...