提示:学习笔记 欢迎指点

文章目录

  • 1、敏捷开发思想之道
  • 2、面向对象开发之道
  • 3、敏捷学习之道

1、敏捷开发思想之道

一名敏捷开发者,敏捷思想的掌握自然首当其冲。在敏捷开发实施的过程中,我们虽然不是scrum master,没有管理scrum流程的职责,但是对于流程,角色,职责的理解熟悉是非常必要的,不然参与了半天的敏捷开发,到头来却还说不出个所以然来。作为一名敏捷开发者,我们需要:
熟知流程
作为team中的一员,我们应该将流程以及其中的工具熟记心中,并严格要求自己按照流程工作,让敏捷开发的思想融入到自己的血液之中。

厘清职责
熟悉了流程,我们还需要认清各种角色,并定位自己。上面图中可以看出,敏捷开发中共有四种不同的角色。作为team成员的我们,自然首先应该熟记自身的职责,并了解其它角色的职责。我们将重点关注于我们自身。作为team中的一员,我们最重要的就是功能的开发以及维护。这就要求我们自己要不断的增强自身能力,使得自己负责的功能的质量有所保证。关于如何增强自身能力,在下面的面向对象开发之道中我会提出我的见解。
协作沟通
协作与沟通是敏捷开发的重要特征。team中的每一个成员都应该理解其重要性。对于team成员来说,沟通包括与scrum master的沟通,与product owner的沟通,以及team成员之间的沟通。协作则是team成员间的协作。我们应该敞开心扉,抱着助人即为助己的态度。

2、面向对象开发之道

作为一名敏捷开发者,熟悉面向对象的开发,深谙其道,深知其理非常重要。在我看来,对于每一个sprint的每一个task的开发,都遵循着这样一个四步循环:首先是需求分析,通过我们拿到的交互图开始进行详细的需求的分析;其次,当我们通过交互图的分析,将每一步都了然于胸的时候,开始着手设计,这是设计模式表演的时刻,我们运用合适的设计模式设计相应的功能,完成后得到设计图;再次,根据设计图开始编写代码;最后,当这一切完成之后,我们会开始审视当前的工作,发现问题后做适当的重构。这样对于每一个我们完成的task,我们就能够保证其质量都是过关的。下面我们逐步解释。

第一阶段:需求分析
在开始每个task之前,我们首先要做的就是仔细分析UX交付给我们的用户交互图,我们通过对用户交互图的深入理解,以及在sprint plan meeting与backlog grooming meeting的对于task的深入分析,做到将task的具体内容与流程熟记于心,胸有成竹。

第二阶段:设计模式
通过对交互图的分析,现在我们已经对task有了具体的理解,那么这个阶段我们可以开始对task进行详细设计了。这个阶段的关键是如何设计出一套可复用,可扩展,可测试的方案来。我们应遵循面向对象的几个设计原则(之后的文章会详述),将功能的流程图,类图,对象图等5图设计出来。敏捷开发中并不强调文档的必要性,因此我们可以通过草图的方式将设计思想表现出来,以利于后续代码编写工作的进行。至于设计模式的学习,经典书籍数不胜数,推荐两本:四人帮的《设计模式--可复用面向对象软件的基础》,《Head First设计模式》,国内的一本《研磨设计模式》写的也不错。

第三阶段:代码艺术
现在我们可以开始编写代码了。需要注意的是,我们已经设计好了具体的方案,因此我们只需要按照设计图纸进行施工就好了。这个阶段我们需要注意的是代码的质量,也就是所谓的代码艺术。写代码不是体力活。如果我们仅仅满足于堆砌代码,那么我们始终都只能是一个码农。要写出漂亮的代码,需要我们自己不断的揣摩实践,不断的修正。对此我会写一篇关于代码艺术的文章,是自己的一些亲身感受与实践体会。那么这里推荐几本非常好的书籍:《代码整洁之道》《代码大全》《程序员修炼之道--从小工到专家》等。

第四阶段:重构之术
到这里task已经基本完成了,注意这里仅仅是基本完成,并没有最终完成。那么这一步我们应该做些什么呢?重构。我们在编写代码的时候,由于各种各样的原因,可能并没有按照我们之前设计的“图纸”执行。因此,这个阶段我们需要重新审视自己的设计与实际代码,找到那些背离设计原则,不可测,不可扩展,不可复用的代码,逐步重构,使其最大限度的达到我们面向对象设计原则的要求。关于重构,可以参考《重构:改善既有代码的设计》写的非常的好,值得深读。

至此,task的开发工作总算完成。接下来就是下一个task,再下一个…循环反复。最终确保我们的项目顺利向前。

3、敏捷学习之道

学无止境,对于我们程序员尤其如此。敏捷思想对于软件开发已取得了革命性的成功。然而我想,敏捷思想不仅仅可以用在软件开发领域,在其它的领域依然大有所为。那么我们是不是可以将敏捷的思想运用到日常的学习中去呢?怎样运用呢?通过自己的亲身实践,我觉得我们可以通过如下几点,将敏捷运用到学习的实践中去。

  1. 化整为零,小步前进,迭代学习,增量回顾
    首先我们将大块的学习内容分成每一个小块,通过在一定周期内对于每一个小块的学习,最终完成大块的学习。比如我们要看一本书,我们可以将这本书视为一个story,其中每一章视为一个task,那么我们将2周定为一个迭代,每两周完成一章内容,在每个迭代的最后我们进行总结回顾,以此方式不断前进,最终实现小步前进,完成整本书的阅读。

  2. 利用番茄时间法,分解时间,多任务并发前进
    根据经典著作《番茄时间法》,我们也可以将大块的时间分成一些小块,对不同的内容进行学习。这样可以达到多个任务同时进行,且不会相互干扰。我们可以充分利用时间碎片来学习,将一些零散的知识,在时间碎片内完成学习。

----结束----

[博学谷学习记录]超强总结,用心分享|架构 敏捷 - 开发管理之道相关推荐

  1. [博学谷学习记录]超强总结,用心分享|架构 Nacos入门

    提示:学习笔记 欢迎指点 文章目录 前言 一.Nacos安装 二.Nacos服务注册与发现 1.服务提供者Provider 2.服务消费者Consumer 三.Nacos作为配置中心 前言 Nacos ...

  2. [博学谷学习记录]超强总结,用心分享|第07节 常用的API-----笔记篇

    目录 1.API 1.1 API概述-帮助文档的使用 1.2 键盘录入字符串 2. String类 2.1 String概述 2.2 String类的构造方法 2.4 创建字符串对象的区别对比 2.5 ...

  3. {博学谷学习记录} 超强总结,用心分享|狂野架构师-前置互联网架构演变过程

    本章以系统架构,数据架构,两种维度来进行讲解 目录 1 系统架构 1,1 单体架构 1.2 中台战略 2 数据库架构 2,1 单体架构 2.2 主从读写 2.3 分库分表 3 总结 1 系统架构 1, ...

  4. [博学谷学习记录]超强总结,用心分享|第16节 集合续-----笔记篇

    目录 1.HashSet集合 1.1HashSet集合概述和特点[应用] 1.2HashSet集合的基本应用[应用] 1.3哈希值[理解] 1.4哈希表结构[理解] 1.5HashSet集合存储学生对 ...

  5. [博学谷学习记录] 超强总结,用心分享|陌陌综合案例

    注:大家觉得博客好的话,别忘了点赞收藏呀,本人每周都会更新关于人工智能和大数据相关的内容,内容多为原创,Python Java Scala SQL 代码,CV NLP 推荐系统等,Spark Flin ...

  6. [博学谷学习记录]超强总结,用心分享|Hive的压缩格式

    压缩格式 工具 算法 文件扩展名 是否可切分 DEFAULT 无 DEFAULT .deflate 否 Gzip gzip DEFAULT .gz 否 bzip2 bzip2 bzip2 .bz2 是 ...

  7. [博学谷学习记录]超强总结,用心分享|软件测试之计算机基础(一)

    本周开始学习软件测试,而我也即将开始在平台记录我的学习之路.我会把我的个人心得及掌握的知识发布在此平台,俗话说最好的输入就是输出,希望在输出的同时能有更多的收获,也希望与大家多多交流. 为了更好的学习 ...

  8. [博学谷学习记录]超强总结,用心分享|人工智能机械学习基础知识线性回归总结分享

    1.线性回归的核心是参数学习,线性回归和回归方程(函数)有关 2.线性回归是目标值预期是输入变量的线性组合 3.欠拟合的产生原因是学习到数据的特征过少 4.多元线性回归中的"线性" ...

  9. [博学谷学习记录] 超强总结,用心分享|JavaEE就业课-尊享无忧+Java基础语法|面向对象(1wk)

    学习笔记目录 目录 学习笔记目录 前言 一.变量 1. 关键字:被java赋予特殊含义的字符 2. 常量:不会发生改变的量(数据)​编辑 3. 变量:内存中的存储空间. 4. 类型转换 5. 算术运算 ...

最新文章

  1. 搞测量的要时刻保护自己哦!
  2. python提取abaqus数据_Python语言在ABAQUS数据提取中的简单应用
  3. Java实现文件上传-按钮弹出上传页面
  4. 搭建Linux安全的Squid代理服务器
  5. C#2.0新特性探究之模拟泛型和内置算法
  6. 改变win7登陆时的界面
  7. android+4.0访问网络,Android 中从4.0以后无法在主线程访问网络的解决办法。
  8. ae万能弹性表达式_干货丨AE表达式知多少?4大常用表示式解决80%难题
  9. 闭环控制 matlab仿真,反馈闭环控制系统Simulink仿真(带电流补偿的电压内环,直流调速)...
  10. 唐人笔+手写板连接到计算机usb端口+错误,汉王唐人笔如意驱动
  11. Could not start AVD
  12. 【标准算例数据源】作业车间、流水车间、柔性作业车间、其它
  13. 从零开始设计RISC-V处理器——五级流水线之数据通路的设计
  14. minecraft崩溃java,je1.7.10,进入世界就崩溃,解决一下
  15. 解决联想小新air13pro笔记本电脑插入耳机没声音的问题
  16. 使用JS获取客户端的IP地址
  17. 由计算机谈最强大脑周玮
  18. [Work Summary] Python将PDF转换成Word文档
  19. 联发科希望P40和P70救命,能如愿么?
  20. linux .trash,linux下trash代替rm

热门文章

  1. 自旋传递扭矩STT-MRAM通用存储器
  2. html 标签 英文,HTML中标签的英文.doc
  3. 利用精灵四P无人机获取1:500校园正射影像的航线
  4. SpringBoot整合Redis客户端
  5. java 输出_java怎么输出
  6. 富可视infocus M510T原厂手机刷机维修线刷包附教程
  7. PHP后端发送Ajax情书,分享某平台上面发布的计算机编程情书
  8. 在Windows笔记本上调试运行在iOS设备上的前端应用 1
  9. 2022年9月12日-9月18日(ue4热更新视频教程+rhi模块源码抄写调剂。本周20小时。合计1582小时,剩余8418小时。)
  10. 对BQ27XXX电量计用HDQ协议方式读写