敏捷思维-项目实践

news/2024/10/22 18:35:12
敏捷思维和方法管理项目-案例1
为什么选择敏捷方法?
背景和痛点:
- 我司每月进行中的项目数量超过100个,项目数量庞大。
- 每月中旬需要规划下个月的项目。
- 每月上旬需分析上个月的项目实际情况,包括进度达成率、质量和成本预实比等方面的分析。
- 项目信息主要通过Excel管理,难以追踪变更,数据统计过程繁琐。- 项目范围扩大情况频繁发生。
- 每月需提交项目状况报告,整理报告内容的工作量较大,不仅消耗大量工时,还容易出现错误。

解决方案:
我们计划开发一个项目管理系统,将项目信息录入该系统,实现各类报表的自动化生成。

关于体制:

由于这是公司内部项目,无法组建专门的团队进行设计和开发。计划利用项目间歇期的成员进行兼职开发,也就是说没有项目预算的开发人员可以随时加入项目管理系统的开发团队。

关于期限:

尽管该系统没有客户方要求的确切截止日期,我们希望尽早开发出一个初始版本,在使用中逐步完善功能,这正是采用敏捷的MVP(最小可行产品)理念的体现。

关于需求要件:

我们对系统的基本需求有一个大致的想法,希望实现项目管理各方面的自动化,以减少人工干预。
我们的目标包括将来实现自动生成项目报告,并自动发送给相关干系人。然而,很多细节尚未精细化考虑,因此我们希望以“滚雪球”的方式逐步发展我们的管理系统。
值得注意的是,兼职人员能在项目中停留的时间并不确定。如果有盈利项目,我们的人力资源可能会立即被抽调走。
我们召开了一次1小时的会议,明确了成员角色,并决定采用敏捷思维开展该项目。
需要注意的是,我们使用的是敏捷思维,而不是严格遵循敏捷方法。因此,我们将依据敏捷思维,结合组织能力、成员能力以及项目特点,灵活管理项目。

■定义角色

- 项目发起人:部门负责人
-产品负责人(PO,Product Owner):PMO成员
- 敏捷教练(Scrum Master,SM):部门负责人兼任
- 开发团队(Development Team):1名全职SE+4名SE+1名兼职架构师
- 用户:部门负责人、各团队责任人、项目经理(PM)、PMO成员

■定义产品方向

1.我作为项目发起人,与PO分享我的产品构想、痛点以及希望实现的愿景。
2.PO基于愿景召集用户(部门负责人、各团队责任人、PM、PMO成员),收集了很多零散的需求。这些需求中,绝大多数是宝贵的,但也有一些不切实际的需求,不需要通过系统实现。

■制定Product Backlog

1.PO将收集的需求整理分类,形成用户故事(User Story),包括史诗级(Epic)和普通用户故事(User Story),并将这些用户故事放入产品待办事项列表(Product Backlog)中。
2.PO召集项目发起人和用户,讲解产品待办事项中的用户故事。
目的有两个:1)统一各方认知;
2)验证项目管理系统的可行性。如果用户认为与Excel没有太大区别,可能会在这一阶段终止项目。

■制定Sprint长度

Scrum Master与PO讨论定义Sprint的目标和长度。需要注意的是,敏捷思维强调尽早让团队成员参与,以增强团队的认同感。
尽管此阶段存在一些不完全符合敏捷原则的做法,但由于团队成员尚未从项目中释放出来,我们暂时不召集开发者。
最终,我们将每个Sprint的长度定义为两周,每两周发布一次版本。每次发布后,项目发起人和用户一起尝试使用并提出意见和建议。

■架构师出场

非功能性需求梳理兼职架构师作为开发团队的第一位正式成员入场。PO向架构师介绍系统的背景,并与架构师一起收集整理用户量、数据量等信息。
架构师开始进行系统设计,由于系统架构相对简单,没有需要攻克的技术难题,并且已有现成的基础架构可供使用,因此我们给架构师1周的时间进行初步工作,定义为Sprint0。
在这1周内,架构师的任务包括:
1. 技术选型:Spring Boot + Vue + PostgreSQL
2. 搭建框架
3. 制定编码规范
4. 配置持续集成/持续交付(CI/CD)

制定Sprint的Product Backlog

PO根据发布方针(产品路线图),将用户故事添加到Sprint1的产品待办事项列表(Product Backlog)中。
说明:
1.Backlog是需求列表,充当需求容器,内含多个项目,这些项目可以是史诗(Epic)或用户故事(User Story)。
2.任何需求和想法都可以作为用户故事,这意味着用户故事可以是未确定的,不必经过评审和讨论确认。
然而,产品待办事项中的用户故事是经过团队评审并确认的需求,这些需求可以在后续迭代中进行开发。

■开发成员入场

PO向开发成员讲述产品愿景、整体规划、产品待办事项中的用户故事,以及Sprint1里的用户故事。
同时开始听取成员的建议和意见,此阶段可以修改产品待办事项中的用户故事。

-----------------------未完待续-------------------------

【补充信息】

Scrum Master在敏捷项目中的具体职责包括:
促进团队工作:
帮助团队理解和遵循Scrum框架,确保团队成员之间的沟通顺畅,协助解决冲突和障碍。
确保敏捷实践的实施:
确保团队按照Scrum的原则和实践工作,包括规划会议、日常站会、评审会议和回顾会议。
协助产品负责人:
支持产品负责人进行产品待办事项的管理,帮助澄清需求,确保待办事项的优先级明确。
清除障碍:
主动识别和解决团队在工作中遇到的障碍,确保团队能够顺利推进工作。
促进自组织:
鼓励团队自我管理和自我组织,提高团队的自主性和责任感。
培训和指导:
为团队成员提供敏捷和Scrum方面的培训和指导,提高团队的敏捷能力。
与利益相关者沟通:
充当团队与外部利益相关者之间的桥梁,确保信息的透明和共享。
推动持续改进:
通过回顾和反馈机制,持续改进团队的工作流程和效率。
度量团队表现:
帮助团队使用指标和数据来评估工作效果,推动数据驱动的决策。
倡导敏捷文化:
在整个组织内传播敏捷思维和文化,促进敏捷实践的广泛应用。
Scrum Master的角色不仅限于管理,更重要的是引导和支持团队以更高效的方式工作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/74742.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

线性代数--线性方程组

线性方程组有解的判定 {x1+x2+x3=1x1−x2−x3=−32x1+9x2+10x3=11系数矩阵:A=(1111−1−12910)增广矩阵:A=(11111−1−1−3291011) n是未知量的个数,m是方程的个数怎么判断秩是否相等步骤:通过方程,写出增广系数矩阵 只做初等行变换,化为阶梯型 看系数矩阵的秩和增广系数…

Python 应用可观测重磅上线:解决 LLM 应用落地的“最后一公里”问题

本文将从阿里云 Python 探针的接入步骤、产品能力、兼容性等方面展开介绍。并提供一个简单的 LLM 应用例子,方便测试。作者:彦鸿 背景 随着 LLM(大语言模型)技术的不断成熟和应用场景的不断拓展,越来越多的企业开始将 LLM 技术纳入自己的产品和服务中。LLM 在自然语言处理…

计算机视觉领域的实际应用有什么

计算机视觉在多个行业和应用场景中有着广泛的实际应用,主要包括医疗图像分析、自动驾驶、物体检测、人脸识别、增强现实(AR)和虚拟现实(VR)、工业自动化、农业监测等。医疗图像分析用于诊断疾病和制定治疗方案,提高医疗服务的质量和效率。其中,自动驾驶是一个相对成熟的…

【八叉树】从上千万个物体中【**瞬间**】就近选取坐标

众里寻他千百度,蓦然回首,那人却在灯火阑珊处前情提要 在某些情况下,我们在场景中创建了数百万个物体,这些物体没有直接的网格或碰撞体(例如,通过GPU绘制的物体),因此无法通过常规的射线检测与碰撞体进行交互。我们仅掌握这些物体的坐标或顶点位置。在这种情况下,我们…

Python 数据分析与可视化有什么区别

在当今的数据驱动时代,Python已成为数据分析和数据可视化的重要工具。尽管这两个领域经常在数据科学项目中相互交织,但它们在功能和目的上存在本质区别。本文旨在详细探讨Python在数据分析和数据可视化方面的差异,包括它们的定义、使用的主要库、应用场景以及在实际项目中的…

python第六章课后习题

点击查看代码print("学号:2023310143028")点击查看代码def prim(graph, start): num_nodes = len(graph) visited = [False] * num_nodes min_heap = [(0, start, -1)] mst_cost = 0 mst_edges = [] while min_heap: weight, u, parent = heapq.heappop(min…

go1.18版本下 beego/bee安装无法生成exe问题已解决

转自: https://www.cnblogs.com/leijiangsheng/p/17392795.html 我原来的项目是教育学习APP使用gin框架,很多东西都是自己原来实现的。最近开发小程序,需要重新独立后台,又重新找了下go框架研究了下,beego确实是个好框架,至少项目能用到的都考虑进去了。 然后发现我本地装…

哈希碰撞

问:两个字符串hashcode相同equals一定相同吗?equals相同hashcode一定相同吗? 答:equals相同hashcode一定相同,hashcode因为哈希碰撞所以equals不一定相同。 Hash如何存数据hash表的本质其实就是数组,hash表中通常存放的是键值对Entry。 如下图:这里的学号是个key,哈希表…