解析敏捷开发的特点

  近期公司在着重推进项目的敏捷开发,虽然以前也接触过,但还是去参加了下敏捷开发的培训,对于产品经理来说,如果推行了敏捷开发,则产品经理的协调沟通作用会更加的凸显出来,毕竟前期没有文档,只有演示稿甚或是图纸的情况下,沟通是非常重要的,特别是确认所有的需求功能点,并给需求功能点的优先级排序,确定敏捷开发的迭代周期,这些都需要沟通去解决,例行的会议也会比较多,产品经理肯定都要参与其中。对互联网行业来说,敏捷开发能更快速的响应不断变化的需求,对产品经理来说,如果同时参与的项目多一点的话,那就更加的杯具,你会发现一天下来,思绪都会串线。所以说瀑布有瀑布的好处,敏捷有敏捷的好处,看从哪个角度看,中大型的项目用敏捷更加合适,小型项目还是瀑布比较合适。

  敏捷开发是一种面临迅速变化的需求快速开发的能力,它有四个核心思想:第一是强调面对面的沟通,也就是说沟通很重要,人和人的相互交流胜于任何流程和工具;第二是要把精力集中在可执行的程序上,可以运行的产品胜于编制综合性文档,也就是强调了原型、模型、Demo等的重要性;第三个是团队合作和团队激励,合作胜于谈判,敏捷开发能将需求、开发、测试等全部团队成员融合成一个整体,大家都是一条线上的蚂蚱;第四个是超强的适应能力,适应变化胜于按部就班,敏捷开发的特点就是快速,对于互联网行业来说,这点非常重要。那么为什么要采用敏捷开发的方式呢,有如下几点:

  互联网行业的特点

  就是以快吃慢,例子见微信和米聊;版本发布成本很低,一般都是迭代发布的,例子很多,有很多产品都是一周或者两周发布一个小版本;追求创新,或者说是适度的创新,无论最终有没有真的创新,但初衷肯定都是要创新的;需要快速响应用户的变化,时间就是一切,同一个产品先发布和后发布的差别是很大的;需求不确定性高,这个在软件行业也很常见;关注用户行为,倡导以用户为中心的产品设计。正是这些特点,从而使敏捷开发顺理成章的成为首选。

  产品开发的特点

  正如前面所说,产品需求的不确定性是比较高的,往往做着做着又会发现新的需求,或者发现原来的方向已经不对了,就需要马上进行调整;再者需求的变更是不可避免的,我想这点很多人都认同。

  降低项目风险,确保正确的方向

  敏捷开发能够缩短项目的反馈周期,因其将项目分成了若干个迭代周期,每个迭代周期结束都能立即反馈。且通过不断的沟通,还能减少理解上的偏差,配合反馈,减少误解,从而降低修正错误的代价。且每个迭代周期的结束都能接受验证,从而能快速的适应变化,及时的适应新的需求,保证产品的正确性。

  那么如何进行敏捷开发呢?敏捷开发的体系建设主要有如下六个方面:

  1、组织建设,也就是团队建设,建立以产品经理为主导,包含产品、设计、前后台开发和测试的team,快速进行产品迭代开发;扁平化的团队管理,大家都有共同目标,更有成就感;

  2、敏捷制度,要找准适合自身的敏捷开发方式,主要是制定一个完善的效率高的设计、开发、测试、上线流程,制定固定的迭代周期,让用户更有期待;

  3、需求收集,这个任何方式下都需要有,需求一定要有交互稿,评审通过后,一定要确定功能需求列表、责任人、工作量、责任人等;

  4、工具建设,是指能够快速完成某项事情的辅助工具,比如开发环境的一键安装,各种底层的日志、监控等平台,发布、打包工具等;

  5、系统架构,略为超前架构设计:支持良好的扩容性和可维护性;组件化基础功能模块:代码耦合度低,模块间的依赖性小;插件化业务模块:降低营销活动与业务耦合度,自升级、自维护;客户端预埋逻辑;技术预研等等;

  6、数据运营与灰度发布,点击率分析、用户路径分析、渠道选择、渠道升级控制等等。

  敏捷开发的经验

  重点明确,及时调整。通过分析需求的紧急性和重要性,做出优先级的判定,优先级从1排到10,没有重复;迭代中严格按照优先级顺序开发,即使最后时间不够,也能保证最需要的功能开发完成;每次迭代前重新调整需求的重要性,及时加入重要的业务需求和用户需求,将重要性不高的需求往后调整。

  倾听用户的声音、相信用户的直觉。在迭代中充分关注线上版本用户的反馈,并且主动联系用户了解困扰,在当个迭代或下个迭代快速优化;通过对用户反馈的及时响应获得用户的认可和口碑。

  勇于创新、小步快跑。在迭代中勇于创新,快速实现创新想法,并在后续的迭代中不断优化。

  持续不断地发现问题,解决问题。通过每天的版本发布来检验团队在每日立会上做出的承诺;测试和验证功能的开发程度;对于功能的实现第一时间给出反馈,并能快速调整,而不会像瀑布式等到开发末期才发现实现上的问题。

  持续提升整个团队的产品能力。专门的团队面向一个产品领域;持续优化用户体验和产品流程;通过产品迭代的心跳保持产品团队的用户和市场敏感度;提升产品经理的产品感觉、提高技术团队的产品意识;团队伴随业务而成长,获得更高的成就感。

  最后,敏捷不仅仅是一个项目快速完成、而是对整个产品领域需求的高效管理;敏捷不仅仅是简单的快,而是短周期的不断改进、提高和调整;敏捷不仅仅是开发完成快速就上线,而是快速形成原型、全员测试反馈修改提高;敏捷不仅仅是一个版本只做几个功能,而是突出重点、果断放弃当前的非重点;敏捷不仅仅是随时增加需求,而是每个迭代周期对需求的重新审核和排序。

时间: 2025-01-29 08:07:53

解析敏捷开发的特点的相关文章

从管理学看敏捷开发Scrum

2010-12-21 14:13 宗子城 每次我们看敏捷开发Scrum都是从技术角度,今天我们尝试从管理角度来看这个问题. Scrum Scrum近几年已经成为最有影响的软件开发过程,从Forrester 关于敏捷模式的调查报告我们可以看出一些倪端,而且微软也推出了更Scrum的模板,相信.Net平台下越来越多的团队会采用这一过程.   图1: Forrester 关于敏捷模式的调查报表 Scrum的在软件日趋复杂的环境下,其成功不是偶然的,其指导思想符合我们现代管理学的一般规律. 管理学 经过

为什么敏捷开发难于成功?

我大概是在2003年接触敏捷软件开发这个概念,之前无论是在学校的小打小闹项目,还是工作后的项目都是典型的瀑布式开发模式, 设计上自顶向下逐层分解, 设计.实现.测试.上线有条不紊.这不是一篇介绍敏捷开发的入门文章, 而是我学习.实施敏捷的一些感想, 如果你没有实践过敏捷软件开发, 不妨到文末看看书籍推荐. 我大概是在2003年接触敏捷软件开发这个概念,之前无论是在学校的小打小闹项目,还是工作后的项目都是典型的瀑布式开发模式, 设计上自顶向下逐层分解, 设计.实现.测试.上线有条不紊. 除了大学时

敏捷开发学习分享

程序员都很懒,你懂的! 敏捷不是快,而是拥抱变化(不断反馈的一个过程).                                                        简单的说,敏捷开发是一种以人为核心.迭代.循序渐进的开发方法.在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征.换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态. 敏捷原则:主张简单,拥抱变化,可持续性,

需求采集为小公司敏捷开发中的用户服务

网页制作Webjx文章简介:最近也许是因为大家面试很多,讨论用户需求采集的话题越来越多,好像突然大家一下子都在关注产品的这一流程.当然需求采集的方法很多,众多前辈们也都总结了许多,完全可以参考甚至搬到自己的项目中来实现.这些方法用到大公司大项目上,只要把握的好,数据分析工作做 最近也许是因为大家面试很多,讨论用户需求采集的话题越来越多,好像突然大家一下子都在关注产品的这一流程.当然需求采集的方法很多,众多前辈们也都总结了许多,完全可以参考甚至搬到自己的项目中来实现.这些方法用到大公司大项目上,只

敏捷开发与项目管理实战之敏捷需求分析

问题背景 敏捷开发中许多活动都是全员参与而非专人参与.需求分析同样也可以是全员参与 的一个活动.这反映了敏捷开发的"个人与交互胜过过程与工具"的价值观.需求分析是在需 求理解的基础上进行的.因此,全员参与需求分析有助于及时发现团队成员对同一个需求理解不一致的 问题,这很大程度上避免了缺陷的引入.另外,也有助于规避人力风险.比如,一个需求的开发者突然 需要请假,其他开发者可以马上顶替他,因为其他人也参与了其负责开发的需求的分析.此外,全员参 与需求分析也有助于全体成员的能力的提升.但问题

创建标准化代码在VS中实现敏捷开发

标准化程序开发是敏捷开发中的核心内容之一.标准化代码不仅有利于团队之间的合作,也有利于模块之间的集成,节省时间与成本.在VS中也为创建标准化代码做出了很多努力.笔者在这篇文章中就跟大家分享一下,在VS平台中创建标准化代码的注意事项.具体的说,就是五大禁令和四大推荐. 禁令一:不要随意检查代码. 这可能跟用户正常的认识有所差异.有些开发人员可能认为在开发过程中,检查代码是必须的.不过在敏捷开发的模型中,这恰恰是禁止的.因为如果在代码的编写中,不时的检查代码,会浪费开发人员大量的时间与精力.当然,这

利用Rational Team Concert在敏捷开发中进行持续集成

本文将介绍如何利用 Rational Team Concert(RTC)在敏捷开发过程中进行持续集成.详细说明了如 何在 RTC 中通过采取一系列的步骤和脚本开发,来保证持续集成过程的连续性和提高整个项目的效率. 同时还阐述了每一步可以利用的工具和最佳实践,从而使开发过程更加规范化,高效化. 概述 Rational Team Concert(RTC)是 Jazz 产品中最重要的一个,是一个可以任务分解集成,源代码版 本控制,进行自动构建和报告的工具.Jazz 做为 IBM 下一代的软件交付平台,

敏捷开发中高质量Java代码开发实践

概述 Java 项目开发过程中,由于开发人员的经验.代码风格各不相同,以及缺乏 统一的标准和管理流程,往往导致整个项目的代码质量较差,难于维护,需要较 大的测试投入和周期等问题.这些问题在一个项目组初建.需求和设计均具有不 完全可预期性和完备性的全新项目中将尤为突出.本文将结合敏捷开发周期短, 变化快等特点,介绍如何通过在开发过程中采取一系列步骤来保证和提高整个开 发团队的代码质量,并阐述了每一步可以利用的工具和最佳实践,从而使开发过 程更加规范化,成就高质量的代码,减少测试的投入,并促进整个团

windows下JAVA敏捷开发环境搭建步骤教程

  编程开发环境搭建还是挺重要的,第一步是先要搭建环境,有了环境才能开展工作.本文我们来看看windows下JAVA敏捷开发环境搭建步骤. 整个软件项目分为四个环境 开发本地环境.开发环境.测试环境.IDC环境.和传统C++开发不一样的模式是多了第一个开发本地环境.这是为什么呢,因为目前大部分开发人员还是比较熟悉windows下开发.对于mac和linux下直接使用软件并且开发的中国开发者还是少之又少,这套架构就这个现状做出来的.如下是环境搭建架构图: 从环境来说: 一.开发本地环境.开发集成服