关闭

对敏捷方法的一些简单认识

806人阅读 评论(0) 收藏 举报
分类:

前言

这两天做的事情,不能说没有用,至少了解了很多数据库的东西,不过大部分做的都是无用功这点是毋庸置疑的,也许这是调研和设计过程不可避免的事情,也罢。

正文

目前实习所在的项目处于测试阶段,负责测试的同学连着忙了个把月,天天加班,不断测出问题,搞的组内氛围...(咳咳...)再想到这几天做的无用功来回折腾等等,就现在组内遇到的这些情况,真是让我特别怀念之前实习公司的敏捷项目。有心想一想,对比对比,虽然我没有专门接触介绍敏捷方法的书,但真心觉得对敏捷开发的优势有了些许认识,也许有点肤浅。

刚开始接触敏捷,听的最多的就是极限编程。快速,基本就是在我耳里的敏捷代名词。当时开发的项目是公司首个敏捷项目,属于开荒性质。一期项目下来,发现相比其他组,我们的开发周期不仅比他们快得多,更可贵的是开发成果的质量也非常有保证,在跟其他组联调之前,大的Bug基本在最终测试前一一解决。一句话,敏捷没有因为快速而忽略质量。现在回想起来,我觉得我们的开荒是非常成功的。

说到敏捷方法,什么建立学习型组织,自我管理,有效沟通等等特点,我暂且不说。以下是我最近的几点认识:

其一、目标一致,特别重要

敏捷开发过程中会分为很多故事sprint,每个sprint的开发工作量多少由PO(Product Owner)和SM(Scrum Master)以及开发人员共同在sprint计划会议中决定。也就是说,基本一次计划会议下来,每个人都需要了解这一次sprint任务要做什么(当然,我们刚开始啥都不会,前期打了四五个sprint的酱油),然后在每个sprint中的任务点再细分到个人完成。总的来说,每个人都是在为当前Sprint计划会议中决定的目标向前跑。每到sprint结束评审会议,超了多少,落下多少工作量基本都有数据说话。不可能出现有人做当前sprint任务之外的事情。这一条,我特别感慨。比如说,现阶段既然属于测试阶段,然后就发现测试人员忙的半死,其他人打酱油,不想打酱油的也干等着,啥事干不了。个别人甚至被安排做超前的工作,我不觉得这会有什么效率,完全不是重心,怎么可能有效果。这不是浪费资源?

其二、Bug、问题集中爆发可能性小

传统开发,需求->设计->开发->测试。我觉得开发阶段是最容易忽悠的人的,开发代码还不简单?但写出来的东西得让人用,不出问题不出bug绝对不可能。等到测试了,测出bug首先不一定能找到责任人,因为代码是一起开发的,开发过程中就可能被多个人改过,给推卸责任落下理由;其次,测试阶段问题集中爆发,改一个又引出一堆,别说效率,就是工作心情也打击严重。相比于敏捷开发,每一次sprint结束就有一次评审。每次评审由PO决定接不接受sprint成果。相当于,就算判死刑,也是在萌芽状态,不至于拖延到最后。更不用说,每次sprint的任务点明确到个人,谁的故事点谁负责,非常容易定位。

其三、非常注重交流

一个敏捷团队交流非常多。。各种会议形式,团队氛围很浓。


另外,敏捷对成员要求还是比较高的。为什么这么说?如果基础稍差,故事点完成不了,基本是敏捷不起来的。所以,当时的敏捷项目对于我们这些新手来说都提供了四五个sprint的过渡期。还有,敏捷团队需要能力强的SM和PO角色,因为其负责整个项目的场景拆分,这些工作特别重要。开发成员负责干活,干活的不是重点,重点是场景拆分的合适性。除了能力方面,还有至少不适合性格孤僻,乐于单干的开发人员。敏捷特别注重交流。

敏捷的一大特点是会议多不假,这就要求PM需要强有力的执行力及组织力,不能将这些东西变为走过场及形式,这样就起不到应用作用。

暂时就这些吧,敏捷现在基本各大设备商都在采用,据说ZTE大小项目都开始采用这种开发方法了,形式主义貌似很严重。。。

0
0
查看评论

对JavaEE的简单认识

Java中存在各种各样的API, 也许正是这些API的制定使得Java能够像今天这样繁荣. API代表了标准, 开源则使各种API的实现百花齐放. 应该说, JavaEE是一系列为解决在企业应用开发中各种问题而制定的APIs. SUN制定了Java EE规范(即API), 但这些规范并不涉及具体实...
  • wyc09
  • wyc09
  • 2010-01-20 22:09
  • 565

认识 Java EE

前言     最近的这段时间一直在学习Java EE,刚刚完成了从0到1的蜕变,所以顺便整理一下我所了解到的Java EE,给刚入门学习的新人一些头绪,而所谓“启示录”,就是这个意思。 一.Java EE是什么?    Java EE(...
  • fznf1010
  • fznf1010
  • 2012-09-19 17:31
  • 606

一个初学者对Linux的简单认识

一.认识Linux Linux是一个免费的多用户,
  • u011417268
  • u011417268
  • 2015-03-15 08:22
  • 958

个人对nginx简单认识

Nginx是一款HTTP服务器软件,高效和稳定。   一、优点: (1)在性能上:占用系统资源较少,支持更大的并发连接(访问量)。 (2)在功能上:nginx可充当优秀的代理服务器和loadbalanced服务器。 (3)安装简单,配置比较灵活。   二、与apac...
  • linux_Cz
  • linux_Cz
  • 2015-05-26 20:36
  • 598

Linux 网络协议栈开发基础篇(七)—— 网桥br0

一、桥接的概念       简单来说,桥接就是把一台机器上的若干个网络接口“连接”起来。其结果是,其中一个网口收到的报文会被复制给其他网口并发送出去。以使得网口之间的报文能够互相转发。      交换机就是这样一个设备,它有若干个网口,...
  • zqixiao_09
  • zqixiao_09
  • 2018-01-27 14:19
  • 82

我对程序设计的认识

环境与法律编程语言就像法律,同样类型的法律在不同国家规则不同,适用的范围也不同,相同的部分可能实际操作上有的比较简化,有的比较繁琐。就好像C++与java 虽然都支持类的继承,但java只允许一个类仅有一个基类而c++可以有多个,就好像中国的法律规定一夫一妻制。同时java不支持对指针操作,也就好像...
  • Dreamcode
  • Dreamcode
  • 2007-05-23 17:14
  • 2080

对编程语言的认识

面对众多的编程语言,何处是归路?
  • kiaapeng
  • kiaapeng
  • 2015-06-07 14:28
  • 878

对Java的认识

本文面向的观众是对J2EE技术有兴趣的入门者。     Java语言    Java语言最早被称为Oak,它是为了实现嵌入式的消费类电子产品应用而产生的,它的作者是James Gosling.Ed Frank, Patrick Naught...
  • raokaichuan
  • raokaichuan
  • 2009-02-02 20:54
  • 3985

Android初试--了解和认识Android

1.了解Android        Android一词本义指“机器人”,是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正...
  • guizhaiteng
  • guizhaiteng
  • 2013-09-17 17:57
  • 1415

ASP.net的简单认识

前言      小编最近在进入BS的学习过程中,接触到了ASP.net的框架,那么它是什么,有什么作用呢? ASP.net是什么 一、web框架    小编在微软的官网上找到关于ASP.net的介绍:ASP.net是一...
  • m18633778874
  • m18633778874
  • 2018-01-08 15:18
  • 68
    不忘初心,方得始终
    记录自己的学习点滴。
    个人资料
    • 访问:128743次
    • 积分:2287
    • 等级:
    • 排名:第19356名
    • 原创:92篇
    • 转载:13篇
    • 译文:0篇
    • 评论:41条
    博客专栏