前言
Thinking in UML 系列文章是从2005年开始写的,至2008年终成《大象-Thinkin in UML》一书,江郎才尽矣,UML系列文章也该停下来了。一方面固然是因为《大象-Thinkin in UML》一书已经掏空了我关于UML和OO分析设计方面的积累,实在已经没有什么新鲜玩意儿值得一说了;另一方面,2005到2009已经发生了很多变化,我的关注点也有所转移,这次是敏捷。敏捷又一次让我开始思考起来,自以略有小成,似乎是时候说说我的想法了。
本系列文章是讲敏捷的,之所以继续套用"Thinking in XXX",主要是因为这一系列仍将延续由我之思考引起读者思考的风格。当然也有一点小小的私心,希望借助“Thinking in UML”的成功来吸引一下眼球。呵呵,毕竟花时间写了文章当然是希望越多人看到越好。
蜂巢的启示
在自然界中,大部分动物都是独居的,有一小部分维持着规模很小的群体社会,似乎跟人类社会相比简单得不值一提。然而,这里却有两个例外,一是蜂群,二是蚁群。从群体协作一致方面来看,人类社会是远远不及的,从来没有哪个人类社会可以象它们一样,庞大数量的个体可以进行着绝对一致的群体协作。实际上,蚂蚁本身也是从远古的蜂类进化而来的,一些蚂蚁至今还保留着一些蜂类的特点,比如到了交配季节一些蚂蚁会长出翅膀飞到空中。小时候我们叫它们飞蚂蚁,这时的它们跟黄蜂非常相似。所以,尽管有两个例外,我还是以蜂群作为引子来讲吧。
谈到敏捷,几个重要的特征就出现在我们面前:自我管理的团队,一致的价值观,自我驱动的个人,群体协作大于流程规范.....不论从哪个方面来看,蜂群都是最为优秀的敏捷团队!
一个蜂巢里,蜂王代表了唯一的价值观,然而它从不发号司令,试图指挥工蜂们;每一只工蜂都一丝不苟的遵循着这个价值观,忘我的鞠躬尽瘁的为同一个目标而工作,从来不需要命令也不需要任务分配;蜜蜂的社会结构和分工相当简单和扁平化,蜂王,雄蜂,工蜂,幼蜂,再无其它,然而这个社会却协调高效的创造出精美的蜂巢,从来没有哪只工蜂说OK,我是负责采蜜的,建蜂房is not my business;蜜蜂们自觉的在需要的时候转换它们的角色,侦察蜜源,采蜜,喂食幼蜂,建蜂房,保卫蜂巢...从来没有谁为它们规定角色和分工,蜜蜂们自我管理,每一类工作都有最适当的蜂力投入;蜜蜂们在需要的时候做需要做的事,从来不拘泥于条条框框,当蜂巢遇到威胁时,不论是在采蜜的蜂还是在建蜂房的蜂,都及时投入到保卫战斗中来,没有谁会要求走一个process!
够了,不需要再说了!相比于蜂群,我们的开发团队真的应该汗颜。你汗颜了么?我汗颜了。以前,为了让团队成员能够彼此合作,规定了无数的角色分工,制定了无数的规章制度;现在,我们又转向了敏捷方法。然而敏捷到底是什么?我们到底需要怎样的软件过程?从蜂巢中,我们不能得到一些启示么?
后一篇:
转载请注明原始出处http://blog.csdn.net/coffeewoo/,谢谢合作!
分享到:
相关推荐
混合场景下大规模 GPU 集群构建与实践.pdf
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
走向现代化数据分析架构:趋势与挑战.pdf
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
金融大数据存储实践.pdf
# 基于Spring Cloud Alibaba的系统管理平台 ## 项目简介 本项目是一个基于Spring Cloud Alibaba框架的系统管理平台,采用前后端分离的模式,集成了微服务架构。前端基于RuoYiVue框架,后端采用Spring Boot、Spring Cloud Alibaba技术栈。注册中心和配置中心选型Nacos,权限认证使用Redis,流量控制框架选型Sentinel。 ## 项目的主要特性和功能 1. 用户管理完成系统用户配置,支持用户增删改查、权限分配等功能。 2. 部门管理配置系统组织机构(公司、部门、小组),支持树结构展现和数据权限。 3. 岗位管理配置系统用户所属担任职务。 4. 菜单管理配置系统菜单,操作权限,按钮权限标识等。 5. 角色管理角色菜单权限分配、设置角色按机构进行数据范围权限划分。 6. 字典管理对系统中经常使用的一些较为固定的数据进行维护。 7. 参数管理对系统动态配置常用参数。
这是来自于的c++考试题目
# 基于Python和KissFFT的音频处理系统 ## 项目简介 本项目是一个基于Python和KissFFT库的音乐音频处理系统。它利用Python的简洁语法和强大的数据处理能力,结合KissFFT库的高效傅里叶变换算法,实现对音频数据的分析、处理和转换。项目主要目标是处理音乐音频数据,进行特征提取、频谱分析、频率转换等操作,以便于后续的音乐生成、分析和识别等任务。 ## 项目的主要特性和功能 音频数据加载与预处理项目支持从MIDI文件加载音乐数据,并提供数据过滤、编码等预处理功能,以便于后续处理。 FFT算法实现利用KissFFT库实现快速傅里叶变换(FFT)算法,用于音频信号的频谱分析和频率转换。 音频数据可视化提供可视化工具,用于展示音频信号的频谱分布、音符稀疏性等信息。 模型训练与评估支持模型训练与评估,包括自编码器、LSTM等模型,用于音乐生成、预测等任务。
PADSLayout 常用封装库 ORCAD 常用原理图元器件库 常用的都用,喜欢的朋友们抓紧拿下
云原生数据库管控探索和实践.pdf
yolo系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值
在本文中,我们利用Matlab软件建立了一个简单的电力系统模型,该模型由电力系统模块及测量模块组成,能够模拟变压器故障,对不同故障进行仿真波形分析。
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过严格测试运行成功才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
内容概要:本文档为大学课程Java程序设计的期末大作业指导书,涵盖了多个不同难度的任务,旨在测试学生的Java编程能力以及对Java GUI的设计理解和运用水平。任务包括使用for循环计算指定数学表达式的值、实现两个已定义矩阵相乘的操作、利用Java GUI构建简易的功能型应用程序——一个可以执行基本算术操作的计算器、以及一个小而有趣的游戏——网球接球挑战游戏。通过解决这些问题,学生将加深对Java编程环境及其相关API的理解和掌握,提高自身的编码实践能力和创新思考空间。 适合人群:适用于正在进行Java学习阶段的学生、对提升个人编程技能感兴趣的初学者或希望巩固基础的专业开发者。 使用场景及目标:本项目作为一次全面考察学生技术实力的大作业形式存在,旨在促使同学们回顾所学知识并在实践中深化记忆。此外,还可以作为一种教学工具来帮助新手快速入门Java语言和图形界面设计的相关技巧。 其他说明:需要注意的是,在解答过程中遇到困难的同学可以通过QQ讨论组向教师求助;然而,为了确保作业的公平公正,教师不会直接给出解决方案的具体方法论。
ASP.NET养老院老人信息管理系统源码 这是一款非常优秀的养老院老人信息管理系统。程序功能齐全,可选择性强。 管理员后台: 1、人员信息管理:老人信息管理、管理员信息管理、员工信息管理 2、公寓信息管理:添加公寓楼信息、管理公寓楼信息、添加公寓信息、管理公寓信息 3、公寓安排管理:添加公寓安排、公寓安排管理、缴费管理 4、健康管理信息管理:添加健康管理信息、管理健康管理信息 5、紧急联络人管理 6、意见信息管理 7、公告信息管理:添加公告信息、管理公告信息 8、出入信息管理:请假信息管理、访客记录管理、退住情况 员工后台: 1、人员信息管理:老人信息管理 2、健康管理信息管理:管理健康管理信息 3、紧急联络人管理 4、意见信息管理 5、公告信息管理:管理公告信息 6、出入信息管理:请假信息管理、访客记录管理、退住情况 老人后台: 1、修改个人信息 2、修改登陆密码 3、意见信息管理:发布意见信息、意见信息管理 4、查看公告信息
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过严格测试运行成功才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
什么是 Pentaho Pentaho Data Integration (PDI) 提供抽取、转换和加载 (ETL) 功能,使用统一的方式实现了一系列复杂的ETL过程。 如果你第一次接触 Pentaho,你可能会看到或听到 Pentaho 数据集成称为“Kettle”。Pentaho Data Integration 最初是一个名为“Kettle”的开源项目。术语 KETTLE 是一个递归术语,代表 Kettle Extraction Transformation Transport Load Environment。Pentaho 收购 Kettle 后,更名为 Pentaho Data Integration。其他 PDI 组件(例如Spoon、Pan和Kitchen)的名称最初是为了支持 ETL 产品的“烹饪”隐喻。 PDI 常见用途 PDI 客户端(也称为 Spoon)是一个桌面应用程序,使你能够构建转换以及安排和运行作业。 PDI 客户端的常见用途包括: 不同数据库和应用之间的数据迁移。 充分利用云、集群和大规模并行处理环境将大量数据集加载到数据库中。 数据清洗,步