`
ifanso
  • 浏览: 2581 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

XP实践 (2) - 动机

阅读更多

1990年初,软件工程业面临着来自于内外两方面的变化。从内在的方面来看,面向过程(Procedural Programming)的编程方式逐渐被面向对象(Object-oriented Programming);而在外部,随着“.com”经济的繁荣和大批IT企业的涌现,如何改进开发过程,以尽快缩短产品到达市场的时间,也成为最受瞩目的热点之一。XP正是在这样的外部环境下诞生的。

 

XP的许多方法和理念,都在此前的项目中有所体现。比如,“测试优先”的方法,最早运用于美国太空署首个载人航天计划(Mercury,1959-1963)中,而“代码重构”等概念,也在1984年Leo Brodie的书中有所论述。1996年,克莱斯勒公司启动了3C综合薪酬系统的开发计划,同时力图通过该项目来熟悉对象编程方法,特别是Smalltalk。于是,他们邀请了这方面的专家,Kent Beck,来优化整个开发过程。而Kent Beck利用了这个机会,把自己的开发理念编制成规范并运用其中。这是XP作为一个独立的开发方法,首次面世。时至今日,XP已经拥有不少变种,这使得它拥有更强的生命力,在很多开发环境与当年迥异的项目中,都有优异表现。

 

因此,XP从它诞生之日起,就不是以教条的面孔出现的。它的出现,是适应环境的结果;它的基础,是以往的编程实践;而它所要解决的,则是怎么在当时的竞争中活下去的问题。

 

而今天,我想知道的是:是否有一种团队开发的方式,在用户需求不明确、技术不明确、开发人员基础参差不齐、没有条件坐班(只能网络交流)的情况下,却能在合理的时间范围内下,完成一个需要相当创造力、且拥有不少新技术亮点的中小型项目?

 

目前的XP开发方案,显然不能解决全部问题,但可以解决一部分问题,所以应该是一个好的蓝本。接下来所要尝试的,就是推陈出新,以适应时代的变化,找到一种行之有效的XP网络协作开发方式,例如:如何有效地进行队员培训,如何利用发达的网络条件进行协作的等等。考虑到中国所特有的庞大程序员人群和开发潜力,这些尝试和探索,其意义应当不局限于市场价值而已。

 

(注:第1-2段内容,主要来源于英文版Wikipedia对于XP的介绍)

 

 

分享到:
评论

相关推荐

    extreme programming explained - Beck

    他不仅详细介绍了XP的实践方法,还深入探讨了这些实践背后的理念、动机和原则。贝克强调XP不仅仅是一种技术方法,更是一种社会变革。它挑战了传统软件开发的许多思维定势,推崇最小化开发和逐步增加的增量主义原则,...

    系统架构师教程.pdf

    - XP的核心价值观与实践。 - **6.4.2 特征驱动开发** - FDD的原则与流程。 - **6.4.3 Scrum** - Sprint、Backlog等Scrum框架的核心概念。 - **6.4.4 水晶方法** - 透明度、反馈为核心的轻量级敏捷实践。 - *...

    C-AI 架构说明书.pdf

    - **配合课程学习:**与学校课程中的C及C++语言基础教学相结合,进一步拓展学生的实践应用能力。 - **互动与动画教学:**构建一个融合互动元素和动画演示的教学系统,提高用户参与度。 - **AI辅助教学:**利用人工...

    scrum起航-试用敏捷开发的入门者

    ### Scrum起航—试用敏捷开发的入门者 #### Scrum概览及入门实践 在当前快速变化的商业环境中,软件...此外,在实践中还可以结合其他敏捷方法论,如极限编程(XP)或精益(Lean),以进一步优化团队的工作流程和效率。

    agile pattern

    本书通过分析ChiliPLoP研讨会、XP2006研讨会以及XPDay Montreal 2006开放空间会议等场合收集到的数据和案例,提炼出了多个适用于不同场景的敏捷实践模式。 #### 敏捷模式的重要性 在软件开发过程中,敏捷方法论因...

    Scrum敏捷项目管理.pptx

    - **实践**:包括极限编程(XP)、精益软件开发(LSSD)、动态系统开发方法(DSDM)等多种实践方式。 #### 四、Scrum框架详解 - **角色**:Scrum中有三个关键角色: - **产品负责人(Product Owner)**:负责定义产品的...

    osCommerce结构

    **动机与目的** 随着网络购物热浪的到来,越来越多的人加入到电子商务领域。相比于传统的实体店铺,网络商店具有明显的优点:它们能够全年无休,节省时间和空间资源,从而降低运营成本并提高利润空间。基于这些考量...

    驱动学习手册

    学习驱动程序开发的动机可能多种多样,例如: - **追求技术深度**: 对于希望深入理解操作系统内部工作原理的工程师而言,驱动开发提供了绝佳的机会。 - **硬件调试**: 硬件工程师可能会通过编写驱动程序来辅助硬件...

    agile_methods:不同敏捷方法的可视化

    动机敏捷有不同的风味。 我连贯地讨论差异,但我想知道是否有某种方法可以将差异提炼成可以在一页中表示的内容。 备忘单。 所有这些实践都共享一些历史和概念,但能否以一种相当简单的方式呈现和比较它们? 每个都...

    驱动程序开发

    驱动程序开发的动机多样,但核心目的主要包括:满足特定硬件的驱动需求、提高软件与硬件的兼容性、优化系统性能、探索操作系统内核机制等。值得注意的是,驱动开发并非高收入职业的代名词,高薪往往伴随高水平的技术...

    Applying UML and Patterns1

    2. **面向对象分析与设计**:书中的内容将围绕面向对象的原则展开,如封装、继承和多态性,以及如何利用这些原则来构建可维护、可扩展的软件系统。此外,还会讨论如何通过用例驱动和迭代的方式进行需求分析。 3. **...

    Software Design Principles and Guidelines

    XP 包含了一系列具体的实践,比如结对编程、持续集成、重构等,目的是提高软件质量和开发效率。 #### 设计指南 **动机:** 设计阶段的目标是将整个系统分解为模块,并明确各个模块之间的关系,最终形成一个结构...

    化能源计量系统案例观摩.pptx

    2. **平台选择**:考虑到用户端和服务器端的需求,选择了Windows 98/Me/2000/XP作为客户端操作系统,而服务器端则采用Windows Server 2003 SP1,搭配SQL Server 2000 SP4。同时,进行了Windows Server 2003与Windows...

    2021年教师招聘考试题库《教学》考点特训带答案解析_1.docx

    2. **杜威的课程设计**:杜威提倡以学生为中心的教学模式,其课程设计包括诱导学习动机、领悟新教材、稳固知识和检查等步骤。这种模式强调实践和探索,鼓励学生主动参与学习过程。 3. **逻辑推理**:题目中的逻辑...

    《电力系统分析》自考试题汇编.docx

    10. **稳定性与原动机出力关系**:减少原动机出力可以提高系统的暂态稳定性。 11. **网络额定电压等级**:我国常用的网络额定电压等级包括10kV、35kV、110kV、220kV和500kV。 12. **阻抗基准值**:阻抗基准值ZB...

    [其他资格考试]中小学教师信息技术与远程教育应用能力上机考试练习题.pdf

    2. 办公自动化属于计算机数据处理的应用,它利用计算机系统来提高办公效率,实现文档管理、信息共享等功能。 3. 计算机硬件系统由运算器、控制器、内存储器和输入输出设备构成,这些部件共同构成了计算机的基础架构...

    齿轮传动的CAD_CAM系统研究.pdf

    信息输入模块用于输入齿轮传动的工作条件,包括功率、转速、传动比、结构要求、工艺条件、使用要求、环境条件以及原动机和工作机的工作特性等。传动件参数设计计算模块可以利用输入的参数来计算模数、分度圆直径等...

Global site tag (gtag.js) - Google Analytics