当前位置: 首页 > news >正文

团队管理之敏捷开发

一、敏捷实践

敏捷开发中一直秉承的理念和宣言是:我们正在通过亲身实践以及帮助他人实践,揭示更好的软件开发方法。通过这项工作,我们认为:个体和交互胜过过程和工具可以工作的软件胜过面面俱到的文档客户合作胜过合同谈判响应变化胜过遵循计划。分别解释一下这几个问题:个体和交互胜过过程和工具 是说一个团队的好坏,不一定是团队中的每个人的技术都是一流的。但是,这个团队必须在合作的时候能够有效的进行沟通。合适的工具才是好的,工具和项目一样,需要跟着业务的复杂度进阶; 可以工作的软件胜过面面俱到的文档 是说没有文档的软件是一种灾难。文档能够追溯项目的历史。但是编著众多的文档比过少的文档更糟。编写的文档需要和编码保持同步,就会花费更多的时间,如果文档和代码之间失去同步,文档就会说谎;客户合作胜过合同谈判 说的是成功的项目需要有序、频繁的客户的反馈。不是依赖于合同或者工作的陈述,而是让软件的客户和软件团队密切的在一起工作,并尽量经常的提供反馈;响应变化胜过遵循计划响应变化的能力常常决定着一个软件项目的成败。当我们构建计划时,应该确保计划是灵活的并且适应商务和技术方面的变化,较好的计划策略是:为下两周做详细的计划,下三个月做粗略的计划,长时间的做一个大方向的目标。

二、原则

  • 通过尽早的、持续的交付有价值的软件来使客户满意。
  • 敏捷开发是不惧变化的,在任何时刻都欢迎改变需求。敏捷过程利用变化来为客户创建竞争优势。
  • 经常性的交付工作的软件,交付的间隔时间可以从几周到几个月,交付的时间越短越好。因为交付的次数越多和客户沟通的就越多,这样来业务的方向上能够更好的把控方向。
  • 整个项目开发期间,业务人员和开发人员必须天天都在一起。
  • 围绕个人构建项目,提供所需要的环境和支持,并信任他们能完成。
  • 在团队内部,具有效果并且富有效率的传递信息的方式是面对面的沟通。
  • 通过代码功能的完成程度评估进度,而不能通过文档评估进度。
  • 敏捷过程提倡可持续的开发进度。责任人、开发者和用户需要保持一个长期、恒定的开发速度。
  • 通过高质量的代码来构建项目和需求,不会将变得更好放到下次,而是在当下。
  • 将当下的工作做到极致,不考虑未来的威胁。
  • 需求不会分配给具体的人,而是分配给组织,让组织去安排。
  • 敏捷需要团队反省和自我反省,怎样才能让工作更高效。

三、极限编程

极限编程是敏捷方法中最著名的一个。它由一系列简单却互相依赖的实践组成。这些实践结合在一起形成了一个胜于部分结合的整体。一个项目的交付周期需要尽量的缩短,不要将战线拉的过长可以分为:1、迭代计划:每两周进行一次迭代,根据需求估算工作量,估算的总量不能超过预算。一旦迭代开始,任务就不能修改。 2、发布计划:需求团队经常创建一个计划,这个计划里面包含了大约6次的迭代任务。在每次迭代之前,按照需求的优先级,挑选出来。在项目验收时,测试人员应该根据客户指定的验收标准进行项目的验收。在研发的过程中不要让专职人员干专职的模块,需要所有人员都需要掌握项目的各个模块的地方。相当于AB备用岗位。研发的过程中应该给到开发人员足够的自由时间,在 XP 原则中时不允许团队加班的,只有在发布版本的之前是可以的。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Linux文件目录系统
  • 【c语法】##__VA_ARGS__与__VA_ARGS__
  • 深度学习--负采样技术及其扩展详解
  • redisj集群之哨兵模式
  • LeetCode面试题Day16|LC56 合并区间、LC57 插入区间
  • 浅谈Java SpringBoot和Spring区别
  • 【Linux】05.Linux 下的编辑器——vim
  • C语言 | Leetcode C语言题解之第373题查找和最小的K对数字
  • 学懂C++(四十五 ):深入详解C++ STL 容器:从基础到进阶
  • 深度学习——分布式训练
  • Webpack中的 HTTP 压缩
  • c语言个人笔记
  • netty编程之实现HTTP服务
  • 采用java或者python获取视频流的方法
  • 【功能实现】axios实现动态数据
  • 【译】JS基础算法脚本:字符串结尾
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • C++类的相互关联
  • Javascript编码规范
  • oschina
  • Promise初体验
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 聊一聊前端的监控
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 如何编写一个可升级的智能合约
  • 算法系列——算法入门之递归分而治之思想的实现
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 《码出高效》学习笔记与书中错误记录
  • k8s使用glusterfs实现动态持久化存储
  • # AI产品经理的自我修养:既懂用户,更懂技术!
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • $forceUpdate()函数
  • (20050108)又读《平凡的世界》
  • (SpringBoot)第二章:Spring创建和使用
  • (第61天)多租户架构(CDB/PDB)
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (离散数学)逻辑连接词
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (十八)三元表达式和列表解析
  • (转载)OpenStack Hacker养成指南
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .Net Web窗口页属性
  • .Net Web项目创建比较不错的参考文章
  • .NET 设计模式—适配器模式(Adapter Pattern)
  • .php结尾的域名,【php】php正则截取url中域名后的内容
  • @private @protected @public
  • @基于大模型的旅游路线推荐方案
  • [ 蓝桥杯Web真题 ]-Markdown 文档解析
  • []Telit UC864E 拨号上网
  • [23] GaussianAvatars: Photorealistic Head Avatars with Rigged 3D Gaussians
  • [AIGC] 如何建立和优化你的工作流?