个人阅读作业3

摘要:
我在团队中的职责是项目经理。我对工程项目的生产和运营、团队任务的分配和管理以及项目进度的控制有着深刻的理解。在明确要求的指导下,可以设计各种任务。在M1开始时,我将任务划分为几个主要任务,并让团队成员以配对编程的形式完成它们。我想回到这个问题上来,这是巧合。我成为一名首相,对这个问题有自己的理解。至于与团队的沟通,这并不困难。团队成员熟悉人,沟通并不困难。

对软件工程M1/M2的总结。

  我在团队里面的职责为PM,这学期一路走下来,对于一个工程项目的制作运营、团队任务的分配管理、项目进度的控制有比较深刻的体会。

  在尝试去开始一项工程时候,我们需要去明确自己的目标和需求,这是整个工程能否完成的基础,也是程序的基本目标。一个明确的需求能让开发减少很多不必要的麻烦,这也是我们团队在M1时做得不太充分的地方,虽然后面修正了,但也浪费了很多不必要的时间。当然,在M2阶段,我们做的第一件事就是去明确用户的需求。这让我们在M2阶段少走了很多弯路,直达目标所在。

  在明确的需求指导下,可以设计出各种任务,我在M1刚开始的时候是把任务分配成几个大任务,让团队人员以结对编程形式去完成。但我在后来发现一个问题,就是有的人编程能力强,能很快完成任务,但有些人并不是能力不行,就是比较懒,这是我没有考虑进去的因素,导致中期有些任务进度比较慢。后来在M2阶段,我让结队的组合改变了一下,让一个能力强的带上一个比较懒动手的,相互督促,能让项目完成速度加快。

  在M1阶段,我对TFS和燃尽图不太熟悉,并不觉得它有什么特别大的用途,老师让我每天去操作和写博客,我也只是去照规定做,感觉还是一知半解。在M2时候,再一次在TFS建立起任务,感觉比起M1要熟悉不少,后面把燃尽图的模板换成老师一直想让我们贴的那个,燃尽图就变得好理解了。任务的进度和项目的状态能很好地反映在燃尽图上,我也理解了为什么老师需要我们项目的燃尽图,的确能够从燃尽图中获得很多项目进展的情况和信息,也能看出项目进行时候的问题所在。

 

以前提问题的博客链接:http://www.cnblogs.com/Linhs/p/4027274.html

  • 对于问题2:PM在一个工程项目中需要做的事情很多,是团队中的枢纽, 虽然看着阿超他们间的对话简单,但在实际中PM需要兼顾的事情应该有哪些?该如何沟通团队形成整体?

  自己想回来这个问题,还真是巧合,自己当上了PM,对这个问题也有自己的理解了。我在项目中的形象可以说是一座桥梁,建立用户或其他团队与我们团队的开发人员之间的联系,需要兼顾的事情有许多,包括将用户的需求反映为我们的任务需要,并把任务分配给开发人员。同时了解每个任务进展以及整个项目的进度情况,考虑需要和团队成员情况、任务进度等因素增减修改任务。像我这个学霸项目,多个团队合作,我还需要提供需求,让爬虫团队进行实现。基本是开发和测试外的所有事情都需要你去接触。

  至于与团队沟通,其实并不难,团队的队员都是比较熟悉的人,交流并不困难。不过pm需要不断督促开发人员工作,不然你会发现他们的任务速度都是慢悠悠的。

  • 对于问题3:敏捷开发的到底是什么呢?

  敏捷开发,可以说我们在整合阶段遇到许多问题都是用敏捷开发来解决的,站在我的角度上,当我获得了用户的新需求或需求变更,我只按照用户所给予需求去做这个项目,去新建或修改任务,不会想着去设计一些其他的功能扩展,这只会徒增开发人员负担而且减缓开发速度。当用户有新的需求,我再去满足,迅速修改项目任务。这便是敏捷开发,追求的是开发速度,也就是快速开发。其实这样对于我们开发和设计人员要求也是蛮高的,我们要快速响应需求,在原有的代码基础上作出修改,所以我们在开始的设计和开发的时候都需要为后续的修改做好准备,代码的规范化,模块化,面向对象,高内聚低耦合都是需要贯通整个项目的思想。

  • 对于问题4: 关于团队开发时,注释是必须的,但是注释量应该如何衡量?是否应该考虑团队中人员的理解能力?

  对于这个,我们团队也曾经讨论过,注释一般是书写在自己修改和开发的模块之中,需要保证在一些特别设计的新变量或者新方法的地方说明其含义和效果。

 

 新问题:

  1.如果用户在临近发布时候提出的一些新需求,我们应该怎么对待?

    (这种情况也是有出现过,我们一般的考虑是小需求赶工完成,大需求留作下阶段解决。)

  回头看之前所读的几篇文章,也能在我们项目中找到一点影子。其实我们在上一届的代码基础上做修改,其中就有一两个大泥球,虽然比较难懂,但是它能工作,也能用,所以我们也没去怎么动它,让它遗留了下来。这也许是不足之处,但我们也没办法,因为没什么人喜欢读,更没人想去改,只是写了些注释上去,修饰了一番让它好看了一些。现在想想,这种大泥球的确是比较恶心人的地方。同时也更加说明了文档和注释的重要性,任何程序员在看到一份没有任何注释的代码都会产生一种厌恶的感觉,注释和文档是程序的重要组成部分,虽然写起来麻烦,但是为了后续的测试和维护,这是必不可少的。

 

做了一学期的PM,我学到了这些阶段知识点:

需求:需求分析要做好,之前我也提到过了,这是我们在M1阶段学到的东西,比较深刻。

设计:设计要让用户方便使用并尽量满足需求。

实现:实现要高内聚低耦合,能快速修改和扩展。

测试:测试需要尽可能覆盖代码,并参照模块设计方案考虑尽量多的错误情况。

发布:发布及时,尽量能在定下的时间内发布,因为这也是用户想看到的。

维护:留下尽量详细的文档,方便以后的维护人员理解程序代码。

免责声明:文章转载自《个人阅读作业3》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇软件工程作业--词频统计结对项目电梯吐血总结下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

敏捷开发流程 3个角色、5个会议、12原则

敏捷开发流程之Scrum:3个角色、5个会议、12原则 本文主要从Scrum的定义和目的、敏捷宣言、Scrum中的人员角色、Scrum开发流程、敏捷的12原则等几方面帮助大家理解Scrum敏捷开发的全过程。 一、Scrum的定义和目的 Scrum是一个用于开发和维护复杂产品的框架,是一个增量的、迭代的开发过程,目的是让开发人员像打橄榄球一样迅猛并充满激情...

敏捷开发感想

敏捷开发是一种从1990年代开始逐渐引起广泛关注的新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力。它们的具体名称、理念、过程、术语都不尽相同,相对于“非敏捷”,更强调程序员团队与业务专家之间的紧密协作、面对面的沟通、频繁交付新的软件版本、紧凑而自我组织性型的团队、能更好地适应需求变幻的代码编写和团队组织方法,也更注重软件开发中人的作用。 敏捷开...

[转]敏捷开发中编写高质量Java代码

本文转自:http://dev.yesky.com/103/11164603.shtml 敏捷开发的理念已经流行了很长的时间,在敏捷开发中的开发迭代阶段中,我们可以通过五个步骤,来有效的提高整个项目的代码质量。 Java项目开发过程中,由于开发人员的经验、Java代码编写习惯,以及缺乏统一的标准和管理流程,往往导致整个项目的代码质量较差,难于维 护,需要...

构建之法阅读心得(六)

构建之法第六章,本章为敏捷流程,主要介绍了敏捷流程及其原则,Backlog、Burn-down、Sprint、Scrum方法论,各种软件开发方法论的优缺点,选择软件流程根据等。 敏捷开发:是一系列价值观和方法论的集合 敏捷开发的原则: 1、尽早并持续地交付有价值的软件以满足顾客需求 2、敏捷流程欢迎需求的变化,并利用这种变化来提高用户的竞争优势 3、经常发布...

敏捷开发与迭代开发

总公司在推敏捷开发了,项目管理就响应了,号称我们也是敏捷开发 ,听到有人吐槽的时候,我常想:先形式上有个样子,过段时间慢慢会步入正轨。下面据说是敏捷的核心思想贴出来,自己多看多想,加深下理解。 迭代开发是一种软件开发的生命周期模型,与其对应的还有瀑布模型、螺旋模型等等。 敏捷开发是多种软件开发项目管理方法的集合,其中保护了XP、Scrum等十几种开发模式...

Scrum故事——鸡和猪

鸡跟猪说:“我们去开餐饮店吧”。 猪说:“好的,叫什么店名呢?”。 鸡说:“火腿鸡蛋店”。 猪说:“我不开了”。 当一个人要付出全部,而一个人只付出部分,两个人无法长期在一起合作,生存。当自己只付出部分,如何要求他的伙伴一起奋斗付出呢?然而问题不在于此,问题 在于鸡老喜欢下决策,并且指挥着猪去执行。所以,在制定策略,拍板决策执行的...

最新文章