在项目开发过程中,多少文档,什么程度的文档算是合适的文档?

本文探讨了敏捷开发中必要的文档类型,包括项目内部沟通用文档及客户交付文档,并对传统管理模式下的文档要求进行了反思。

而今眼目下,很多敏捷过程都提倡在项目开发过程中,保留合适的文档即可,但是什么是合适的文档,缺乏一个明确的标准,这给人一种事实而非的感觉,在执行过程中,也不好操控,这里,分享一下我的看法:

1. 对于项目团队沟通有意义的文档我们必须保留,比如我们需要对需求建模文档,目的是为了让业务人员,架构师和开发人员对系统实现的范围和具体的业务要求达成共识。当然,你可能会反问:如果项目成员都是业务专家,对业务都已经耳熟能详,那还需要这个文档吗?这里我认为就可以大大简化,比如通过几十字的简单范围界定即可,当然,极端的情况,你也可以不要,因为大家都明确,所以不存在再沟通的必要。另外,对于这类文档要尽可能少,并且一定要维护,保持同步。

2. 需要交付客户的文档,在项目开发过程, 客户常常会参与到项目的过程中,比如需求的确认,变更的确认等,这些都需要有正式的文档, 并且这些文档交付与客户时,一般都是比较稳定的,很多时候都是在里程碑结束时产生的,并将作为下一个阶段开发的基线。这里文档一旦产生就不能直接修改,如果系统一旦产生变化,就只能增补修订文档。

以上两类文档,我认为是必须的,但是上次去一个公司做培训的时候,他们认为关于公司管理要求的文档,在项目开发过程中也是必须的, 这里首先介绍一下这个公司的情况,这个公司有一个类似PMO的机构,对公司项目进行战略层面的管理, 然后才是项目组——对项目执行层面的管理, 公司PMO机构要求进行Agile开发的尝试,但是无形之中,也对新试点项目的管理有一定的要求——传统的管理就要求项目组必须提供这样或者那样的文档。 这里我认为这种做法是不正确的,主要原因有两个: 1,这种采用Agile方法的试点应该是一种全新模式的试点,那么就应该摒弃以前的管理模式,如果强行套上以前的管理模型,其实就相当于给Agile方式套上了紧箍咒,还是不是Agile方法就很难说了 2. 公司管理是配合项目执行,而不是项目执行配合公司管理,我认为公司管理机构很大层面上应该是一个服务机构,所以根据项目的不同,监视其不同的里程碑或关键环节,而不是在一个特定的管理规范下——尤其是战略层面的,去要求不同的项目来适应。另外,就过程改进试点本身来讲,也因该放开手脚,让试点组成员多方尝试,并获得改进经验,如果PMO不是特别放心,建议可以委派一个人参与到整个试点项目中。

Gary

转载于:https://www.cnblogs.com/YangGang/archive/2009/02/05/1384345.html

### C语言入门到精通的学习路径及合格标准 #### 学习路径概述 学习C语言的过程可以分为几个阶段,从基础知识入手逐步深入高级主题。以下是具体的学习路径: #### 基础知识点 1. **基本语法** 掌握变量声明、数据类型(整型、浮点型、字符型)、运算符以及表达式的使用方法[^1]。 2. **控制结构** 熟悉条件语句(`if`, `switch`) 和循环语句 (`for`, `while`, `do-while`) 的应用方式及其逻辑设计[^2]。 3. **函数定义与调用** 学会如何创建自定义函数并理解参数传递机制 (值传递 vs 地址传递)[^3]。 4. **数组操作** 包括一维和多维数组初始化、访问元素以及常见算法实现如查找最大最小值等[^4]。 5. **指针概念** 这是一个非常重要的部分,在这里需要彻底弄清楚内存地址的概念、动态分配空间(`malloc()`, `calloc()`), 指向不同类型的指针等等[^5]。 ```c #include <stdio.h> int main(){ int *p; p = malloc(sizeof(int)); if(p != NULL){ *p=10; printf("%d\n",*p); free(p); } } ``` 6. **字符串处理** 使用库函数或者手动编写程序来完成各种关于字符串的操作比如连接两个串、比较长度等功能[^6]。 7. **文件I/O** 能够读写本地磁盘上的文本或二进制形式的数据流[^7]。 8. **预处理器指令** 如宏替换 (#define),包含头文件(#include) 及条件编译[#ifdef, #ifndef][^8] 9. **错误调试技巧** 利用工具链中的gdb或者其他IDE内置功能定位运行期异常位置[^9]。 --- #### 高级技能提升方向 当掌握了上述所有基础之后,则可考虑进一步探索更复杂的领域: 1. 数据结构与算法实践 – 实现栈队列树图等相关ADT(Abstract Data Type). 2. 多线程编程 - POSIX Threads API 或 Windows Thread Model. 3. Socket网络通信开发经验积累. 4. 图形界面GUI应用程序构建. --- #### 合格标准建议 对于初学者来说,“合格”的衡量可以从以下几个方面考量: - 完成至少三个完整的项目案例分析报告提交给导师审核通过; - 对于常见的面试题目能够独立思考解答正确率达到百分之八十以上; - 编码风格良好遵循行业通用编码规范指南文档说明清晰简洁易维护; 最终目标应该是能够在实际工作中运用所学解决真实世界存在的软件需求问题!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值