DevOps之Scrum和瀑布

笑着哭i 提交于 2020-01-20 13:09:51

Agile敏捷项目管理

什么是敏捷

敏捷的反义当然是不敏捷,但是这个“不敏捷”在软件工程里面却有个专业的术语叫做“瀑布式开发”。
所谓的瀑布式开发,其实是经典的软件工程方法为了定义出一套完备的过程规范,使得软件开发的运作就像是机器设备一样正常的运转而总结出来的项目管理方法论。这套方法论分为5个阶段:需求分析、设计、编码、测试和维护。需求分析阶段通常定义系统的需求,明确系统的目标;设计阶段通常确定系统使用什么数据库,系统模块的划分,各个模块的功能;编码阶段用编程语言实现设计阶段的任务;测试阶段主要测试功能是否实现,以及是否正确没用Bug;维护阶段是根据用户新的需求重新修改系统,使系统运行正常,更加稳定。

瀑布式开发的局限性也非常明显,比如对市场变化和用户需求的响应慢,更改成本高等,有可能出现的情况是产品一推出市场就宣告失败。

而敏捷开发则是以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发的一种方法。所以,在瞬息万变的互联网、移动互联网时代,大家已经渐渐体会到敏捷的优势,我们也看到越来越多的互联网产品出现了一周发布一次的快节奏,这么快的速度,就是为了迅速响应市场与用户的需求。

关于Scrum和XP

XP即极限编程(Extreme Programming的缩写)。极限编程是一种强调团队工作的工作方式,它是多种敏捷方式的一种。与Scrum不同的是,Scrum是一种工作方式的框架,从组织到团队的设计,而XP关注的是具体的工程技术实践。XP旨在通过工程实践的合理搭配使用,使开发者们能够自信地响应客户需求。强调反馈环机制,客户与研发团队之间的反馈环,测试与开发的反馈环,具体代码实现跟单元测试之间的反馈环,结对之间的反馈环。极限编程认为在软件研发过程中,变化是无所不在的,人们不应回避变化,而应该适应变化,通过对反馈去适应变化。

  1. Scrum 和 XP 团队都在迭代的方式下工作,但Scrum的周期一般是从两周到一个月,XP的周期是一两周
  2. Scrum 团队在一个sprint中是不接受任何任务变更的。而XP的团队在一个迭代中,如果新的用户故事跟原来的规模和大小差不多,可以用新的进行替换。
  3. XP 团队会严格按照任务的优先级来工作。所有的任务都被客户划分了优先级,团队都被要求在该优先级下工作。但scrum团队的人员会自己决定他们以何种顺序来完成所有的任务。
  4. Scrum并没有定义任何工程实践的方法,它只是提供了一个实践的框架给你。但XP,极限编程却会给你这样的一些东西。比如测试驱动开发, 自动化测试,结对编程,简单设计,重构等等。

常用的敏捷工具和平台

1,Leangoo

Leangoo非常适用于Scrum和敏捷开发,我们可以用它轻松的创建Sprint Backlog,添加用户故事卡或任务卡,为用户故事添加估算的故事点,或通过拖拽来移动卡片到不同的状态列表。您还可以通过把团队成员拖动到一个任务卡上来快速为其安排任务。

作为一款免费、简洁、可视化的敏捷团队协作工具,它的简洁的体验给人留下了很不错的印象!推荐想要轻量级、简洁敏捷工具的团队使用。

官网:www.leangoo.com
在这里插入图片描述

2,Jira

JIRA是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。
在这里插入图片描述
3,Axosoft OnTime Scrum

Axosoft OnTime Scrum 帮助开发团队管理待办事项、产品发布和模拟项目冲刺。同时它也是一款基于HTML5特性的工具,提供创建图表和管理仪表板的功能。除此之外,HTML5也是Axosoft OnTime Scrum平台的一部分,兼具一些其它有用的协作工具,例如Wiki和bug追踪器。

4,LeanKit

LeanKit使用一个基于云的whiteboard来规划组织过程。每个卡代表一个工作项目,并提供状态更新选项。使用LeanKit的团队可以看见工作负载分配并导出历史数据。

5,Microsoft Visual Studio Team Foundation Server

Team Foundation Server (TFS) 是用于 Microsoft 应用程序生命周期管理解决方案的协作平台,使组织能有效地管理软件开发项目。不论在本地还是在云中,TFS均可支持灵活的开发实践、 多个IDE和平台,并为您提供有效管理整个IT生命周期的软件开发项目所需的工具。

6,Telerik TeamPulse

Telerik TeamPulse可用于管理需求和bug,并和Microsoft的TFS共同提供双向同步服务。软件开发经理Damien Coyle说:“公司员工根据自身不同的角色来使用Telerik TeamPulse:客户通过反馈门户与TeamPulse进行互动;产品经理通过访问待办事项来优先处理事项;项目经理计划迭代次数(冲刺)和跟踪分配的工作;开发人员查看任务板、完成工作;这一切都离不开Visual Studio和TFS一体化集成。”

7,Rally Platform for Agile Lifecycle Management

它是一个基于云计算的敏捷生命周期管理平台,可扩展到无数个团队内使用,带有自定义页面、还能够自定义显示面板的功能,以达到自动化控制各种开发流程。

8,Planbox

Planbox通过burndown图表跟踪项目进度,并整合客户的反馈意见。PetFlow.com对Planbox的使用从技术团队扩展到了市场营销。 PetFlow.com的项目经理 Garroch Neil说:“我们正在逐步采用敏捷方法,但这些改变不是一朝一夕的事儿。我们把Planbox的迭代当作是一个回顾性评价工具。目前我们仍然在使用优先队列系统,但是每两个星期的迭代结束时,我们会回顾完成多少工作,检查bug修复以及优化等等”。

9。teambition
Teambition 实现了团队的有效协作:从管理者角度,Teambition 让团队管理者实时了解 OKR 和项目进展;从团队成员角度,Teambition 帮助产品和研发同学跟进和整理需求。团队快速扩大必然会导致沟通成本增加。

Agile敏捷项目管理总结

选择敏捷试点团队的标准
1、上下愿意改变(尤其是上)
2、跨职能自组织独立完成项目
3、团队人数5-9人(不含PO和SM)
4、项目变化多,瀑布不能应付
5、敏捷团队集中办公
6、人员素质(Scrum价值观)
7、有Agile coach
8、团队愿意接受新事物
9、有问题解决,要能看到效果
10、团队压力适中
11、项目周期推荐6个月
12、项目要相对独立
13、试点项目的可见度和重要性
14、交付周期短、频繁交付
15、人员的稳定性
16、软件架构的支持
敏捷项目经理应考虑的措施
● 简化流程
● 投入自动化
● 确保领导参与
● 建立改进目标

传统项目管理

与敏捷项目管理的区别

1、不同的管理方式适用于不同类型的项目,Scrum更适用于未知、不可知或持续变化的项目;
2、传统的管理方式有如计划经济体制,Scrum有如市场经济体制,适应变化的能力不同;
3、极大地缩短了用户与开发者,预期目标与实施状况,投资与投资回报之间的反馈回路;
4、将小型团队转化为自身命运的管理者,团队接受挑战,找寻应对挑战的方法,发挥创意,避开工作障碍,而这一切都无法由中央控制及调度系统预先安排。

项目管理工具和平台

1:jawave-iMIS-PM
iMIS-PM是企业级的项目管理系统,管理项目启动、计划、执行、监控和收尾的整个生命周期,覆盖进度、质量、成本、资源、风险等项目管理的各个要素,用户可根据情况制定和修改项目计划,逐级分解项目可操作的具体任务,统筹调控项目资源,实现项目运作能力的最大化。
在这里插入图片描述
2:aceteamwork
AceTeamwork 项目及团队协作管理套件,包含计划管理,任务管理,工时管理,费用报销等
在这里插入图片描述

项目管理总结

1、项目管理就是管人和管事。
2、管人包括项目成员的管理和项目干系人的管理。项目成员的管理参照孙子兵法的智、信、仁、勇、严,项目干系人的管理主要就是控制他们的项目参与度,既不能太多,也不能太少,但主要是防止太少。
3、管事包括范围管理、时间管理、沟通管理、工具管理。范围管理的重点是书面确认范围和范围变更流程。时间管理的重点是布置多维度高饱和的项目计划,并保证每个计划都包含人物、时间、任务、提交物。沟通管理的重点是会议管理,尽量采用封闭式会议,并利用好投影、白板等工具

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!