敏捷

不假思索地思考——敏捷的心智模式

只谈情不闲聊 提交于 2020-12-06 01:26:15
不假思索地思考——敏捷的心智模式 为什么有些人天生就是充满睿智的程序员,而其他人却错误频出?为什么有些人跟随直觉的指引便能做出优雅的设计,而有些人却在艰难的泥沼中不能自拔?再有,为什么那些英明的设计方案常常无法向人解释?这是一篇关于“不假思索”的分析报告。在敏捷活动中,在编码时,在结对开发中,你的大脑到底是如何运... 详细解读 和小伙伴们一起来吐槽 来源: oschina 链接: https://my.oschina.net/u/856019/blog/366518

计算与软件工程 作业5

て烟熏妆下的殇ゞ 提交于 2020-04-07 10:12:49
第五次作业 一、格式要求 作业要求 https://edu.cnblogs.com/campus/jssf/infor_computation17-31/homework/10584 课程目标 阅读软件工程的方法,总结经验 其他参考文献 https://martinfowler.com/articles/newMethodology.html 作业正文 https://i-beta.cnblogs.com/posts/edit 新方法论 过去几年中,软件过程思维最明显的变化可能是“敏捷”一词的出现。我们谈论的是敏捷软件方法,如何将敏捷引入开发团队,或者如何抵御决心改变既定做法的敏捷专家即将来临的风暴。 从无到有,无与伦比,再到敏捷 敏捷方法与工程方法相比在重点方面发生了重大变化。最直接的区别是它们不太面向文档,通常针对给定任务强调少量的文档。在许多方面,它们都是面向代码的:遵循一条说明文档的关键部分是源代码的路线 敏捷方法是适应性而非预测性的 敏捷方法以人为本,而不是以过程为导向 预测与自适应 设计与施工分离 构建便宜,需要人才,可预测性低 需求的不可预测性 需要获得稳定的需求 适应性客户 一个好的敏捷项目将建立与原始计划所预见的有所不同和更好的东西 以人为本 插头兼容的编程单元 程序员是负责任的专业人员 管理以人为本的流程 测量难度 商业领导的作用 自适应过程

敏捷软件开发揭秘

人走茶凉 提交于 2020-04-03 10:27:22
前言 本篇文章将对敏捷软件开发的方法论及其应用做基本介绍,将描述团队是如何通过协作来完成共同目标的。本篇文章不仅仅适合软件开发人员阅读,同时也适合于团队负责人、项目经理、产品经理、开发经理、测试人员、QA经理、QA工程师、技术文档专员、用户体验设计师等任何涉及软件交付的人员。文章重点介绍技术团队是如何通力协作来计划、构建和交付软件的。但文中没有具体代码的编写,也没有对特定技术的介绍,并且也不会介绍任何微软技术。希望这篇文章可以帮助你改善专业性和团队的效率。 背景 Winston Royce 瀑布模型 引自 1970 年的 IEEE 论文 "Managing the Development of Large Software Systems" 该论文中阐述了,在计算机程序设计开发过程中,无论软件的规模和复杂度如何,都会经过两个必不可少的阶段:软件分析和编码。而许多其他额外的开发步骤,虽然也是需要的,但却都没有像软件分析与编码一样对最终产品作出最直接的贡献,反而增加的开发过程的支出。 然后,Royce 介绍了需要额外的将 5 个重要的步骤添加到整个开发流程中,用于最大化地消除软件开发中的风险: 步骤1:程序设计优先 一个软件程序的初步设计阶段,将被插入到软件需求和软件分析阶段之间。程序设计人员将在此阶段开始进行软件整体的初步设计,包括设计、定义和指定数据处理模型,定义系统间的接口

敏捷开发的那些事

百般思念 提交于 2020-03-18 23:16:33
“敏捷”这个词近几年非常火,经常会有人问:“我们应该怎样开始做敏捷?”或者:“能不能来帮我们推一下敏捷?敏捷有很多实践,管理的、工程的都有,但敏捷绝非我们看到的站会、持续集成、TDD等那么简单,真正的敏捷体系是从理念到文化的一次变革。 敏捷作为一种快速应对需求变化的新兴软件开发模式,正受到越来越广泛的关注和应用。它强调快速验证,表现为快速上线、快速根据反馈迭代产品。 今天在这里给大家推荐一款敏捷项目管理平台—CORNERSTONE,那么,究竟是什么样的呢?让我们一起来体验吧~ CORNERSTONE 敏捷项目管理解决方案特点为全角色、全流程、支持中大型团队: 提供包含项目管理、产品、运营、研发、测试等各职能角色在内的完整解决方案。 为需求管理、迭代规划、进度跟踪等经典 Scrum 环节提供工具支撑。 兼具组织架构管理、资源管理与全局进度管控等能力,可扩展为多团队并行开发,帮助中大型团队开展敏捷实践。 提供研发数据统计与可视化报表引擎,可衡量并持续提升研发效能。 打造业务专家与研发团队高效的协作环境,快速响应需求的同时更好更快的发布产品。 从创建需求、建立版本迭代、迭代进度跟踪和bug管理,到最终交付发布,发布后线上问题反馈跟进,整个敏捷研发流程均可在CORNERSTONE实现。 一、需求管理 产品研发过程中,需求管理是个大难题。作为产品负责人或产品经理,会收到来自老板、开发、用户

敏捷开发的那些事

梦想的初衷 提交于 2020-03-18 17:02:47
某厂面试归来,发现自己落伍了!>>> “敏捷”这个词近几年非常火,经常会有人问:“我们应该怎样开始做敏捷?”或者:“能不能来帮我们推一下敏捷?敏捷有很多实践,管理的、工程的都有,但敏捷绝非我们看到的站会、持续集成、TDD等那么简单,真正的敏捷体系是从理念到文化的一次变革。 敏捷作为一种快速应对需求变化的新兴软件开发模式,正受到越来越广泛的关注和应用。它强调快速验证,表现为快速上线、快速根据反馈迭代产品。 今天在这里给大家推荐一款 敏捷项目管理平台— CORNERSTONE , 那么,究竟是什么样的呢?让我们一起来体验吧~ CORNERSTONE 敏捷项目管理解决方案特点为全角色、全流程、支持中大型团队: 提供包含项目管理、产品、运营、研发、测试等各职能角色在内的完整解决方案。 为需求管理、迭代规划、进度跟踪等经典 Scrum 环节提供工具支撑。 兼具组织架构管理、资源管理与全局进度管控等能力,可扩展为多团队并行开发,帮助中大型团队开展敏捷实践。 提供研发数据统计与可视化报表引擎,可衡量并持续提升研发效能。 打造业务专家与研发团队高效的协作环境,快速响应需求的同时更好更快的发布产品。 从创建需求、建立版本迭代、迭代进度跟踪和bug管理,到最终交付发布,发布后线上问题反馈跟进,整个敏捷研发流程均可在 CORNERSTONE 实现。 一、需求管理 产品研发过程中,需求管理是个大难题

在新浪微博上关于敏捷的一些讨论

蓝咒 提交于 2020-03-12 12:18:39
From: http://coolshell.cn/articles/5143.html 自从我发布了“ Scrum为什么不行 ”,并被CSDN推成首页头条后,我在我的新浪微博上就经常被敏粉们@去讨论他们的一些话题。 他们似乎想要从我这里听到一些不同的声音,我很喜欢他们的这种态度,在这里先赞他们一个 。既然,让我来评论他们的东西,我就不客气了,板砖自然是少不了的。 我觉得我在微博上的观点比较散,所以在这里做一个汇总。我在所有批评敏捷的文章里都重复说过我的立场,这里还要再说一遍,因为那群人很敏感——“ 我承认敏捷中有一些东西我是认可的,但对敏捷社区的推广和思维方式我持否定态度 ”。 敏捷词汇表 我被 @吴穹adam 邀请进入了一个 敏捷词汇表的微群 ,这个群就是想明确的定义一下敏捷的各种词汇,比如,他们想把TDD定义成就是UT。呵呵。我对这个群仅保持了30分钟的热度,我在里面发了一个“你们不想讨论技术吗?”的帖子,就再也不想关注了。因为我的观点如下: 我不知道干这件事有什么意义。标准化还是洗脑?One World, One Agile? - horse shit! 你能定义地好吗?定义好了大家都能干好了? - 幼稚! 理解不同又有什么关系?价值观不同又能怎么样?为什么不能正视并接受世界的不同呢? – 固执! 敏捷宣言 我看到很多人又把《敏捷宣言》拿出来说事

敏捷原则比敏捷框架更重要

倾然丶 夕夏残阳落幕 提交于 2020-02-27 19:11:02
2018年5月10日,敏捷宣言的发起人之一Ron Jeffries公开宣称“开发人员应放弃使用敏捷框架”。Ron Jeffries提到,诸如Scrum和看板之类的敏捷框架,与敏捷原则相差甚远,并不能为开发人员提供好的服务。他希望开发人员重新关注敏捷原则,并放弃使用这些敏捷框架。 我们询问了一些团队在实际工作中如何进行敏捷实践,希望大家在公开场合(互联网或社交媒体上)讲述他们的敏捷实践,以此进行一个大规模的敏捷回顾。我们将这次活动称为“Retro On Agile”。 我们想知道敏捷软件开发这种方式在哪些方面表现得比较好,又在哪些方面可以得到提升,希望大家可以分享他们在实践过程中遇到的困难,付出的努力以及收获的成功。 作为敏捷工具的开发者,我们需要收集这些反馈,以便更好地升级产品,为客户提供更好的服务。 实施敏捷后的反馈 在这次活动之中,大多数参与者都反应“敏捷”并未让他们的团队变得更好。 “虽然敏捷被定义为具体的方法论,但并未真正提高工作的效率。” “希望人们能更多的注重敏捷的原则和价值观,而不是专注于流程和方法论。” “能不能不将敏捷当做一个具体的执行方法?” “如果人们都能意识到敏捷中比站立会议更重要的是 敏捷原则 就好了…” 以上都是他们真是的反馈。与此同时,我们也收到了很多积极的反馈。例如: “我们团队的敏捷过程涉及了假设,实验,测试和执行,而不仅仅只是交付了。”

敏捷方法适合什么样的团队?

浪尽此生 提交于 2020-01-07 18:46:29
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 敏捷开发适用于研发团队吗? 距敏捷开发宣言的发布已经过去了将近二十年,现在很多团队都在思考“敏捷”的工作方式。营销团队想要尝试Sprint的方式来加速盈利,运营团队正在采用Scrum敏捷项目管理,而人力资源团队则正在寻求如何为公司战略注入更多的灵活可变性。 那么对于研发团队而言,敏捷实际上只是一套帮助解决大型且复杂项目的方法论。在工作中,如何正确的运用敏捷方法哪种方式,一直存在很多争论。 是否采用敏捷开发? 通常而言,复杂、大型的研发项目需要跨部门的协调,项目经理总是希望可以快速实施并交付产品。但是当你想要调动全部资源去推动此项目时,这又将对其他部门的业务和工作产生影响,这是不现实的。因此在项目研发过程中,团队需要采用敏捷开发方法,并以不断迭代的方式来应对快速变化的需求。 敏捷并非意味着在项目开始之前就定义最终需求并安排好全部工作内容。但对于跨公司的庞大项目而言,需要了解产品需求和路线,否则每个人工作都有可能出现差错。那么是否有可能将敏捷开发应用于类似上述的庞大项目呢? 我认为是可行的,但需要实行真正意义上的的敏捷开发。 请记住,敏捷并不是每个人都必须遵循的一套固定规则。它是一种方法论,是帮助团队应对快速变化的需求、提高工作效率的一种理念和价值观。在产品研发过程中

个人阅读&个人总结

耗尽温柔 提交于 2019-12-23 19:15:45
助教推荐的这些文章都是软件工程的经典之作,读完之后对这学期的软工学习有了更深的认识。才觉得学习软件工程之前写的都不算是软件工程,只是些程序。真正的软件工程历史悠久,其对程序员带来的痛苦伴随着很多代人,许多经典的软件工程著作和讨论都是几十年前就完成的,虽然软件行业日新月异,但其中的哲学和根本却从未改变。 软件工程中到底有没有银弹呢? No Silver Bullet --Essence andAccident in Software Engineering 在西方文化中,狼人是一种十分可怕的怪物。其最恐怖的地方在于,他们会忽然从十分熟悉的人变为恶魔。就像中国的黑狗血可以制服妖怪一样,狼人的克星是银弹(Silver Bullets)。作者用狼人来比喻软件工程,银弹以比喻可以克服软件工程中困难的通用方法。人们渴望得到银弹,但就像题目所直截了当地描绘的那样,作者认为并不存在这种通用方法。 首先,从软件开发近10年的历史(文章写于1986年)上来看,不存在一种单独的开发、技术或管理技巧可以完全保证效率、可靠性、简易性的提高。 其次,软件开发中存在一些本质的困难。 硬件速度的增加相对软件开发的进步是十分快的。 软件本身内在的困难(复杂性、整合性、不断变化性、不可见性)和不断出现的意外。 在解决这些问题的过程中,工程师们取得了一系列突破:高级程序设计语言、时间共享、统一的编程环境

重构之重与敏捷之轻---身份证号重构回顾

ⅰ亾dé卋堺 提交于 2019-12-11 18:18:49
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 寻找重构的案例 重构的案例不好选取,我们自己实际的项目当然有不少重构的情况,却不适合作为文章阐述出来。并不是因为保密的考量,而是业务本身的内容太复杂。当然,这个复杂是相对的,对短短一篇文章来说,那怕是最小一部分的业务逻辑拿出来,也显容量不够。而且,过多的阐述业务逻辑,导致喧宾夺主,掩盖了重构的注意力。所以,要选取一个大家都熟悉的东西,身份证号恰恰中了我第一个要求。 即然是重构,必然要有个原始的版本,而且,要完成了实际的功能。开源中国的代码分享也刚好为我提供了一个资源库。代码分享这个平台,真是太理想了,代码规模不大不小,每一个分享又有一个明确的目标功能。 看起来,确实是个金矿。可是随着深入的搜索查看,能进入我目标范围的却是寥寥无几。大部分代码只是粘合剂,把外部库的调用综合起来,完成一个任务而已。还有些代码,方法体太大,而代码却是简单重复,似乎重构的必要,却未能展现出重构该有的不同侧面,而且也有前面所提到的毛病,是粘合剂代码块。 (本文版权属于© 2012 - 2013 予沁安 ) 而当我看到 身份证 这三个字,才眼睛一亮,看似简单的身份征号包括了太多内容: 它是一个典型业务域的 Value Object (不要与C#语法概念的Value Object混淆),我们自己的系统中,刚好也有做一个身份证号值对象的想法