敏捷开发

什么是敏捷开发

眉间皱痕 提交于 2020-02-09 04:34:47
什么是敏捷开发 0、先来一张导图 1、概念 简单的说,敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。 换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。 敏捷最大的特色是迭代式开发。 2、优势 1、敏捷开发属于增量式开发,对于需求范围不明确,需求变更较多的项目而言,可以很大程度上响应及拥抱变化。 2、对于互联网产品而言,市场风向转变很快,需要一种及时快速的交付形式,而敏捷开发则能更好地适用于此。 3、敏捷开发可最大程度体现80/20法则的价值,通过增量迭代,每次都优先交付那能产生80%价值效益的20%功能。能最大化单位成本收益。 3、误区 4、特点 5、核心原则 6、捷开发与瀑布模型开发 瀑布模型开发 敏捷开发 某博主po的一个很有趣的“敏捷和瀑布”对比例子,给大家作为阅读参考: 6.1、敏捷开发 客人到餐馆来点菜(新项目) 不确定客户想吃什么的时候,通常选好餐厅后会先看看餐厅的菜单(客户往往提不出具体的需求) 根据图文菜单,客人点了是个菜(根据原型和设计稿,基本确定了需求) 后厨开始准备(项目启动) 配菜、炒菜,先上了两盘,让客人尝了尝味道(先提供可用实例给客户用) 客人说还不错,后厨继续准备后面的菜,陆续上菜

PHP国产敏捷开发框架doitphp

自古美人都是妖i 提交于 2020-02-08 02:22:28
打造简单、易用、易于扩展的PHP轻量级框架 http://www.doitphp.com/documentation/index.html DoitPHP 1.5 手册 目录 1.0 第一章:基础知识 1.1 DoitPHP的简介 1.2 DoitPHP的安装 1.3 DoitPHP Tools使用说明 1.4 DoitPHP的使用规范 1.5 DoitPHP的常量说明 1.6 DoitPHP自定义设置 1.7 DoitPHP的运行原理 1.8 DoitPHP的URL路由详解 2.0 第二章:核心类 2.1 DoitPHP的Controller应用 2.2 DoitPHP的Model应用 2.3 DoitPHP的View应用 2.4 DoitPHP的Widget应用 2.5 DoitPHP的Module应用 2.6 DoitPHP的Log应用 2.7 DoitPHP常用的应用类函数 3.0 第三章:应用实例 3.1 DoitPHP的实例演示一 3.2 DoitPHP的实例演示二 3.3 DoitPHP的实例演示三 4.0 第四章:扩展类 4.1 DoitPHP扩展类pager(分页)使用说明 4.2 DoitPHP扩展类script(常用javascript代码)使用说明 4.3 DoitPHP扩展类html使用说明 4.4 DoitPHP扩展类cookie使用说明 4.5

关于远程办公,微软MVP 15年研发团队的经验分享

北慕城南 提交于 2020-02-06 16:45:08
今天是2月5日,春节假期结束后的第三天了。为了能够应对来势汹汹的疫情,众多互联网企业纷纷开启了远程办公模式。不知道各团队前两天的远程办公效果如何,我们 Worktile 管理层在大年初四就开始讨论远程办公的事情,并且将可能出现的问题都尽量提前想到并做了准备。从这两天实际执行的情况看,我所在的研发团队执行的还不错,基本没有受到什么明显的影响。因此我们希望将我们远程办公的一些思考、准备和实践分享给大家,共渡难关。 先简单介绍下,我是 Worktile 基础平台部的负责人,部门包括负责核心组件开发的平台组和负责线上及公司内部服务器管理的运维组。我们的运维团队一直都是一个分布式团队,成员包含北京和杭州,我本人之前也有几年跨国公司的工作经历,对远程工作并不陌生。接下来我想就以下几个方面聊一下我们 Worktile 研发团队是如何实施远程办公的。 明确远程办公的原则 首先,作为研发线的一名主管,我首先给自己明确了一条远程办公的原则——信任,并且首先是自上而下的信任。也就是说,远程办公首先要求管理者,无论是公司CEO还是普通的小组长,都要完全信任自己的团队成员是有责任、有担当,能够自觉的按时按质完成任务,能够主动沟通工作中的问题。只有基于这样的信任,远程办公才可能展开。否则,就会陷入到监视、控制、猜疑这种危险的状况中。所以,信任是远程办公的基础。 其次,任何一级的管理者都要以身作则

软件工程——个人总结

北慕城南 提交于 2020-02-06 14:26:48
软件工程——个人总结 回想开学初对于软件工程这门课的期望,总结本课程对你带来的提升: 1.学习和使用的新软件 ——————————— Mockplus Enterprise Architect 2.学习和使用的新工具 ———————————— Markdown Git Coding 3.学习和掌握的新语言、新平台 ——————————————— MFC、Java 4.软件工程实践中,完成得代码行数: —————————————————— 300+ 5.学习和掌握的新方法: ———————————— Swing界面化设计 学习了一些新方法,比如、单元测试、代码复审、分而治之等 了解了Java与excel的链接 总结与期望 1.记录自己在软件工程课程上的经验总结 ——————————————————— 在决定自己的项目之前,一定要把自己的能力与项目的需求相结合,不要导致最后发现什么功能都没有做出来。 2.对于下一届的学弟学妹你有什么建议和告知呢? ——————————————————————— 软件工程这门课概念性的东西很多,一定要仔细的听课,不要觉得枯燥就干别的事。 在做项目之前一定要把分工做好,不要因为分工影响了团队里的和气 画图部分一定要听懂,不然用的时候会手忙脚乱 3.分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》团队合作的阶段

软件工程——个人总结

扶醉桌前 提交于 2020-02-06 14:19:59
学习和使用的新软件 Mockplus原型设计软件 PowerDesigner数据库设计软件 学习和使用的新工具 Enterprise Architect UML分析和设计工具 EPP php编译工具 My sql 数据库管理系统 WampServer PHP安装集成环境 学习和掌握的新语言、新平台 语言:HTML、PHP、CSS、JavaScript 平台:EPP 新浪云平台 在这次软件工程实践中,完成了2000行代码 学习和掌握的新方法 软件开发方法及其测试方法; 数据库设计及连接; 原型界面的设计; 使用PHP和MySQL制作动态网页。 总结与展望 记录自己在软件工程上课程上的经验总结 在进行实际的项目操作之前,要做好需求分析,UML建模,根据自己具体的项目进行典型用户分析,原型设计,最后编写代码,进行软件测试。每一步都要按部就班的来,不可偷懒及懈怠,每一步都是为了最终的项目最后可以实现的更好打下了坚实的基础。另外,在团队实践之前,一定要明确分工,每天针对各自负责的模块进行总结,把各自的问题汇总解决。一定要进行软件测试,这是必要的,只有在测试的过程中才能发现出在开发过程中发现不到的隐藏问题。对于软件工程这门课程,我确确实实学到了很多,不管是从专业技术开发软件还是从团结协作团队合作与人沟通上,我都受益匪浅。 对于下一届的学弟学妹的建议和告知。 在开发之前一定要慎重选择自己的项目

敏捷开发之scrum模型

丶灬走出姿态 提交于 2020-02-03 09:52:50
什么是敏捷开发? 敏捷开发( Agile Development )是一种以人为核心、迭代、循序渐进的开发方法。 怎么理解呢?首先,我们要理解它不是一门技术,它是一种开发方法,也就是一种软件开发的流程,它会指导我们用规定的环节去一步一步完成项目的开发;而这种开发方式的主要驱动核心是人;它采用的是迭代式开发; 为什么说是以人为核心? 我们大部分人都学过瀑布开发模型,它是以文档为驱动的,为什么呢?因为在瀑布的整个开发过程中,要写大量的文档,把需求文档写出来后,开发人员都是根据文档进行开发的,一切以文档为依据;而敏捷开发它只写有必要的文档,或尽量少写文档,敏捷开发注重的是人与人之间,面对面的交流,所以它强调以人为核心。 什么是迭代? 迭代是指把一个复杂且开发周期很长的开发任务,分解为很多小周期可完成的任务,这样的一个周期就是一次迭代的过程;同时每一次迭代都可以生产或开发出一个可以交付的软件产品。 关于Scrum和XP 前面说了敏捷它是一种指导思想或开发方式,但是它没有明确告诉我们到底采用什么样的流程进行开发,而Scrum和XP就是敏捷开发的具体方式了,你可以采用Scrum方式也可以采用XP方式;Scrum和XP的区别是, Scrum偏重于过程,XP则偏重于实践,但是实际中,两者是结合一起应用的, 这里我主要讲Scrum。 什么是Scrum? Scrum的英文意思是橄榄球运动的一个专业术语

敏捷软件开发

♀尐吖头ヾ 提交于 2020-02-03 07:25:06
一、敏捷开发(Agile Development)   1) 敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。是一种应对快速变化的需求的软件开发能力。   2)敏捷软件开发宣言(核心价值观)     人和(人与人的)交互 胜过 过程和工具     可以工作的软件 胜过 面面俱到的文档     客户协作 胜过 合同谈判     响应变化 胜过 循规蹈矩   3)在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。   4)敏捷设计是一个过程,不是一个事件。它是一个持续的应用原则、模式以及实践来改进软件的结构和可读性的过程。它致力于保持系统设计在任何时间都尽可能得简单、干净和富有表现力。   5)敏捷方法更适用于较小的队伍,40、30、20、10人或者更少 二、Scrum   1) Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发。   2) 主要角色     产品负责人(Product Owner):负责维护产品订单的人,代表利益相关者的利益。     Scrum主管(Scrum Master):为Scrum过程负责的人,确保scrum的正确使用并使得Scrum的收益最大化。     开发团队(Team):

敏捷开发方法综述

柔情痞子 提交于 2020-02-03 05:14:05
敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。 敏捷建模(Agile Modeling,AM)的价值观包括了XP(Extreme Programming:极限编程)的四个价值观:沟通、简单、反馈、勇气,此外,还扩展了第五个价值观:谦逊。 Scrum和XP就是敏捷开发的具体方式。 Scrum和XP的区别是,Scrum偏重于过程,XP则偏重于实践,但是实际中,两者是结合一起应用的。 Scrum是指一种迭代式增量软件开发过程,通常用于敏捷软件开发。虽然Scrum是为管理软件开发项目而开发的,它同样可以用于运行软件维护团队,或者作为计划管理方法。Scrum之间的合作称为“Scrum of Scrums”。 Scrum开发流程中的三大角色: 产品负责人(Product Owner)主要负责确定产品的功能和达到要求的标准,指定软件的发布日期和交付的内容,同时有权力接受或拒绝开发团队的工作成果。 流程管理员(Scrum Master)主要负责整个Scrum流程在项目中的顺利实施和进行,以及清除挡在客户和开发工作之间的沟通障碍,使得客户可以直接驱动开发。 开发团队(Scrum

敏捷开发中如何做好Sprint规划?

北城以北 提交于 2020-02-03 03:29:20
什么是Sprint规划? Sprint规划是scrum中用来启动Sprint的事件。迭代规划的目标是定义Sprint可以交付的内容,以及如何完成各项工作。迭代规划需要整个scrum团队合作完成。 与体育概念中的最后冲刺不同,scrum中的‘冲刺’(sprint)要求团队一直保持极速状态以提供可工作的软件,与此同时还需要不断学习和提高。 在scrum中,Sprint是所有工作都得以完成的一段时间。只是在开始行动前,需要设置Sprint的相关条件:例如要决定时间周期的长度、Sprint目标以及从何处开始行动。Sprint规划会围绕Sprint中的应办事项和工作重点展开。如果组织得当,Sprint规划会还能够为团队营造一个充满激情和挑战并指引团队走向成功的环境。糟糕的Sprint规划可能会因为设定不切实际的目标,而导致团队的失败。 做什么——Product Owner阐述Sprint目标以及对实现目标有益的PBI。Scrum团队据此决定在即将开始的Sprint中需要做什么,以及要做哪些才能实现Sprint目标。 怎样做——开发团队根据需要交付的Sprint目标来规划具体工作。经开发团队和Product Owner协商一致后,最终得到一个基于价值和工作量的Sprint计划。 谁来做——Sprint规划必须要有Product Owner和开发团队的参与。Product

敏捷开发中的问档:要不要写?怎么写?

孤街浪徒 提交于 2020-02-03 03:26:24
我们比较熟知的软件项目管理方法是瀑布。其基本流程是需求-> 设计->开发->测试。基本假设只要把每一个环节都做正确,那么最终得到的结果也是正确的。瀑布开发有非常成功的案例,比如微软。但从总体来讲,瀑布项目失败率比较高。国外的软件先行者们针对瀑布开发中暴露出来的问题进行了一系列的探索、思考和总结,提出了Agile Dev的概念,中文翻译为敏捷开发。 一.什么是敏捷开发 敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。 换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。相对于瀑布开发模式,敏捷开发更加灵活可操作。 二.敏捷开发方式及流程 敏捷开发有很多种方式,如scrum,XP,LSD,FDD等,其中scrum是非常流行的一种。 scrum将产品的开发分解为若干个小sprint(迭代),其周期从1周到4周不等,但不会超过4周。参与的团队成员一般是5到9人。每期迭代要完成的user story是固定的。每次迭代会产生一定的交付。 scrum的基本流程如图所示: po(product owner指产品负责人)负责整理user story,形成左侧的product backlog