`
mabusyao
  • 浏览: 256052 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

项目沉思录 - 0

 
阅读更多

我常常会回忆起我职业生涯初期的两个项目: 其中一个庞大,复杂,项目开发人员数量多。项目中每个人似乎都很忙,可却又不完全清楚自己的职责。系统哪怕最边角处作出一点细微的变动,都有可能导致无法预计的结果。人员在不停地变换,每天都有人因为忍受不了无休止的加班而离职。而新员工仅仅经过简单的培训,就开始上岗编码,并被委以重任。项目经理热爱技术,曾经在开会时,花两个小时时间给整个团队讲关于数据库的新技术。同时项目进度一直很紧,开发人员根本没有时间对代码进行优化重构,匆忙上线之后,产品千疮百孔,开发团队整日忙于四处填补漏洞,焦头烂额。另一方面,测试团队非常年轻,对于bug的鉴定,完全依赖开发人员,在整个项目中没有发言权,他们的建议得不到项目经理的重视。毕竟,功能还没有完全实现,测试的重要性显然不够。这个项目最终在1.3版本时,因为越拖越久的各种问题无法解决,最终被公司cancel掉。

 

而另一个项目却是另一番景象,整个团队人数也很多,但却各司其职,每个人都知道自己该做什么。每周一上午的例会,sub-team leader会对团队工作进行汇报,团队内部专心于独立模块的开发,TL则负责各个团队之间的协调工作。子模块拥有丰富详尽的单元测试,只要点击一个按钮,你就知道自己作出的改动是否正确,并可以放心的继续前行。每天下午的集成测试,确保了每天的工作都被恰当的完成,不会有问题遗留到下一个工作日。 所有的代码开发工作,都必须经过代码审查委员会的review,以确保其质量。测试团队在整个项目中起到需求控制的作用,一切对于需求的理解,来自于他们。他们对每次功能更新或是重大改动,具有一票否决权。整个团队气氛轻松活泼,大家对自己的工作充满信心。

 

其实在当时,我只是略微的发现,在这两个团队中工作的感觉不太一样,却并不具备发现这两个项目的区别的能力。当我工作了很多年再回头看时,才发现,一个好的团队和一个差的团队之间的差别,是如此的巨大。记得曾经有人说过,一个好的开发人员和一个差的开发人员之间的效率可以相差近10倍。那么一个好的团队和一个差的团队之间的效率比,甚至可以达到100倍。在一个好的团队里,每个人都发挥了120%的作用。而同样的人,在另一个团队里面,只能发挥了20%的作用。

 

我过去曾经是团队中的Best Performer, 我在项目中的产出使我获得了很多个人的荣誉。我也读过许多关于软件工程的书,了解什么是迭代开发,敏捷宣言,并且熟悉在每一个阶段应有的标准团队活动及制品。我自信满满,认为在拥有了技术和软件工程的知识后,我已经具备了领导项目并带领团队走向成功的能力。

 

可惜事与愿违。

 

在我负责的项目中,团队成员来自天南海北,如同一盘散沙,大家各行其是。开发人员个性强烈,难以协调。每个人的项目背景不同,技术参差不齐,在项目中推行的最佳实践和方案遭到质疑,无法顺畅的执行下去。每天都有新的需求,来推翻旧的需求,项目进度并不如计划那般,总是不停在变。 项目最终不可避免的落入各种形式的陷阱。

 

于是我开始思考,为什么书上教的东西不起作用了? 究竟什么才是好的项目?

 

我认为有三点是最重要的,团队建设,软件工程,领导的执行力。

 

首先应该是团队建设,只有好的团队才能做出好的项目。而好的团队并不是最优秀的开发人员的堆砌,好的团队应该是建设出来的。 根据团队中人才的特点,扬长补短,因地制宜,才能建设出好团队。

 

其次就是软件工程,软件工程方法有很多,而做出选择的条件应该是最适合团队和项目特性的。而这一点,很多软件工程的书上并没有提出。

 

最后则是个人领导了,只有提升个人领导管理能力,才能帮助团队和项目成功。只有具备领导能力的优秀Leader,才能真正的选择最合适的团队建设方案及软件工程,并持之以恒的执行下去。

 

我会花一些时间,来记录我在这条道路上学习到的东西,并以此激励自己不断的前进。

分享到:
评论

相关推荐

    《软件管理沉思录》读书笔记1

    总而言之,《软件管理沉思录》是对软件项目管理领域的一个全面总结,它为读者提供了一套系统化的管理工具和方法论,让软件开发工作变得更加有序和高效。对于任何希望在软件工程领域取得成功的人而言,这本书无疑是一...

    PHP沉思录之三.pdf

    【标题】:“PHP沉思录之三.pdf”可能是一本探讨PHP编程深入理解与实践的书籍或文档,属于IT技术领域,特别是Web开发方向。PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,尤其在服务器端编程中占有...

    C++ 沉思录随书实例源代码

    在《C++ 沉思录》的随书源码中,读者可以期待看到如何在实际项目中运用C++的基础语法,例如类、对象、封装、继承、多态等面向对象编程的概念。此外,还可能涉及到模板、异常处理、STL(标准模板库)、文件I/O、内存...

    MF1832132任贵杰软件管理沉思录读后感1

    在阅读《软件管理沉思录》之后,我深感书籍对于提升软件项目管理水平具有极大的帮助,尤其是对于当前软件行业中的质量控制和团队建设的实际问题提供了深刻的见解和实用的指导方法。本书通过详尽的分析,不仅阐述了...

    设计模式沉思pdf

    通过阅读《设计模式沉思录》,读者不仅可以了解每种模式的定义、用途和实现方式,还能学习到如何在实际项目中选择和应用合适的模式,以及如何避免模式的滥用。书中的案例分析和实际示例将帮助读者将理论知识转化为...

    《软件管理沉思录》读书笔记_MF1632020_管登荣1

    《软件管理沉思录》这本书,便是一盏明灯,为那些在软件项目管理大海中探索前行的人们指引方向。 本书深入探讨了计划类型和计划过程,让读者了解到计划不仅仅是一个简单的时间表,它更是一种管理工具,一种确保软件...

    软件沉思启示录

    首先,从《软件开发沉思录_IT168文库.pdf》中,我们可以深入探讨以下几个关键知识点: 1. **敏捷开发**:ThoughtWorks是敏捷开发的倡导者,书中可能会介绍敏捷方法如Scrum和Kanban的实践,强调迭代和适应变化的重要...

    [原创]创新沉思录1

    在实际操作中,例如NGM项目,通过针对现有产品的改进和技术创新,解决性能和扩展性问题,为客户提供下一代解决方案。这样的演进式创新同样至关重要,因为它直接回应了市场的需求。 【人,组织,流程对创新的影响】 ...

    金融产品服务设计沉思录之“香港菲佣汇款” .doc

    针对这一情况,《金融产品服务设计沉思录之“香港菲佣汇款”》提供了一个创新的视角和解决方案。 首先,设计团队深入研究了目标用户群体的特点。菲佣们普遍年龄在30至55岁之间,她们的月收入相对较低,对金融产品和...

    设计沉思录 如何开发一款休闲小游戏?.docx

    - 分析团队的技术、美术和产品能力,确定项目的可行性。 2. **研发前期**: - 研究竞争对手的产品,明确游戏的风格、类型和核心玩法。 - 构建游戏的整体框架。 - 向程序员提供所需的核心功能和技术支持需求。 3....

    第一百一十四课:渗透沉思录1

    当遇到项目中缺乏思路的情况,【渗透的沉思】变得尤为重要。这不仅是指在渗透测试过程中进行深入思考,规划完整的渗透周期,更是在信息搜集的基础上预测可能遇到的问题。渗透测试并非单纯依赖工具或技巧,而是需要...

    《人月神话》读书笔记_MF1632020_管登荣1

    书中强调了软件项目管理的关键点,尤其是对于大型项目来说,管理方式与一般工程项目的管理有显著差异。 首先,书中提出了“人月神话”,即误以为增加人力就能缩短项目时间。实际上,这种做法往往适得其反,因为人员...

    c++沉思,非常经典呀

    通过阅读《C++沉思录》,开发者可以深入理解C++的精髓,提升编程技巧,为实际项目开发打下坚实基础。同时,书中可能还包含了对C++社区、资源和最佳实践的介绍,比如"编程中国.url"可能链接到有关中国C++开发者社区的...

    C++高级编程参考教程-2

    在C++的学习中,"沉思录"这个标签可能意味着书中的内容不仅包括传统的编程概念,还可能涵盖了一些关于设计模式、算法优化、内存管理、模板元编程等更深层次的主题。这些主题是C++程序员提升技能的关键,它们要求...

    acm的整理 欢迎下载

    C++沉思录 - **简介**:本书是C++领域的一本经典之作,对C++的设计哲学进行了深入探讨。 - **知识点**: - C++面向对象编程的基本原则 - 设计模式的应用 - 通用编程与模板元编程 - 内存管理的最佳实践 - 异常...

    官方文档1

    3. **交互设计**:借鉴了优秀的交互设计原则,如《G6-Editor-Flow 交互设计沉思录》,旨在提供卓越的用户体验。 4. **兼容性**:G6-Editor 支持最新的Safari和Chrome浏览器,确保在主流浏览器中的稳定运行。 **...

    AnnotatedCode:知名开源代码库的注释版本:C ++,Golang等

    pbrpc RPC暂无木多网络库/React器雷迪斯雷迪斯高朗项目名称关键词注释版原地址博客go / x / time / rate限流器限速限流器组缓存缓存/一致性哈希facebookgo /注入依赖注入Go原始码和标准库更多文章更多文章欢迎关注...

    大学应该看的书.pdf

    20. **C 和 C++语言提升**:包括《c 和指针》、《c 缺陷和陷阱》、《c 专家编程》、《Effective C++》、《More Effective C++》、《C++沉思录》等,这些书籍可以帮助你深入理解这两种语言。 21. **设计类**:《代码...

    软件需求确认书.docx

    第一条 完成项目需求调研后,避免项目后期出现超出合同范围的需求,项目初期需同用户就所调研的软件需求进行确认。 第二条 需求确认书由项目经理/第一负责人同用户代表签订,一式两份,签订 后交由部门经理统一保管...

Global site tag (gtag.js) - Google Analytics