2019-02-28 17:43:55 weixin_44702197 阅读数 119
  • 项目管理从入门到精通:实践经验分享,实用套路讲解,...

    课程简介: 本系列课程主要讲三个内容: 1)讲解项目规律,解决项目延期和加班严重问题。 2)讲解事物或问题的背后逻辑,打造项目经理的方法论; 3)主动提升项目组成员能力,打造高效的学习型团队。 课程分为三个部分: 第一部分:项目管理的道法术,讲项目规律,讲如何打造高效的学习团队。 第二部分:混合式开发讲解,讲项目管理的方法论。 第三部分:通过对一个完整项目进行全流程的剖析,复习每个阶段的主要工作内容,学习课程上讲的技巧如何在实际项目中落地。 第一部分: 项目管理之道,我讲的是控盘式项目管理,掌握项目规律,根据产品定义、成员及能力和时间,灵活打造适合当下项目的管理方法。 针对项目管理之道,我提出了“灵活变通的流程管理”和“学习型团队建设”两个项目管理之法。 灵活变通的流程管理,我通过时代背景,对敏捷开发宣言和原则进行分析,讲解项目有时能做成,有时做不成,它们的原因所在。结合迭代开发和瀑布型开发的优点,我提出了混合式开发。 学习型团队建设,我讲了团伙与团队,让你对自己的团队做定位;分享了小企业的人才结构,让你知道员工修养低、能力差的前因后果;讲解用人之道和团队建设原理,让你知道怎么用人;通过案例来讲解如何运用生命力四要素,打造学习型团队。 第二部分,混合式开发流程节点讲解。 每个阶段,我从做什么、怎么做、谁来做、做的结果,几个部分详细讲解项目每个阶段要怎么来做。 除这四个部分,我还会讲解在每个阶段遇到的问题,如何提升效率的技巧,原则性的内容等。理解上的错误,方法上的错误,我会重点讲解。某些节点中,有需要讲项目成员的行为模式和思维模式,会拿出来做讲解。 第三部分,完整项目全流程剖析 我把做这个系列课程做为一个项目,从概念阶段开始到项目上线、总结复盘,我是如何做的,中间遇到问题是如何解决的,应用到哪些技巧等,进行完整的分享。

    190 人正在学习 去看看 陈华祥

        敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。强调以人为本,专注于交付对客户有价值的软件。是一个用于开发和维持复杂产品的框架。主要还是以用户的需求进化为核心,采用迭代和循序渐进的方法进行软件开发。

        用通俗易懂的话来说就是客户交付给你一个大的项目。你们研究以后将其分为几个小的可独立运作的小项目分别完成。期间你会影响软件的使用。但是当你们已经完成了小项目的时候客户又提出这个东西不用了或者要变成另外一个东西,那么就需要快速的进行更改。保证快速完成。

敏捷开发的基本流程如下:

1、产品经理将整个项目做一个需求。

2、 召开产品会议,确定哪些需求是需要在第一个迭代中完成的。完成整个产品需要多久。

3、把迭代的功能需求写在纸条上贴在任务墙,让大家认领分配。

4、每天组织十五分钟左右的立会。总结昨天任务完成情况、领取今天任务。在任务墙上更改任务进程。

5、在迭代完成时开评审会议,向客户展示产品,听取客户意见。

6、完成后召开总结大会,总结得失。

 

谈起敏捷开发不得不提瀑布式开发。

 

传统的瀑布式开发一般流程如下:

1、需求分析

2、方案设计。

3、实施/编码

4、测试/评估

 

瀑布式开发流程如下:

1、概念阶段

2、需求阶段

3、开发实现

4、功能测试

5、系统测试

6、内部体验

7、产品发布

在这七个流程中需求阶段、开发实现及功能测试可看做一个敏捷迭代。

瀑布模式把每个环节都可以看做一个黑盒,每个员工只关注自己阶段的工作。这样做的好处是员工可以更加专注的做好自己的本职工作,坏处是沟通不到位,如果有员工离职后面就会很麻烦。同时前面出现的BUG远远大于后面BUG对软件的影响。而敏捷开发则不会出现,因为分为不同个迭代完成,所以可以随时根据客户的需求更改。BUG影响也相对较小。同时客户可以在一次迭代完成以后对产品做一次反馈,可以及时更改,客户满意度更高一些。瀑布式开发较适合相对稳定的大型开发,敏捷开发则更加灵活。

 

 

2019-10-25 11:01:17 janeqi1987 阅读数 26
  • 项目管理从入门到精通:实践经验分享,实用套路讲解,...

    课程简介: 本系列课程主要讲三个内容: 1)讲解项目规律,解决项目延期和加班严重问题。 2)讲解事物或问题的背后逻辑,打造项目经理的方法论; 3)主动提升项目组成员能力,打造高效的学习型团队。 课程分为三个部分: 第一部分:项目管理的道法术,讲项目规律,讲如何打造高效的学习团队。 第二部分:混合式开发讲解,讲项目管理的方法论。 第三部分:通过对一个完整项目进行全流程的剖析,复习每个阶段的主要工作内容,学习课程上讲的技巧如何在实际项目中落地。 第一部分: 项目管理之道,我讲的是控盘式项目管理,掌握项目规律,根据产品定义、成员及能力和时间,灵活打造适合当下项目的管理方法。 针对项目管理之道,我提出了“灵活变通的流程管理”和“学习型团队建设”两个项目管理之法。 灵活变通的流程管理,我通过时代背景,对敏捷开发宣言和原则进行分析,讲解项目有时能做成,有时做不成,它们的原因所在。结合迭代开发和瀑布型开发的优点,我提出了混合式开发。 学习型团队建设,我讲了团伙与团队,让你对自己的团队做定位;分享了小企业的人才结构,让你知道员工修养低、能力差的前因后果;讲解用人之道和团队建设原理,让你知道怎么用人;通过案例来讲解如何运用生命力四要素,打造学习型团队。 第二部分,混合式开发流程节点讲解。 每个阶段,我从做什么、怎么做、谁来做、做的结果,几个部分详细讲解项目每个阶段要怎么来做。 除这四个部分,我还会讲解在每个阶段遇到的问题,如何提升效率的技巧,原则性的内容等。理解上的错误,方法上的错误,我会重点讲解。某些节点中,有需要讲项目成员的行为模式和思维模式,会拿出来做讲解。 第三部分,完整项目全流程剖析 我把做这个系列课程做为一个项目,从概念阶段开始到项目上线、总结复盘,我是如何做的,中间遇到问题是如何解决的,应用到哪些技巧等,进行完整的分享。

    190 人正在学习 去看看 陈华祥

敏捷开发

 

瀑布开发

 

很多支持敏捷的同学会说瀑布缺乏与业务的沟通和迭代次数,所以如果在项目的后期才发现要更改需求的话,则项目可能会失败或需要重新启动。这张图好像也解释了瀑布开发经常所面临的困境。

“瀑布”对“敏捷”的驳斥

敏捷本身不是项目管理框架,也不是“方法论”。它是一套与产品开发相关的原则和价值,特别是互联网产品经常会采用敏捷的方法来进行开发。但是,有一些基于敏捷原则的方法,这些方法是产品开发方法,而不是项目管理框架。

说到需求变更,瀑布也可以走需求变更,提变更申请,按照环节一步一步走,去规划工作量。虽然比敏捷是要慢一些,但是我整个流程是可靠的!为什么就说瀑布是死板的,不符合时代的呢?

似乎瀑布的做法也没有错误,我们何不按照这样的步骤,来完成我们的工作呢?这样的过程听起来是如此的可靠。看,我有明确的阶段;看,我有明确的审批;看,我有明确的变更流程。以瀑布模式进行开发的项目有这么多,已经证明了这是一个有效的实施方法,难道不是么?

另外被敏捷所诟病的瀑布项目经常失败通常是发生了非常严重的错误情况下才会产生。实际上只有在对项目的控制很差的情况下才会发生这种情况。瀑布型项目没有迭代和用户的多次反馈也是不正确的 - 很多项目可以通过产品原型图的方式和业务部门确认操作的流程,只是很多项目中并没有使用这种方法。

 

焦点碰撞

敏捷模式,两周一个迭代,每个迭代都能进行一定功能模块的交付,让用户更早的看到交付物,虽然只有部分,也可以让用户来提出自己的看法,产生变更的时候,开发人员也可以在下个迭代中进行修改,让用户进行再次的确认。

从这样看来,两者的碰撞就是在交付的及时性上与面对变更的成本上,所看到有极大的变化。瀑布在交付阶段比较靠后,交付的模块比较完整,在面对变更的时候,变更影响范围就比较大,变更的成本就极大。问题发现的阶段越靠后,解决问题所需要付出的成本就更高。这样,就体现出来了敏捷对瀑布在这样的情景下面的优势。

时间和成本,看起来就是敏捷和瀑布在选择时主要考虑的两个方面。未来能更好的指导未来的选择,下面还列出了更详细的敏捷和瀑布的优劣势。

I 敏捷开发的优势

开发的阶段性成果会在开发过程中尽早的进行审查,项目的风险会降低;

适用于需求不明确情况,因为需求不明确,所以需要在不断迭代的过程中来逐步理清需求。

灵活性较高,几乎可以在任何时间进行需求变更;

敏捷鼓励开发人员与业务用户之间进行多频次的沟通,业务用户的不合理需求以及开发人员的错误理解都会在这些频繁的沟通中进行不断审查和更新,

敏捷的协作通常要高得多,通常能开发出更高质量的产品;

适用于快速变化的项目,特别是面向前端业务人员的CRM项目更容易根据业务的变化而变化。

I 敏捷开发的劣势:

敏捷的概念接受度还不算太高,初次尝试可能不会非常成功;

最终交付的内容无法预测,预期和实际完成的内容经常会有很大差异;

敏捷需要高水平的协作以及开发人员和用户之间的定期沟通。 业务和IT人员在沟通前需要做大量的准备工作,但很多情况下业务的沟通时间无法保证;

当存在乙方供应商的情况,敏捷会面临更大的挑战性。 客户通常希望尽早了解他们的项目投入。 预估项目时间和成本难度较高;

在敏捷项目中,最大的问题可能是业务部门永远不希望有最终的截止时间。

I 瀑布开发的优势:

在管理良好的项目中,瀑布可以在早期提供交付的信心;

项目团队成员不需要在同一地点频繁沟通;

在需要大量的设计或分析的情况下瀑布是一种更合适的方法;

如果在基本产品开发之外存在许多接口和依赖关系,瀑布式项目会使用工具来建模和管理这些接口和依赖关系。

I 瀑布开发的劣势:

许多企业和业务人员确实不容易在前期定义清楚需求,早期计划中所依据的假设需求可能存在很大风险;

沟通的风险要高得多 - 特别是很多项目都是前期单向的沟通,后期项目和业务人员的预期差别很大;

瀑布项目的风险一般都很高,因为基于无效假设基础上的需求可能会让项目无限度扩大。 所以你会看到很多瀑布项目都出现成本超出预算或延迟的情况。

结论:

敏捷和瀑布的实施方法差别还是很大的,瀑布几乎可以应用于任何类型的项目,尤其是大型的项目。

敏捷方法今年来越来越受欢迎,尤其是当前SaaS软件当道,特别像Salesforce这样自带开发平台的SaaS产品可以非常容易的搭建初始原型并进行快速迭代,所以我们才会看到有越来越多的企业采用敏捷的方式来进行项目实施。总的来说敏捷并不能完全替代瀑布,它只是给了我们另外一种好的选择。

2018-09-03 15:56:36 tangweiee 阅读数 4680
  • 项目管理从入门到精通:实践经验分享,实用套路讲解,...

    课程简介: 本系列课程主要讲三个内容: 1)讲解项目规律,解决项目延期和加班严重问题。 2)讲解事物或问题的背后逻辑,打造项目经理的方法论; 3)主动提升项目组成员能力,打造高效的学习型团队。 课程分为三个部分: 第一部分:项目管理的道法术,讲项目规律,讲如何打造高效的学习团队。 第二部分:混合式开发讲解,讲项目管理的方法论。 第三部分:通过对一个完整项目进行全流程的剖析,复习每个阶段的主要工作内容,学习课程上讲的技巧如何在实际项目中落地。 第一部分: 项目管理之道,我讲的是控盘式项目管理,掌握项目规律,根据产品定义、成员及能力和时间,灵活打造适合当下项目的管理方法。 针对项目管理之道,我提出了“灵活变通的流程管理”和“学习型团队建设”两个项目管理之法。 灵活变通的流程管理,我通过时代背景,对敏捷开发宣言和原则进行分析,讲解项目有时能做成,有时做不成,它们的原因所在。结合迭代开发和瀑布型开发的优点,我提出了混合式开发。 学习型团队建设,我讲了团伙与团队,让你对自己的团队做定位;分享了小企业的人才结构,让你知道员工修养低、能力差的前因后果;讲解用人之道和团队建设原理,让你知道怎么用人;通过案例来讲解如何运用生命力四要素,打造学习型团队。 第二部分,混合式开发流程节点讲解。 每个阶段,我从做什么、怎么做、谁来做、做的结果,几个部分详细讲解项目每个阶段要怎么来做。 除这四个部分,我还会讲解在每个阶段遇到的问题,如何提升效率的技巧,原则性的内容等。理解上的错误,方法上的错误,我会重点讲解。某些节点中,有需要讲项目成员的行为模式和思维模式,会拿出来做讲解。 第三部分,完整项目全流程剖析 我把做这个系列课程做为一个项目,从概念阶段开始到项目上线、总结复盘,我是如何做的,中间遇到问题是如何解决的,应用到哪些技巧等,进行完整的分享。

    190 人正在学习 去看看 陈华祥

                               敏捷开发和瀑布模型对比


               瀑布、迭代、螺旋、敏捷——在这里讨论的敏捷,都属于过程模型

 

2019-07-14 15:33:51 qq_29924227 阅读数 115
  • 项目管理从入门到精通:实践经验分享,实用套路讲解,...

    课程简介: 本系列课程主要讲三个内容: 1)讲解项目规律,解决项目延期和加班严重问题。 2)讲解事物或问题的背后逻辑,打造项目经理的方法论; 3)主动提升项目组成员能力,打造高效的学习型团队。 课程分为三个部分: 第一部分:项目管理的道法术,讲项目规律,讲如何打造高效的学习团队。 第二部分:混合式开发讲解,讲项目管理的方法论。 第三部分:通过对一个完整项目进行全流程的剖析,复习每个阶段的主要工作内容,学习课程上讲的技巧如何在实际项目中落地。 第一部分: 项目管理之道,我讲的是控盘式项目管理,掌握项目规律,根据产品定义、成员及能力和时间,灵活打造适合当下项目的管理方法。 针对项目管理之道,我提出了“灵活变通的流程管理”和“学习型团队建设”两个项目管理之法。 灵活变通的流程管理,我通过时代背景,对敏捷开发宣言和原则进行分析,讲解项目有时能做成,有时做不成,它们的原因所在。结合迭代开发和瀑布型开发的优点,我提出了混合式开发。 学习型团队建设,我讲了团伙与团队,让你对自己的团队做定位;分享了小企业的人才结构,让你知道员工修养低、能力差的前因后果;讲解用人之道和团队建设原理,让你知道怎么用人;通过案例来讲解如何运用生命力四要素,打造学习型团队。 第二部分,混合式开发流程节点讲解。 每个阶段,我从做什么、怎么做、谁来做、做的结果,几个部分详细讲解项目每个阶段要怎么来做。 除这四个部分,我还会讲解在每个阶段遇到的问题,如何提升效率的技巧,原则性的内容等。理解上的错误,方法上的错误,我会重点讲解。某些节点中,有需要讲项目成员的行为模式和思维模式,会拿出来做讲解。 第三部分,完整项目全流程剖析 我把做这个系列课程做为一个项目,从概念阶段开始到项目上线、总结复盘,我是如何做的,中间遇到问题是如何解决的,应用到哪些技巧等,进行完整的分享。

    190 人正在学习 去看看 陈华祥

什么是敏捷开发?

敏捷开发=迭代开发+增量开发
迭代开发:将一个大项目分解成多个小项目,每个小项目都有类似的生命周期。开发者首先发布一个简单的版本,然后再不断的增加功能或者进行改进,这个过程就是不断迭代的过程,每次迭代都有完整的生命周期(包括需求分析、设计、编码、测试、部署评估)。
增量开发:迭代开发只是将一个大项目分成多个小项目来完成,但是没有规定如何划分项目进行迭代。这时,就要按照增量开发的方式进行迭代,迭代的每个版本都会增加一个用户可以感知的完整功能,就是按照功能进行划分迭代。

敏捷开发的优点

  1. 及时交付:敏捷开发完成第一个版本就可以先进行交付,而不需要等到完成所有功能再进行交付
  2. 反应迅速,拥抱变化:当前市场需求变化很快,当需求发生变化的时候,敏捷开发可以及时的做出相应,进行改变。
  3. 80/20原则:根据增量开发,可以先完成具有80%价值的20%的功能。

什么是瀑布模式?

一种由需求文档驱动的开发模式,开发人员严格按照文档进行开发,瀑布开发模式分为几个阶段:
在这里插入图片描述

瀑布模式的缺点

  1. 需求隔离:每个开发人员只能接触到自己负责的阶段,对用户需求理解不高,开发人员像流水线上的工人。
  2. 变更代价大:正如这个开发模式的名字:瀑布 一样,如果开发过程中需求变更,代价极大。
  3. 束缚创造力:由于强调文档驱动,限制了开发人员的创造力
  4. 周期漫长
2019-03-04 11:30:30 SHEDONG1011 阅读数 1496
  • 项目管理从入门到精通:实践经验分享,实用套路讲解,...

    课程简介: 本系列课程主要讲三个内容: 1)讲解项目规律,解决项目延期和加班严重问题。 2)讲解事物或问题的背后逻辑,打造项目经理的方法论; 3)主动提升项目组成员能力,打造高效的学习型团队。 课程分为三个部分: 第一部分:项目管理的道法术,讲项目规律,讲如何打造高效的学习团队。 第二部分:混合式开发讲解,讲项目管理的方法论。 第三部分:通过对一个完整项目进行全流程的剖析,复习每个阶段的主要工作内容,学习课程上讲的技巧如何在实际项目中落地。 第一部分: 项目管理之道,我讲的是控盘式项目管理,掌握项目规律,根据产品定义、成员及能力和时间,灵活打造适合当下项目的管理方法。 针对项目管理之道,我提出了“灵活变通的流程管理”和“学习型团队建设”两个项目管理之法。 灵活变通的流程管理,我通过时代背景,对敏捷开发宣言和原则进行分析,讲解项目有时能做成,有时做不成,它们的原因所在。结合迭代开发和瀑布型开发的优点,我提出了混合式开发。 学习型团队建设,我讲了团伙与团队,让你对自己的团队做定位;分享了小企业的人才结构,让你知道员工修养低、能力差的前因后果;讲解用人之道和团队建设原理,让你知道怎么用人;通过案例来讲解如何运用生命力四要素,打造学习型团队。 第二部分,混合式开发流程节点讲解。 每个阶段,我从做什么、怎么做、谁来做、做的结果,几个部分详细讲解项目每个阶段要怎么来做。 除这四个部分,我还会讲解在每个阶段遇到的问题,如何提升效率的技巧,原则性的内容等。理解上的错误,方法上的错误,我会重点讲解。某些节点中,有需要讲项目成员的行为模式和思维模式,会拿出来做讲解。 第三部分,完整项目全流程剖析 我把做这个系列课程做为一个项目,从概念阶段开始到项目上线、总结复盘,我是如何做的,中间遇到问题是如何解决的,应用到哪些技巧等,进行完整的分享。

    190 人正在学习 去看看 陈华祥

敏捷方法与传统方法的区别与联系
  首先,说一下传统开发的方式流程,传统开发也就是本文最开始所说的来自于工程学的软件开发方式,是一种瀑布式的流程,在工程的起始阶段,进行详尽的需求调研,根据需求进行完全的架构设计,之后进入开发过程,在开发过程中,不再进行设计层面的事情,不再处理需求变化的问题,在这个阶段的任务就是对前期设计的功能实现,然后是测试,部署等等。 
  其次,说一下敏捷开发的方式流程,敏捷开发是在上个世纪90年代,传统开发方式不能够满足现实开发的需要,对传统方式进行总结,对成功失败的开发案例进行研究后,得到的一种不同于传统方式的开发流程,主要的特点是迭代式进行,这种方式把一个软件开发过程分成了若干个小的迭代过程,每一迭代完成一部分功能,每一次迭代过程的工作内容按照功能的重要程度不同而排列,首先完成重要的,同时也是风险比较大的功能,而后是次重要的,依此类推,同时在每次迭代中,都要进行分析、设计、开发、测试,因为分成了一个个小过程,一步步的逼近目标,所以,可以使得产品的用户能够逐渐得明白自己的真实需求从而能够提出真正的需求,而开发团队也可以根据更正后的需求进行下一次迭代的设计。 

  其一,敏捷开发是以人为中心,而传统开发以过程为中心。并不是说传统开发就没有人的参与,或者说人不是一个重要因素。应该说的是,敏捷开发和传统开发的侧重点、中心不同。那么为什么会是这个样子呢,或者说Martin   Fowler为什么要这么说呢?因为,传统开发中,设计已经是在初始阶段完成了,在实现阶段不再修改,换句话说,实现阶段就是对设计的完成,设计方案是不可改变的了。这样就忽略了用户的反馈、忽略了开发员的设计的主观能动性,使得开发员只是专注于代码层面的事情,这是很要命的事情,非常的考究需求工程师、设计师的能力,用一句话来形容这种设计-实现效果就是差之毫厘谬以千里。而敏捷开发提倡的是迭代,在每次迭代中都有分析、设计,也就意味着迭代阶段,可以把一部分完成的系统给用户演示,允许用户提意见、需求,也允许开发员将上一次迭代中得到的想法提出来,并且把这些需求意见想法融入到迭代的分析、设计中,从而在根本上、在理念上,促进了造、用双方的一个交流沟通,发挥了用户的分析评价和开发员设计的主观能动性。 
其二,敏捷开发是adaptive的,而传统开发是plan驱动的。传统开发,设计阶段完成了,整个的过程就是按照设计方案进行,在设计阶段的后续过程中,无法再对设计方案进行修改,而敏捷开发需要一次次的迭代完成,正是这些迭代完成了对客户真实需求的软件的演进。

  一个控制大的流程,一个处理软件开发细节

原文地址:https://blog.csdn.net/sghdls/article/details/64441512

没有更多推荐了,返回首页