敏捷开发

ScrumMaster 培训第二天

北城余情 提交于 2019-11-28 21:52:19
来自:http://www.cnblogs.com/raol/archive/2013/05/08/scrum_master_2.html 第二天:早上,我们会讲到Product Owner, Product backlog和渐进式的发布计划,下午,我们会具体探究Scrum Master的角色和团队的角色,并且澄清许多已有的误解。接下来的话题是Scrum的在组织环境下的执行实施。课程的最后,我们会谈到在多个团队的环境 中扩展Scrum的要点,并且分享培训师本人在这个领域的经验。 ------------------------------------------------------------------------------------------------------------------------------------------------------------------ 下面是我的笔记: ------------------------------------------------------------------------------------------------------------------------------------------------------------------ 1. 回顾了下昨天那三个你觉得比较重要? 2.

软件测试的艺术(读书笔记7)

六眼飞鱼酱① 提交于 2019-11-28 21:48:36
下面继续本书第四部分的读书笔记部分 第四部分 开发中的调试和测试思想   第8章 调试;第9章 敏捷开发模式下的测试 第9章 敏捷开发模式下的测试   随着市场竞争的日趋激烈,今天的商业项目需要不断缩短发布时间,同时还要不断地为客户提供高质量的产品。而老一套的开发模式很难适应当今的竞争环境,所以有一些开发人员就开始讨论轻量化和快速的开发方法。这就是著名的《敏捷软件开发宣言》,这份宣言没有僵化的开发方法和复杂的技术结构,而更像是一份针对客户和开发个体的箴言警局。 1、敏捷开发的特征   从敏捷软件开发宣言可以发现敏捷开发的一些特征:   (1)客户参与     围绕以客户需求为导向的开发过程,需要让客户尽早参与到开发周期中,并一直到其结束;如果没有客户参与,敏捷开发等同失败,这时可以选择传统的开发流程。   (2)迭代开发     敏捷开发提倡迭代式和增量式的开发模式。   (3)测试驱动     测试在其中发挥重要作用,依赖单元测试和验收测试(极限编程)。 2、敏捷测试的特征   敏捷测试要求每个人参与到测试计划的设计、实现及执行中去。客户通过定义用例集以及程序属性参与到定义验收测试的设计中来。开发者和测试者打造可以进行功能自动化的测试组件。敏捷测试要求每个人参与,需要有大量的沟通与协作工作。   (1)客户参与     在客户参与阶段,客户需要参与到开发周期来定义验收测试的设计。

了解敏捷开发

懵懂的女人 提交于 2019-11-28 20:44:34
什么是敏捷开发? 敏捷开发以 用户的需求变化 为核心,采用 迭代 、 循序渐进 的方法进行软件开发。 敏捷开发模式的分类 XP极限编程(eXtreme Programming) SCRUM 水晶方法 动态系统开发方法 精益开发 其中XP和SCRUM最为流行。 极限编程 极限编程是一种轻量,高效,弹性的软件开发方式。 四大核心价值观 沟通: 完善的流程和详细的文档用于团队协作虽然能够保证一致性,但效率往往不高。 极限编程提倡通过高效的口头沟通来保证整个团队的高效协作。(并不是舍弃流程和文档,只是更加侧重口头上的沟通) 简单: ==今天够用就行。 那么系统的扩展性怎么实现? 极限编程提倡重构。(对开发人员要求较高) 重构建立在软件开发中无法避免出现BUG的前提下,与其最后修改整体的BUG,不如在一次次的重构迭代中反复扩展优化。 反馈 通过提前编写测试代码,经常性的反馈代码的问题和进展。 在开发过程中,通过持续集成,使得每一次的发布都可以成为可执行版本。 勇气 应用极限编程,每时每刻都在应对变化。这要求开发者时刻面对快速开发,重新开发。 变化在软件开发中是不可避免的,极限编程的思想就是将变化扼杀在摇篮中,避免最后形成一个无法重构的庞大工程。 13个最佳实践 计划游戏 快速制定一个概要的计划,随着项目细节的不断更新和迭代,再完善这份计划。 主要分为三个步骤:客户编写故事

【资源共享】eBook分享大集合

时光毁灭记忆、已成空白 提交于 2019-11-28 20:10:58
eBook分享大集合 主要以IT领域经典书籍收藏,以备不时之需。 福利传送门: 【GitHub】 欢迎各位指点,要是能补充更是感激不尽。 服务器系统类 Linux高性能服务器编程 Shell脚本学习指南 高级Bash脚本编程指南.3.9.1 (杨春敏 黄毅 译) 鸟哥的Linux私房菜基础篇(第3版) 深入理解计算机系统 机器学习类 吴恩达深度学习教程 deepLearning深度学习(开源版) python自然语言处理实战:核心技术与算法 机器学习方法 社交网站的数据挖掘与分析 统计学习方法 用Python进行自然语言处理 算法类 Java数据结构和算法(第2版) 编程之法面试和算法心得 编程珠玑(第2版) 编程珠玑2 大话数据结构 计算机程序设计艺术第1卷:基本算法(第3版) 计算机程序设计艺术第2卷:半数值算法(第3版) 计算机程序设计艺术第3卷:排序与查找(第2版) 剑指offer 数据结构(C语言版).严蔚敏_吴伟民.扫描版 数据结构与算法分析(C++描述)(第3版) 算法导论(第2版) 网络类 HTTP权威指南 TCP-IP详解卷1:协议 TCP-IP详解卷2:实现 TCP-IP详解卷3:TCP事务协议,HTTP,NNTP和UNIX域协议 图解TCP IP(第5版) 程序语言类 C/C++语言 C++ Primer(第5版)(中文版) C和指针 C语言程序设计

敏捷开发

元气小坏坏 提交于 2019-11-28 19:58:13
敏捷开发 前言 迭代开发 增量开发 敏捷开发的好处 早期交付 降低风险 如何进行每一次迭代 敏捷开发的价值观 十二条原则 前言    迭代开发   敏捷开发的核心是迭代开发(iterative development)。敏捷一定是采用迭代开发的方式。那么什么是"迭代开发"呢?迭代的英文是 iterative,直译为"重复",迭代开发其实就是"重复开发"。   对于大型软件项目,传统的开发方式是采用一个大周期(比如半年)进行开发,整个过程就是一次"大开发";迭代开发的方式则不一样,它将开发过程拆分成多个小周期,即一次"大开发"变成多次"小开发",每次小开发都是同样的流程,所以看上去就好像重复在做同样的步骤。   举例来说,SpaceX 公司想造一个大推力火箭,将人类送到火星。但是,它不是一开始就造大火箭,而是先造一个最简陋的小火箭 Falcon 1。结果,第一次发射就爆炸了,直到第四次发射,才成功进入轨道。然后,开发了中型火箭 Falcon 9,九年中发射了70次。最后,才开发 Falcon 重型火箭。如果 SpaceX 不采用迭代开发,它可能直到现在还无法上天。   迭代开发将一个大任务,分解成多次连续的开发,本质就是逐步改进。开发者先快速发布一个有效但不完美的最简版本,然后不断迭代。每一次迭代都包含规划、设计、编码、测试、评估五个步骤,不断改进产品,添加新功能。通过频繁的发布

RDIFramework.NET敏捷开发框架 ━ 工作流程组件Web业务平台

天涯浪子 提交于 2019-11-28 19:27:48
接前两篇: RDIFramework.NET敏捷开发框架 ━ 工作流程组件介绍 RDIFramework.NET敏捷开发框架 ━ 工作流程组件WinForm业务平台 1、RDIFramework.NET 工作流程组件介绍 RDIFramework.NET工作流程组件是以RDIFramework.NET敏捷框架为支撑,根据我们多年的项目经验和项目实践,结合国内各大工作流产品的特点研发的一套流程管理组件。该组件不仅考虑到从零搭建业务系统,也考虑到与现有业务系统的整合。从零搭建系统我们可以使用RDIFramework.NET敏捷框架以基础,来快速搭建业务系统。与现有系统的整合,我们的流程引擎提供了丰富的功能接口,供三方业务系统调用,并提供组件的全部源码方便用户进行整合。RDIFramework.NET工作流程组件采用SOA架构模式,流程引擎可通过服务方式访问。支持B/S、C/S系统,同时支持SQLServer、ORACLE、MySql等主流数据库。 RDIFramework.NET━工作流组件主要涵盖工作流的设计与定义、流程实例的发起与运行、业务流程的监控与管理、工作流组件与业务系统的集成与协作等内容。 2、Web业务协同平台 我们通过流程设计器进行可视化的流程设计后,就可以通过流程引擎进行流程的流转操作。 如下图是RDIFramework.NET工作流组件的Web流程设计器

敏捷之旅--携程行程&订单团队

偶尔善良 提交于 2019-11-28 17:59:52
转自本人运营的公众号“ 携程技术中心PMO ”(ID:cso_pmo) 关于我们 我们面临的挑战 敏捷开发是以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。先把一个大项目分为多个相互联系、可独立运行的小项目,再分别完成,而在此过程中软件一直处于可使用状态。 敏捷开发模式可以对过程进行自主调整,它强调人的因素,能够灵活响应需求和技术的不断变化,并且产出高质量的软件产品。 实行敏捷开发之前,我们面临的挑战: 如何令30多人的团队保持高效运作? 如何定义BU和内部需求的优先级? 如何迅速将需求实现并落地? 与时俱进,迅速转型 第一步,将团队拆分为三个相对独立的小团队,保证在快速迭代的同时保持高效沟通。 第二步,从需求着手,积极向敏捷模式靠近。 产品同学明确当前阶段的KPI/OKR,按照ROI和紧急程度区分优先级; 开发同学提前进入以便聚焦技术方案,拆解并认领工作任务,加强配合; 测试同学共同思考验收标准并执行严格的测试流程。通过单元测试、功能测试的案例,提前规避风险; 成员紧密地配合,验证需求强度和假设,以迅速推动产品更新和迭代; 通过sprint计划会,可以更加明确团队成员的任务和目标。而通过每日站会,可以更迅速地同步项目开发进度。 第三步,充分利用iKanban高效管理产品需求,需求饱和度及完成度一目了然,进一步提升团队工作效率。 我们的收益 如何评估敏捷的效率呢

Jhipster_cn中文翻译组

我们两清 提交于 2019-11-28 15:01:34
Jhipster快速入门 核心技术栈 (TODO) 这里是列表文本环境设置 安装Jhipster 配置Eclipse/Intellij (TODO) 容器编排 (TODO) Jhipster核心任务 使用Jhipster微服务架构 创建项目 创建entity (TODO) 创建service (TODO) 创建DTOs (TODO) 管理关联关系 (TODO) 国际化 (TODO) 更新项目 (TODO) 可定制模块 给应用程序添加安全机制 使用Elasticsearch (TODO) 使用Websockets (TODO) 使用Oracle (TODO) 使用MongoDB (TODO) 使用Cassandra (TODO) 开发环境 在开发环境中使用Jhipster (TODO) 管理配置文件 (TODO) 使用AngularJS (TODO) 定制Bootstrap (TODO) 测试和Q&A 运行测试 (TODO) 代码质量监测 (TODO) 代持续集成 (TODO) 生产环境 使用在生产环境 (TODO) 指标监测 (TODO) 部署到Cloud Foundry (TODO) 部署到Heroku (TODO) 部署到AWS (TODO) 模块 模块市场 (TODO) 如何创建一个模块 (TODO) 工具 Jhipster实体语言 (TODO)

敏捷开发、持续集成/交付(CI/CD)、DevOps

房东的猫 提交于 2019-11-28 07:42:42
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/CrankZ/article/details/81545439 概述 敏捷开发和DevOps都是一种理念。他们的理念相似,都是为了更好更快的发布产品,但又不完全相同。 而CI/CD是实现这两者理念的一种方法。 敏捷开发 前言 传统方式开发前有一份详细的开发文档,程序员照着需求直接敲代码,产品做好了直接部署上线。中间不会有人打扰,需求也不会变。 但是目前的情况是,用户需求和市场都变化太快,就算你前期用户调研的再好,计划书写的再详细,也抵不住市场的变化,说不定产品做出来,用户就不需要了。 所以为了适应市场的发展,我们必须不断提高我们的开发效率,及时跟进用户需求,缩短开发周期。在这种情况下,就有人提出了敏捷开发。 传统开发 传统开发方式的拥护者和敏捷开发方式的拥护者看待软件开发的世界观是不同的。 在传统开发的眼里,软件开发过程是确定的、可测的,只要在一开始努力收集到需要的信息并制定好计划,然后忠实的执行计划就应该可以成功。如果不成功一定是你在一开始就没有做好,没收集到必要的信息,计划做的不好或者执行不到位。然后传统开发方式就试图引入更多的流程,文档,试图让每一步都做到万无一失。 敏捷开发 而在敏捷的眼里世界可不是这样的

DevOps与Kubernetes 、容器的关系

ε祈祈猫儿з 提交于 2019-11-28 04:06:06
近两年,随着容器、Kubernetes 等技术的兴起,DevOps 这个概念被广泛提及并被大量使用。 本文将会从以下几个方面着手,结合实验展现的方式,让读者真正理解 DevOps 的含义。 DevOps 产生的背景 DevOps 与容器、Kubernetes 之间的关系 DevOps 的常用工具 DevOps 是什么 DevOps 中的 Dev 指的 Development,Ops 指的是的 Operations,用一句话来说 DevOps 就是打通开发运维的壁垒,实现开发运维一体化。 从瀑布式开发到敏捷开发 谈到 DevOps 的发展史,我们需要先谈一下敏捷开发。 首先,敏捷开发是面向软件的,而软件依赖于计算硬件。我们知道,世界上第一台计算机是在 1946 年出现的。因此,软件开发相对于人类历史而言,时间并不长。相对于软件开发方法论的掌握,人们更擅长于工程学,如盖楼、造桥等。为了推动软件开发,1968 年,人们将工程学的方法应用到软件领域,由此产生了软件工程。 软件工程的方式有其优点,但带来了不少问题。最关键一点是:软件不同于工程。通过工程学建造的大桥、高楼在竣工后,人们通常不会对大桥高楼的主体有大量使用需求的变更;但软件却不同。对于面向最终用户的软件,人们对于软件功能的需求是会不断变化的。在瀑布式开发的模式下,当客户对应用有变化的需求时,软件厂商得重新开发软件