最近,由于一些原因触发自己对敏捷软件开发有了一个全新的反思。
可能敏捷软件开发会比较适合我目前公司遇到的问题,可惜没有时间和机会去验证了。碰巧这个时候看到Martin Flower的一篇关于"Using an Agile Software Process with Offshore Development"的文章(http://martinfowler.com/articles/agileOffshore.html),觉得说得有一定道理。看来,我们公司很多地方都踩到那个点了,只是没有很坚持或者系统化。
在这里把敏捷宣言和一些原则重新敲一遍,我想接下来会有更多的时间去熟悉它:
Manifesto for Agile Software Development
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
Individuals and interactions over processes and tools
人是最关键的,这一条回答了如何在一个team or project中定位一个人:他的行为,角色和职能,以及人与人之间交互的方式
Working software over comprehensive documentation
项目的目的就是做事情,这一条告诉我们如何来使得我们的工作成果更容易体现出来,以何种形式体现出来。
Customer collaboration over contract negotiation
项目的最终受众是customer,项目成败的关键在于customer的满意度以及在整个开发过程中的幸福度。
Responding to change over following a plan
而软件开发最大的天敌就是变化,对于它的态度以及应对的策略将最终决定你的项目成败。
That is, while there is value in the items on the right, we value the items on the left more.
Principles behind the Agile Manifesto
We follow these principles:
Our highest priority is to satisfy the customer
through early and continuous delivery
of valuable software.
Welcome changing requirements, even late in
development. Agile processes harness change for
the customer's competitive advantage.
Deliver working software frequently, from a
couple of weeks to a couple of months, with a
preference to the shorter timescale.
Business people and developers must work
together daily throughout the project.
Build projects around motivated individuals.
Give them the environment and support they need,
and trust them to get the job done.
The most efficient and effective method of
conveying information to and within a development
team is face-to-face conversation.
Working software is the primary measure of progress.
Agile processes promote sustainable development.
The sponsors, developers, and users should be able
to maintain a constant pace indefinitely.
Continuous attention to technical excellence
and good design enhances agility.
Simplicity--the art of maximizing the amount
of work not done--is essential.
The best architectures, requirements, and designs
emerge from self-organizing teams.
At regular intervals, the team reflects on how
to become more effective, then tunes and adjusts
its behavior accordingly.
分享到:
相关推荐
JIRA Agile is a plugin that adds agile project management to any JIRA project. It allows you to visualize your existing process and stimulate incremental improvement. JIRA Agile brings the power of ...
Wi-Fi Agile Multiband 技术是 Wi-Fi Alliance 推出的一种认证计划,旨在优化 Wi-Fi 网络资源的利用,提升用户在网络中的体验。这一技术的核心在于它允许设备动态地交换网络环境信息,以便更智能地将客户端引导至最...
Best practices for managing projects in agile environments—now updated with new techniques for larger projects Today, the pace of project management moves faster. Project management needs to ...
"redmine系统agile敏捷插件安装包"是专门为Redmine系统设计的一个插件,旨在帮助项目团队实现敏捷开发的流程管理。 在敏捷开发方法中,团队通常采用迭代和增量的方式进行软件开发,强调快速响应变化,提高工作效率...
Learn the agile philosophy of lean processes, incremental delivery, deep client participation, decentralized authority, and just-in-time planning to bring speed, creativity, empowerment and increased ...
根据给定文件的信息,我们可以提炼出与敏捷产品生命周期管理(Agile Product Lifecycle Management,简称Agile PLM)相关的几个核心知识点: ### 1. Agile PLM 概念 Agile PLM 是一种集成的解决方案,旨在帮助企业...
Agile Controller-Campus建立在华为对企业客户需求和痛点的深刻理解基础之上,以“敏捷”为理念,以移动办公、访客多样化接入、开放融合和高可靠性为基本要素,通过全网业务权限统一控制、安全资源统一调度,实现...
Oracle Agile PLM 方案介绍 Oracle Agile PLM 是一个基于标准的架构,开放的跨企业协同工作平台,旨在帮助高科技电子行业的企业提高产品生命周期管理效率,降低成本,提高产品价值。该解决方案可以帮助企业快速...
Agile Testing A Practical Guide for Testers and Agile Teams 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除
Agile.Net Obfuscator是一款强大的.NET代码混淆工具,主要用于保护.NET框架下的应用程序,尤其是由Delphi for .NET或C#等编程语言编写的程序。它通过重命名类、方法、属性和字段,以及修改控制流,使代码变得难以...
Presents an expert overview of TDD and agile programming techniques from the Java developer's perspective Brings together practical best practices for Java, TDD, and OO design Walks through setting ...
Agile Lite是一款轻量级的敏捷开发框架,主要用于快速构建高效、可维护的Web应用。这个示例代码提供了官方的演示示例,帮助开发者更好地理解和使用Agile Lite框架。通过研究这些源码,我们可以深入学习如何利用该...
敏捷软件开发(Agile Software Development)是一种以人为核心、迭代、逐步交付的软件开发方法论。这种方法强调灵活性、快速响应变化以及高效的团队协作,旨在在不断变化的需求环境中提供高质量的软件产品。 标题中...
下面我们将详细探讨 Agile Lite 的主要组成部分及其相关知识点。 1. **UI框架**:Agile Lite 的UI框架提供了丰富的组件和布局选项,以适应移动设备的各种屏幕尺寸和交互需求。这些组件可能包括导航栏、滑动菜单、...