文档章节

关于XP编程的思考

不死的达芬奇
 不死的达芬奇
发布于 2017/08/22 18:33
字数 768
阅读 15
收藏 0
点赞 0
评论 0

XP等轻量开发方法认识到,在当前很多情况下,按传统观念建立的大量文档,一方面需要消耗大量开发资源,同时却已失去帮助“预见、管理、决策和控制的依据”的作用。——百度百科

其实XP编程,听起来很酷炫,无非就是将更多的开发资源由文档撰写转移到代码的编写、测试与code review上;而且XP编程是摒弃加班的,认为加班是摧毁开发创造力的一种严酷的方式。

个人认为所谓XP编程,就是充分调动开发的工作积极性,在处理繁杂业务的同时也不乏获得了技能的提升,减少了维护文档的工作其实也不是一劳永逸的,也会产生一些反面和消极的结果。比如后续新同事的加入,没有时间培训的话,只能通过之前的技术文档进行学习。欠下的技术债和文档债同样需要补。虽然通过XP的各个流程——工期和成本评估规划、简答设计、结对编程(重要的环节)以及测试驱动开发和持续集成,可以让开发测试成本降到最低,也能维持很高的人员留存率,但是应对公司重大变动(比如缩减开支,团队变迁等情况)时的灵活性还是差了点。而且XP编程还强调沟通和反馈的敏捷性。所以如果你的团队里有个环节的人员出了问题,那整个项目链条就会导致崩塌。所以对于招聘这一环来说尤为重要,你就必须确定你招的人都是可以独当一面的,对于招聘人员的素质考验还是挺大的。

综上所述,XP编程并不适合所有的组织和团队,他尤其适合小微型企业,如果大型企业中进行XP编程的实施,也应当将团队的粒度细化到功能项和需求点上面。这样才能做到真正的敏捷。

欢迎大家通过讨论的方式各抒己见。多谢!

© 著作权归作者所有

共有 人打赏支持
不死的达芬奇
粉丝 38
博文 40
码字总数 37909
作品 0
朝阳
后端工程师
远离极限编程 (Don’t do XP)

Steve Freeman 写了一篇 blog 拥抱极限编程(Do do XP) 来反驳我的这篇文章。 我开始厌倦了和那些坚持认为Scrum离开了极限编程就不再有价值的人的无休止的论战。 Scrum 很好用 — 但前提是实施...

oschina
2014/06/17
10K
22
【外刊IT评论】敏捷十年,成效几何?

自从编程界的领袖们发表旨在通过接受需求变更,加强同用户合作,缩短软件提交周期来改善软件开发过程的敏捷软件开发宣言至今已近10年之久了。 敏捷宣言制定2001年2月,当时一群软件开发者聚集...

红薯
2010/11/17
1K
7
框架比较:Scrum vs Kanban vs Lean vs XP

  【IT168 资讯】在这篇文章中, Alesia Krush将对四种最流行的敏捷开发方法进行比较,给出了每种方法的优缺点。   市场上有各种各样的面向实践的敏捷框架,其中最受欢迎的是Scrum、Kan...

it168网站
2017/11/22
0
0
不要仅仅学习英文代码,还要学会思考------thinking?

这是一个人人都在学习编程的时代(编程人员必看): 据说Code.org的geo请来了了比尔·盖茨,马克·扎克伯格和克里斯·波什等这些名人,来tell你,每个人都可以编程;CoderDojo’s在各个国家悄...

crossmix
2015/12/28
163
0
大家都在谈的scratch到底是什么?

     scratch是一款由麻省理工学院(MIT)设计开发的面向青少年的简易编程工具,能创作故事、动画、游戏、艺术等。青少年可以不会英语,也可以不会使用键盘,直接用鼠标拖动构成程序的命...

人工智能AI产品经理
2017/11/16
0
0
JAVA程序员必看的15本书-JAVA自学书籍推荐

作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从。我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想...

潭州学院
2015/05/16
167.5K
9
【外刊IT评论】清除代码异味

本文是从 Cleaning up code smells: Venkat Subramaniam @ Chennai 这篇文章翻译而来。 今天,Venkat Subramaniam 就关于清除代码异味的话题给我们做了一个非常有趣的演讲。下面就是我记录的...

红薯
2011/05/18
1K
8
敏捷建模思想之你是在敏捷建模吗

【IT168 技术文章】 敏捷开发方法所面临的最大的挑战就是开发人员声称自己遵循了这种方法,而实际上他们并没有这么做。当他们运作出了问题的时候,他们就会去责备方法不好,但其实他们根本就...

IT168网站
2009/06/22
0
0
关于c语言结构体成员变量访问方式的一点思考

前言 上篇博文(关于c语言结构体偏移的一点思考)对c语言中结构体偏移做了一些思考,发现博文中还有一些小的问题,没有描述的足够清楚,所以才萌生了本篇博文的想法。 为什么不直接将本篇博文作...

算法与编程之美
2013/06/27
0
11
敏捷开发中XP与SCRUM的区别

敏捷开发中XP与SCRUM的区别 区别之一: 迭代长度的不同 XP的一个Sprint的迭代长度大致为1~2周, 而Scrum的迭代长度一般为 2~ 4周. 区别之二: 在迭代中, 是否允许修改需求 XP在一个迭代中,如果...

JackMo2015
01/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JPA @MappedSuperclass 注解说明

基于代码复用和模型分离的思想,在项目开发中使用JPA的@MappedSuperclass注解将实体类的多个属性分别封装到不同的非实体类中。 1.@MappedSuperclass注解只能标准在类上:@Target({java.lang....

海博1600
9分钟前
0
0
Scala Configuration 相关API

Play使用了 Typesafe config library,但是也提供了一个有着更多Scala高级特性的的 Configuration 封装。不熟悉Typesafe配置的开发者可以移步 configuration文件的语法和特性文档。 读取配置...

Landas
今天
1
0
使用cookie技术 记住账号

1. 效果 2. 实现过程 2.1 前端 将用户的选中传递给后台 这个参数的获取是 参考:https://my.oschina.net/springMVCAndspring/blog/1860498 // var rememberLogin = $("#rememberLoginId").i...

Lucky_Me
今天
1
0
《趣谈网络协议》02之网络分层的真实含义

一、提出问题 1.提出问题 当你听到什么二层设备、三层设备、四层 LB 和七层 LB 中层的时候,是否有点一头雾水,不知道这些所谓的层,对应的各种协议具体要做什么“工作”? 2.这四个问题你弄...

aibinxiao
今天
2
0
Python3学习日志二 Python中的集合set和字典dict

1.集合set 定义一个集合set 我们可以看到定义集合set有两种不同的形式,如果要定义一个空的集合set不能用{}而是要用set();另外,集合是无序的,而且set中的元素是不可重复的,如果你定义了一...

Mr_bullshit
今天
0
0
adb 操作指令详解

ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。 注:有部分命令的支持情况可能与 Android 系统版本及定制 ROM 的实现有关。...

孟飞阳
今天
0
0
nodejs安装以及环境配置(很好的node安装和配置文章,少走很多弯路)

一、安装环境 1、本机系统:Windows 10 Pro(64位) 2、Node.js:v6.9.2LTS(64位) 二、安装Node.js步骤 1、下载对应你系统的Node.js版本:https://nodejs.org/en/download/ 2、选安装目录进...

sprouting
今天
1
0
Redisson

了解了Redisson,发现使用挺简单的,接下来准备深入学习一下。 Redisson介绍 Redisson是架设于Redis基础之上的一个Java驻内存数据网格(In-Memory Data Grid) Redisson在基于NIO的Netty框架上...

to_ln
今天
0
0
python有哪些好玩的应用实现,用python爬虫做一个二维码生成器

python爬虫不止可以批量下载数据,还可以有很多有趣的应用,之前也发过很多,比如天气预报实时查询、cmd版的实时翻译、快速浏览论坛热门帖等等,这些都可以算是爬虫的另一个应用方向! 今天给...

python玩家
今天
0
0
python爬虫日志(3)-爬去异步加载网页

在浏览器检查元素页面中,选取Network中的XHR选项即可观察每次加载页面,网页发出的请求,观察url的规律即可利用封装的函数对每一页进行爬取。

茫羽行
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部