敏捷项目管理

微服务与敏捷开发(Scrum/Kanban)的核心思想之我见

有些话、适合烂在心里 提交于 2019-11-30 04:40:18
微服务与敏捷开发(Scrum/Kanban)的核心思想之我见   关于“微服务”和“敏捷开发”的文章网络上有很多,所以这里不再重复叙述这些概念的解释和特点,而是就个人实际工作中对他们的核心思想的理解及运用分享给大家,希望能对大家有所帮助。   当下IT开发领域,“微服务”及“敏捷开发”越来越被各公司及团队重视。但是在交流中发现很多人对“微服务”及“敏捷开发”存在很大的误解,尤其在各公司的招聘岗位介绍中更能看到很多描述错位的地方。   首先,微服务和敏捷开发都是指导思想,是模式和方法,并不是特指某个软件应用、开发语言、开发框架等。并不是使用了某个软件应用或某个框架就算是微服务或敏捷开发了,也不是采用微服务和敏捷开发理论指导开发工作,就必须要使用某些软件或开发框架才能进行,这个是对微服务和敏捷开发的严重误解。   其次,在实际开发工作中,这两个指导思想要紧密的联合起来运用,才能达到更高效的团队运作,才能既快又好的进行产品迭代,将这两种指导思想的优势充分发挥出来。 先说一下微服务   微服务是一个架构理念,是指导架构设计的一种思想模式,延伸了领域驱动设计(DDD)。微服务是为解决逐渐复杂的系统设计、开发问题而提出的。当一个应用系统太过复杂时,设计与开发难度要比简单功能的系统大得多。其主要原因就是系统内有太多的耦合。这对系统迭代可能是致命的。DDD理论则较好的解决了这个问题

开发者面试百问-软件项目管理部分答案

廉价感情. 提交于 2019-11-29 04:07:27
【上次回答了 软件开发者面试百问 中测试部分 ,这次,由于时间关系,简单回答一下软件项目管理部分的问题。这些问题的答案,一般没有正确与否,各个人回答不同,这里仅供大家参考。】 1. 范围、时间、成本,这三项中哪些是可以由客户控制的? 范围、时间、成本,是项目管理中常说的三角关系。任何一方改变都可能牵扯到其他两方的变动。项目管理的本质,就是在保证质量的前提下,寻求这三者之间的最佳平衡。因为客户是需求方和投资方,客户有权对这三者进行控制,当然客户主要控制范围,即提出他们的需求——项目要实现的功能特性,其次,客户也非常关心能交付的时间和所付出的成本。在满足客户的需求情况下,可以在时间、成本上和客户进行交流、谈判。从项目管理的角度看,最好固定其中一项,其他两项可以根据实际状况来调节保证项目质量。 2. 谁该对项目中所要付出的一切做出估算?谁有权设置最后期限? 项目成功是团队协作的结果。在对项目进行估算的时候,需要由参与项目各个环节的人进行符合实际的估算,最后汇总起来进行综合分析计算,获得项目总的估算结果。 项目的最后期限设置除了客户定死最后交付时间,其他的情况都是根据项目的进度估算结果而进行符合实际的计划得出的。 3. 减少交付的次数,或是减少每个每个交付中的工作量,你喜欢哪种做法? 根据项目的类型和项目进行中的实际情况来决定,如果项目是规模比较大,时间长的

敏捷项目管理

岁酱吖の 提交于 2019-11-28 11:00:59
为什么要用敏捷?如今,项目管理的步伐越来越快。项目管理需要更灵活、更积极地,响应客户的需求。使用敏捷项目管理方法,项目经理可以在不影响价值、质量和商业规则的前提下实现所有目。 1.项目管理的目标与策略 1.1 目标 主要目标:在预算和时间范围内交付符合客户需要的高质量的软件产品 其他目标:提高团队成员能力获得度量数据以改进流程和提供可预测性 1.2 策略 项目成功的关键: 准确的需求分析——功能 优雅的设计,简洁的编码——质量 全面的测试,自动化构建和持续集成——可靠性 透明、可控、可持续、可预测的⽣产过程——项目管理 1.2.1 需求分析 —功能 将需求转化成功能:用例( RUP),用户故事(敏捷)。 1.2.2 领域建模 —理解业务领域 如何实现领域建模: 发现业务领域中的本质抽象和共同机制 发现领域概念的类型层次结构和组成层次结构 实现业务逻辑和业务规则。 1.2.3 设计与编码 —质量 如何保证代码质量: 设计要优雅,编码要简洁 领域驱动设计 OO原则、设计模式、重构 简单性、一致性、灵活性、扩展性的对立统一 1.2.4 TDD 测试先行、自动化构建与持续集成保证项目的可靠性。 测试先行,测试用例要做到全面测试 自动化构建,自动化构建工具要做到自动测试 持续集成,持续集成工具要做到频繁测试 测试先行: 测试先行为产品代码提供实现目标和验收标准

Day1:课设分组以及项目初设

我是研究僧i 提交于 2019-11-27 22:01:02
1.课设分组——组长:王含(917106840607),组员:徐薇蓉(917106840611),王钰(917106840609)。组名JAY 2.项目初设——我们准备做一个名为 Violet Fair 的微信小程序,校内线上交易的沟通平台,分区展示用户的闲置物品,方便同学们线下交易或是交换物品。小程序提供用户管理、物品展示、文字交流功能。后期时间富余可以添加论坛、谈论组功能。 3.thoughts——今天老师提到的scrum敏捷开发紧跟互联网开发潮流,与我暑期实习接触到的研发团队模式一致。研发团队应用scrum的好处在于开发过程每天的任务清晰,方便项目经理监督开发流程,在每天的站会汇报中随时协调团队合作,一次次sprint迭代完善功能。第二三周给我们模拟了一个sprint迭代周期,可以从中感受到老师的良苦用心。 来源: https://www.cnblogs.com/Jane165/p/11379598.html

Scrum Master如何让敏捷团队正常运转?

半城伤御伤魂 提交于 2019-11-27 20:47:12
官方《Scrum指南》中定义:Scrum Master在Scrum团队中属于服务型领导,负责践行和支持《Scrum指南》中定义的Scrum,要帮团队的每个人理解Scrum理论、实践、规则以及价值观。 最近我们进行了一次调查,其中92%的受访者表示他们正在实践的scrum是按需定制的,而非“按章办事”。这让我们想知道,这对扮演训练和帮助团队理解scrum角色的scrum master来说意味着什么? 这些scrum master是如何适应不断发展的且有别于官方规定实践的敏捷世界的? 为了回答这些问题,我们对敏捷行业的无名英雄——scrum master的角色和责任进行了深入研究。 Scrum Master是什么? Scrum Master是scrum的推动者。scrum是一种轻量级敏捷框架,专注于实现固定时间的迭代,也被称为sprint。作为推动者,scrum master充当团队其他成员的教练,在《Scrum指南》中被称为“服务型领导”。优秀的scrum master致力于构建scrum的基础和价值观,同时保持一定的灵活性和开放性让团队有机会改进工作流程。 1.Scrum Master的职责 在理想的敏捷世界中,团队可以管理自己的流程和工具。然而,我们发现许多团队通常需要依赖scrum master作为其流程的主导者才能实现敏捷的飞跃。要实现对团队的掌控,并履行职责,scrum

敏捷开发探寻本质

爱⌒轻易说出口 提交于 2019-11-27 20:29:43
我们需要坐下来好好谈谈,什么事敏捷开发。 1.什么是敏捷开发? 敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。 怎么理解呢?首先,我们要理解它不是一门技术,它是一种开发方法,也就是一种软件开发的流程,它会指导我们用规定的环节去一步一步完成项目的开发;而这种开发方式的主要驱动核心是人;它采用的是迭代式开发; 我有一个朋友(大家都这么说,我有一个朋友如何如何,我有一个同学如何如何,故事往往是这样开始的),在一个大型的软件公司工作,他们公司是典型的瀑布模型,文档驱动。每个类,每个方法,都需要在文档里面注明。这样开发人员在开发的过程中就有了大量的维护工作来去做。你修改一个类之前,先要去修改一个文档。更重要的是我这个兄弟在日企工作。你联想到了什么?纯真的笑 :-D 曾将有一位先贤曾经说过,在软件的生命周期当中,除了需求确认和软件编码之外,所有的其他的工作都是shit! fuck!and if in chinese is 艹艹。 为什么说是以人为核心? 我们大部分人都学过瀑布开发模型,它是以文档为驱动的,为什么呢?因为在瀑布的整个开发过程中,要写大量的文档,把需求文档写出来后,开发人员都是 根据文档进行开发的,一切以文档为依据;而敏捷开发它只写有必要的文档,或尽量少写文档,敏捷开发注重的是人与人之间,面对面的交流,所以它强调以人为核 心。 注意

传统项目管理工具-scrum敏捷开发看板工具

落花浮王杯 提交于 2019-11-27 10:21:41
现在项目管理软件非常多,都是非常传统的,列表式的管理方法。 真心推荐大家可以试试这个项目管理软件, Leangoo 。leangoo除了可以完美支持Scrum敏捷开发以外 对传统的项目管理也是非常好的,跟其他传统的项目管理软件不一样的是,它是以看板的形式展现,相比其他,看板的形式更加可视化,更透明。 燃尽图,甘特图,工时,企业视角的统计,项目视角的统计等等,都可以完美支持。 简洁,上手也非常快,必须推荐一下。有免费版,企业版(SaaS模式),私有部署版。 官网: https://www.leangoo.com 帮助: https://www.leangoo.com/help.html 来源: https://www.cnblogs.com/shineshine/p/11359043.html

CODING 告诉你如何建立一个 Scrum 团队

断了今生、忘了曾经 提交于 2019-11-27 03:16:41
原文地址: https://www.atlassian.com/agile/scrum/roles 翻译君:CODING 敏杰小王子 Scrum 当中有三个角色:PO(product owner),敏捷教练(scrum master)和开发团队。虽然这看起来很清晰,但如何处理现有职位的问题可能会让人感到困惑。许多团队询问在采用 scrum 时是否需要更改岗位名称?最简洁的答案是“不”。在本文中,我们将讨论 scrum 的角色定义以及如何将它们融进你的组织中,而你无需打印新的岗位名片。 Scrum 角色 VS 岗位职称 这三个 scrum 角色描述了 scrum 团队成员的主要责任,他们并不是岗位职称。这意味着任何职称,即使是现有职位,也可以承担其中一个角色。因为 scrum 的本质是经验主义、自我组织和持续改进,所以这三个角色给出了责任的最小定义,以允许团队有效地工作。这使得团队可以对他们的自我组织和持续改进负责。 参考阅读: https://scrumguides.org/scrum-guide.html 建立一个 Scrum 团队 Scrum 是一个团队构建运作流程的框架。它提供了定期会议和谁做什么的基本结构。 它不为团队提供一个适合所有人的模型。例如,如果团队正在开发 Web 保险应用程序,他们需要了解技术、后端系统和业务领域的人员。另一方面,如果团队正在研究下一代大金刚

单团队的Scrum敏捷开发-leangoo

我们两清 提交于 2019-11-26 17:14:40
概述 本场景描述的是针对10以下小型产品研发团队或小型项目的敏捷应用场景。Leangoo单团队敏捷开发项目模板是基于Scrum模型定义的,所以这里所说的单团队是指只有一个Scrum团队的场景。 Scrum是用于开发和维护复杂产品的一个框架。上世纪90年代,Scrum在全球已得到广泛应用,Scrum最初用于产品研发,目前已广泛用于软硬件开发、互联网、人工智能、学校、政府、市场、管理组织运营等诸多领域。随着技术、市场和环境的复杂度和不确定性持续增长,Scrum在处理复杂性方面的效用日益得到证实。下图是Scrum的框架和流程: ​ 在Leangoo中建立敏捷项目 对小型团队来说,在 Leangoo 中建立一个敏捷项目就可以很好的支持团队的产品或项目研发。如果下图所示: ​ 项目示例: ​ Leangoo的敏捷项目模板会默认创建“产品Backlog”看板,缺陷看板和第一个迭代的迭代看板(在Scrum中,迭代叫做Sprint),您可以根据需要创建后续迭代的看板。您也可以根据产品和项目的特征,判断是否需要通过使用Leangoo脑图工具创建产品路线图规划。 产品路线图规划和需求管理 产品路线图是重要的产品管理工具。产品路线图是一个高层次的战略计划,它描述了产品在未来一段时间可能会如何发展和壮大。产品路线图确保整个产品团队持续关注产品的目标,帮助产品负责人把握产品的战略方向