软件工程:第五章作业

1.团队模式和团队的开发模式有什么关系?

团队模式主要取决于组成团队的成员,其中,由于身处各个角色人员的性格,能力的不同,而这些会往往决定了一个团队的“士气”“面对困难坚持不懈的程度”等特点,即我们常说的“软实力”。而这样的软实力也往往会激发一个团队的巨大潜能,为企业创造出超乎想象的价值。

 团队的开发模式与我们目前所熟知的软件开发模式,例如,瀑布、迭代、螺旋以及敏捷等等都密不可分,但它不同于单纯意义上的软件开发模式,因为这其中还加入了开发人员的因素,即“人”的因素。是更加贴近现实的。

团队模式和团队开发模式这二者的关系可做一个比喻,即为:二者共同构成了一个人,而前者是大脑,后者是身体。身体是行动的发出者和执行者而后者是身体的控制者和调度者。两者结合团队可以开发出很有价值的软件,完成很困难的任务,并创造价值。

2.如果你领头开展一个全新的项目,你要怎么选择“合适”的团队模式?

在选择“合适”的团队模式方面,首先要着眼于我将要组建的团队需要那些角色的人,其次,再根据这些不同的角色选取与其对应的性格和能力的人,来担当此角色。在此,我把角色放在了能力的前面,因为,我始终相信一点,“性格决定一切,细节决定成败”,一个人的性格决定着他的三观,更觉定着他的职业道德,这对于软件从业人员来说至关重要。最后,我想说,组建团队,需要的是营造良好的企业文化,强大的软实力。这样的团队能时刻拧成一股绳,一起拼搏。进而,才是着眼于技术等实际的方面,不然,很容易造成,有技术的人,心里骂着leader ,又对同事不满,最终就是团队的break up into pieces

3.不同的团队模式如何影响团队绩效的评估?

不同的团队模式,在团队绩效评估时,会考虑很多不同的因素。比如,一个很严谨的团队,在对于其绩效的评估时候,就会更加按照公司给的要求和客户的反应等等来进行评估,而对于更加“人性化”的团队来说,在做评估时,可能更多的会考虑人的因素,比如,当评估结果不理想时,可能出来在按照公司要求和客户反应来反思的同时,还会可能想到“也许是大家最近太累了,或是负责那一不理想的模块的人最近家里有些事情等等”。

4.团队精神和集体主义的区别?  

在我看来,团队精神更强调的是一骨子气势,一种软实力。有的时候不同的团队,有着不同的团队 精神,比如有的团队是效率型的,那他们的团队精神强调高效,按时完成工作,这样的团队有的时候略显呆板,缺乏活气;而有的团队是合作型的,那他们的团队精神强调把大家的心气聚到一起,有事大家一起上,像个大家庭一样,人性化的程度很高。 而集体主义,有的时候更强调一致性,只要这个集体完成某些工作就行,忽略了个人的作用,着眼于大体,往往把一个集体看成了一个人,把对一个人的要求,放大到对每个人的要求,难免有的时候有些“一刀切”的感觉。

5.阅读 《梦断代码》  (Dreaming in Code) 这本书,分析Chandler 团队的形式和流程,它们各有什么优缺点?

《梦断代码》作者罗森伯格对OSAF主持的Chandler项目进行田野调查,跟踪经年,试图借由Chandler的开发过程揭示软件开发中的一些根本性大问题。本书是讲一事,也是讲百千事;是写一软件,也是写百千软件;是写一群人,也是写百千万人。任何一个在软件领域稍有经验的技术人员看完本书,必掩卷长叹:做软件难。软件乃是人类自以为最有把握,实则最难掌控的技术。

Chandler是一个符合GTD思想的时间管理软件,它不但集成了日程管理和任务管理,还有邮件处理功能。另外,它还可以有网络同步功能,使你在任何地方都可以使用。软件的目标是很远大的,它要做Outlook杀手。

Chandler是一个从开始就充满着理想主义的项目。很自然,开发的工作量和时间远远超出了预期。因此,在较早时候,我从国外论坛上看到介绍并试用时,感觉项目进展不大,与同类产品相比,竞争力很小。但是,不经意间,它终于发布了正式版本v1.0,并且,吸引了一批有热情的网友,在推广、在进行中文化。

优点在于:极大的发挥了团队成员的创造力与想象能力;缺点在于缺乏一个强有力的管理核心来对项目的诸多事宜做裁决;体现在如下几个方面:一、漫无边际的需求。二、使用不成熟的技术。三、团队成员想法过分的百花齐放。

6.有人说 - 现代软件工程分为四个阶段:和PM 吵   和设计吵    和测试吵    和用户吵; 你觉得应该如何避免吵架?

吵架就是因为有误会,而“百分之99的误会都是源于沟通不畅”,所以,要想做到不吵,首先要合懂行的人进行沟通和交流,“晓之以情,动之以理”,让双方都明白彼此的难处,其次,要做到在软件开发的每一阶段开始前,就合对方敲定,方案和彼此的满意程度,统一口径后再接着着手干,要让更多的时间用在项目上而不是争执上。

7.软件开发有流程,硬件开发和生产当然也有,请看硬件生产的流程 (此流程不包括硬件设计):这样的 "生产” 流程和软件“生产”的流程有什么区别呢?

http://dwz.cn/1W1qbn这个网址我在网上搜了是指富士康生产手机流程

硬件:原理图设计 电路图设计PCB板 测试板 单片机

软件:需求分析 设计功能   总体结构  编码  调试

对于硬件的生产流程,是从从一点点的芯片或是模块开始一点一点的去组装的,软件的生产流程是从一个一个的功能模块一个字母一个字母的敲打出来的,要说硬件生产和软件生产的区别我认为最大的不同之处就是,软件是一种根据人的思维,根据特定的算法创造出来的,硬件是现实中存在的东西,用这些东西去做的。​

8.很多流程的目的是帮助大家减少风险,确保质量,但是流程未必全都是正面作用。请看下面的故事:

 6天流程改一行代码: http://blog.jobbole.com/19772/

 这种情况需要改进么,如何改进?

这个流程的问题就是,提交某项代码改动,可能依赖的无关项太多。应该按项目划分,走六天改于行代码,说明管理上存在问题,效率绝对低下。当我们谈过程的时候更加强调了流程,人和方法工具技术三者之间的有机融合,这有这三者完美整合好,才可能形成一个高效率的体系。对于团队成员对流程规范等方面要做好工作,要提前做好工作,对于领导的出差时间要做好记录。这样的相铺相成才能提高效率。

猜你喜欢

转载自www.cnblogs.com/a3277/p/9152729.html