项目 | 内容 |
---|---|
班级博客链接 | https://edu.cnblogs.com/campus/xbsf/2018CST/ |
这个作业要求链接 | https://www.cnblogs.com/nwnu-daizh/p/14660499.html |
团队名称 | 鲤鱼跃龙门 |
团队的课程学习目标 | 1、阅读《现代软件工程—构建之法》第17、12、5章内容 2、通过结队,开通团队博客,组建了项目研发团队 3、通过描述各自特长和找出团队特色培养团队合作意识 |
这个作业在那些方面帮助团队实现学习 | 1.通过阅读学习《现代软件工程—构建之法》第5章和第12章内容,体验任务三实现软件功能,理解软件的使用功能 2.通过完成了团队成员的介绍和团队特色的培养完成了已定的学习目标 |
队名
鲤鱼跃龙门
团队成员组成
成员学号末五位 | 成员名 | 个人博客地址 | 备注 |
---|---|---|---|
10132 | 张潇潇 | 博客主页 | |
10126 | 王亚涛 | 博客主页 | |
10113 | 刘兴瑞 | 博客主页 | 组长 |
10121 | 王方 | 博客主页 |
成员风采
队长:刘兴瑞
做事提前会有计划,擅长发挥团员的最大光热,动手能力强,组织能力好,擅长python,承担角色PM,我的宣言是:只要想好了,那就去做。
成员:张潇潇
具有完备的基础知识,可以帮助团队实现老师的要求
成员:王亚涛
具有谦虚的态度,可以虚心向他人请教不会的问题,与团队成员配合默契,团结一心,为团队的发展贡献自己的力量。
成员:王方
具有细心谨慎的特点同时也具备谦虚的态度,对于不懂不会的问题可以随时学习,可以配合组长完成老师给出的作业要求
第五章
- 这一章主要叙述了软件开发的团队模式和开发流程。
团队模式(团队结构)主要解决团队间交流效率的问题;开发流程主要关注团队在结构确定的情况下,具体开发软件的流程
团队模式
1、交响乐团模式
交响乐团演奏的特点如下:
家伙多,门类齐全
各司其职,各有专门演奏的场地
演奏都看指挥
演奏都是经过多次练习的曲目,重在执行
众多大型软件公司的开发团队会采取这一模式。
2、功能团队模式
具备不同能力的同事们平等协作,共同完成一个功能。
当一个项目完成后,这些人又重新组织,和别的角色一起去完成下一个功能。
开发流程
1、RUP流程
特点:重计划、重事先设计、重文档表达。
2、渐进交付流程,MVP和MBP
渐进交付流程:
特点:当系统的主要需求和框架明确后,团队进入一个不断演进的循环中。
MVP:尽快得到用户反馈,把最核心的功能点用最小的成本实现出来,快速征求用户意见。
MBP:如果团队对用户的需求了然于心,或者团队比用户更了解需求,为何不把产品以最全最美的形态展现出来呢?
第七章 实战中的软件工程
- 这一章主要叙述了MSF的相关知识
MSF是一个经验知识库,它包括以下方面的内容:
企业结构设计方案—采用交互的方式,侧重于制定长期规划,同时也能完成短期目标。
项目开发准则—包含组队模型和过程模型,用于建立高效的项目组,管理项目的生命周期。
项目设计过程和多层结构的应用程序模型—用于支持设计复杂的分布式企业应用。
企业信息基础设施的实施方法—使用组队模型和过程模型支持实现、操作和技术上的方案。
MSF的基本原则
MSF没有像敏捷那样搞一个宣言,但是它也有一套思想框架—9条基本原则
- 推动信息共享与沟通(Foster open communications)
第一个原则,就是所有信息都保留并公开,讨论要包括所有涉及的角色,决定要公开并告知所有人。当然,对牵涉到技术机密、安全性等信息要采取必要的保护措施。
看不到所有的信息,那么项目进度以及项目中存在的各种问题就不能及时让所有人知道,这样MSF中其他的原则也就不能实行了。没有开放的信息,也就谈不上“授权”,或者“建立清晰的责任和共同的职责”,以及“保持敏捷,预测并适应变化”。这也是为什么“推动信息共享与沟通”是第一个基本原则。MSF团队模型和MSF过程模型也是建立在“信息共享与沟通”原则上的。 - 为共同的远景而工作(Work toward a shared vision)
“共同的远景”是指产品的远景。我们做一个产品,不管是应用软件、行业软件,还是通用软件,要明确项目的目标是什么。
这个目标必须是明确的,没有二义性;
这个目标不是当前就能达到,必须是通过努力才能达到的;
这个目标不是空泛的,它应该对项目成员每天的工作都有指导作用。
远景一般是由“有远见的人”提出,然后公开讨论,在讨论的过程中,可以消除误解,凝聚共识。这是一个项目的关键,是项目第一阶段要达到的主要目标。 - 充分授权和信任(Empower team members)
这一点的关键是“授权”这个词,授权(Empower)有两个意思:1、给某人权力和权威,2、给予某人更多自信和自尊
在一个高效的团队中,所有的成员都应该能得到充分的授权,他们有权在职权范围内按照自己的承诺完成任务,同时,他们也充分信任其他同事能实现各自的承诺。类似地,团队的顾客(包括内部和外部的顾客)也认为团队能兑现承诺,并进行相应的规划。
充分授权的管理方式是MSF的核心观念之一。MSF团队模型就是建立在以下两个原则上的:1、平等协作—成员之间、团队之间是平等协作的关系。2、充分授权给团队和成员 - 各司其职,对项目共同负责(Establish clear accountability and shared responsibility)
在项目进展的过程中,对于每一项任务,每个人都要明确以下几点。
Who:谁负责
What:做什么,具体的执行方案,什么叫做“做好了”
When:什么时候开始,什么时候结束
Why:为什么是这样安排(和项目的远景是否吻合),在什么情况下可以变更?
与“信息共享与沟通”原则相呼应,这样的安排能让所有人都明确自己的职责,同时有“大局观”—知道别人在做什么,为什么,以及整个项目的目标 - 交付增量的价值(Deliver incremental value)
现在的软件产业,特别是和互联网相关的产业,变化非常快,用户希望产品团队经常提供更新,以适应新的需求。我们要保证在两个方面保证客户的利益:
我们提供的新版本对用户真的有价值,和客户商讨一个最优的新版本的发布频率 ,最优的频率会因为产品的特点(企业产品,消费者产品)和发布平台(办公电脑、家用电脑、互联网、智能手机及平板电脑)的不同而大不相同。
在MSF团队模型中,“用户体验”这个角色代表了用户的利益,保证产品能真正易于使用;“产品管理”这个角色代表了客户的利益,保证了我们的产品能为顾客提供商业价值。搞技术的,要尊重这两个角色,因为他们代表的是我们的衣食父母。 - 保持敏捷,预期和适应变化(Stay agile, expect and adapt change)
软件工程,唯一不变的是变化。所以干脆别幻想客户的需求会在第一时刻很明确,然后保持不会变。要注意,我们是预期变化,不是期望变化。
除开外部原因,团队内部也在变化,我们对技术的掌握每天都在提高,原来认为不可能的事可能变得容易。我们对客观世界和软件系统的了解每天都在深化,原来觉得没问题的小细节忽然成了大问题。甚至原来一起打拼的同事忽然要离开……这些都要求我们团队保持敏捷的身段。 - 投资质量(Invest in quality)
对质量的重视,引起对质量的投资,引起对人、过程和工具的投资。
投资要讲效率 :软件开发过程大部分时间花在了解/设计/变更/再了解/再设计的过程中。我们要重视质量,但并不是要不惜一切代价达到最高的质量标准(有人倒吸了一口凉气),因为提高人/过程/工具的质量是要花成本的!我们不是为提高质量而提高质量。我们要讲投资的效率。比如,在做快速原型的过程中,有些部分可以做得粗糙一点
投资要讲时机 :比如说对于某项技术的培训,最好的做法是在即将需要的时候进行培训。太超前或滞后都不灵
投资是长期的:和投资股票/不动产一样,真正的投资者看重的是长线的收益;人的成长、团队的成熟都需要时间,不可能短期内立竿见影。那些“短平快”的东西,叫投机,不叫投资。 - 学习所有的经验(Learn from all experiences)
在学习过去的经验的同时,也要避免让过去的经验妨碍解决现在的问题
这一原则有两个含义:1、把经验总结出来。2、分享经验
为什么要坚持总结和分享?
是为了让团队成员从别人的成果和失败的例子中学到东西,帮助新项目重复以往成功的做法,培育团队总结的习惯和“批评与自我批评”的文化。
MSF在每一个里程碑结束时都要做一个“里程碑回顾”,这个回顾不必等到整个项目结束才做。这样做的好处是,大家对最近的成败都记忆犹新,能提供比较准确和全面的反馈;如果发现了错误,可以马上研究解决办法,在下一个里程碑中通过实践来验证。另外,一些好的做法可以及时得到总结和推广。
在项目结束时,MSF推荐请团队以外的专家来主持召开“事后诸葛亮”会,这样的专家会比较系统地总结团队的成功经验和失败教训,同时也客观评价团队的一些特性和团队的开发过程管理,这样能促使团队成员以客观、向前看、解决问题的心态来参加“事后诸葛亮”会,避免主观臆断或相互指责 - 与顾客合作(Partner with internal and external customers)
MSF团队模型
MSF团队模型定义了小组同级成员的一些角色和职责
在MSF团队模型中,任何技术项目都必须达到特定的关键质量目标,才能够被认为是成功的项目。任何一个角色无法实现其目标,都将危及整个项目。因此,每个角色都被认为是同等重要的,重要的决定都要共同作出。相关的目标和角色如上图所示。
一个项目要达到的目标很多,MSF团队模型让不同的角色去实现这些目标。在一个项目结束的时候,每个角色都问自己这样的问题——我是否达到了我的质量目标?
最后,比如测试团队(角色:测试)要保证“我发现的所有问题都得到解决”,那么测试团队就会做一下两件事:
- 发现产品的问题
2.保证这些问题都得到处理
要注意的是,保证这些问题都得到“处理”和得到“解决”是不一样的,有些问题目前不能得到完美的解决,但是可以由让用户满意的处理方案,项目团队不能回避这些问题
发现了问题,但是目前的“处理”不能让用户满意时,测试团队就要和别的角色(如:产品管理/程序管理/开发)一起研究用户需求,在可能的方案中选出一个,比如:
-
按照目前的状态交付,向用户作出说明(如:在某个操作系统/浏览器版本下,某个功能不能正常工作)。
-
推迟交付时间,让团队有足够的时间来解决问题。
修改产品的约束条件(如要求客户的操作系统/浏览器必须是某一个版本以上,或者增加一个附加条件:产品发布后半年会出新的插件解决问题)。在讨论处理方案时,每个角色从自己的质量目标出发并对其负责。
MSF过程模型
每个项目都要经过一个生命周期,图7-2是MSF过程模型的生命周期简图,下图就是MSF过程模型简图
MSF过程模型是从传统的软件开发瀑布模型和螺旋模型发展而来的,它把瀑布模型中基于里程碑的规划优势与螺旋模型中增量迭代的长处结合了起来
MSF过程模型的基本元素是阶段和里程碑。所谓“阶段”,就是在这一段时间里团队集中精力做某一类事情,每个阶段的结束都代表了项目的进展和团队工作重心的变化。比如在“开发阶段”结束后,团队就不再允许设计/实现新的功能,除非有理由充分的“变更请求”。
团队用里程碑来检查工作是否结束和同步各个角色的进度,以此来确定当前阶段的目标是否已经实现。此外,里程碑标志着每个阶段的结束,此时团队应该引导成员转移工作的重心,并鼓励队员以新的视角来看待下一阶段的目标。在上一个阶段产生的各种交付内容,将成为下一阶段的起始点。
第17章 人,绩效和职业道德
-
通过阅读第十七章,使我对于绩效管理有了新的认识,一个团队中的每一个人都有各自的努力和作用,如何衡量个人在团队中的绩效呢?我认为这个问题真的是令所有的人都十分困扰的,书中提到了,用工作量,可是有的人工作量的确很多,可是他做的都是一些无用功,不能够对团队起到任何帮助,比资历,大锅饭,比效率 、比不犯错误 、 这些都有其不合理之处,那么到底该如何根据什么标准给予不同的待遇?
所谓绩效管理,是指各级管理者和员工为了达到组织目标共同参与的绩效计划制定、绩效辅导沟通、绩效考核评价、绩效结果应用、绩效目标提升的持续循环过程,绩效管理的目的是持续提升个人、部门和组织的绩效。 -
实施原则
清晰的目标。对员工实行绩效考核的目的是为了让员工实现企业的目标和要求,所以目标一定要清晰。目标引导行为。
量化的管理标准。考核的标准一定要客观,量化是最客观的表述方式。很多时候企业的绩效考核不能推行到位,沦为走过场,都是因为 标准太模糊,要求不量化。
良好的职业化的心态。绩效考核的推行要求企业必须具备相应的文化底蕴,要求员工具备一定的职业化的素质。事实上,优秀的员工并不惧怕考核,甚至欢迎考核.。
与利益、晋升挂钩。与薪酬不挂钩的绩效考核是没有意义的,考核必须与利益、与薪酬挂钩,才能够引起企业由上至下的重视和认真对待。
具有掌控性、可实现性。绩效考核是企业的一种管理行为,是企业表达要求的方式,其过程必须为企业所掌控。
“三重一轻”原则绩效考核只有渗透到日常工作的每个环节当中,才能真正发挥效力,如此,应遵循以下“三重一轻”的原则:
1)重积累:平时的点点滴滴,正是考核的基础;
2)重成果:成果的反馈,才可以让员工看到进步,才有前进的动力;
3)重时效:指定一个固定的时间考核,往往想不起来当初发生的事情。即时考,即时思;
4)轻便快捷:复杂的绩效考核方式,需要专业人员的指导才可能取得预定效果。今目标针对并不复杂的中小企业,更侧重在通过轻量的方式,为管理者提供和积累考核素材。 -
软件功能工程师具备的素质
- 有高度的责任心和强烈的使命感
有自觉的规范化和标准化意识
有强烈的相互协作的团队精神
有良好的和同事沟通的能力
正确对待客户需求,认真弄懂客户需求,不任意解释客户需求
有自觉的保密意识和产权意识
通过实践养成良好的文档习惯
通过学习和总结而引发出创新精神和创新能力
服从上级主管分配的任务和安排
具有软件工程的概念
- 有高度的责任心和强烈的使命感
-
软件功能工程师的基本修养
-
修养一般指自我锻炼和自我培养,目的是达到更高的水准,以期符合社会的需求。同时修养的高低,也体现了一个人的水平和格调。下面十项要求,应该是软件工程师不断追求的目标,也是判断软件工程师是否成熟的标准。
熟悉并严格遵循相关的工作标准和规章制度 严格遵循规定的编写程序的流程,养成良好的程序注释习惯 自觉地按照规范建立正规的、有一定质量的文档 遇到属于自己能力领域以外的问题,主动咨询该领域专业人士的意见 工作中发现的问题,应及时提交主管人员 有复用性设计和模块化思维的能力 不仅有研究需求的习惯,还应通过研究做到深刻理解需求的方方面面 具有坚定的专业精神 自觉拓展自己的知识领域,以满足公司发展的需要。
-
-
软件功能工程师具备的职业道德
- 社会对不同职业的工程师在职业操守或职业行为方面有不同的要求。职业操守反映了一个职业人员的品质和品德。不仅关系到个人名誉,更重要的是关系到个人的事业发展和职业生涯。任何机构都是不会对品德有缺陷的人委以重任的。
- 在工作中获得的不属于公共范围的信息应予以保密
在工作中编写的代码和文档应视为公司的财产
不得有意破坏或窃取公司的文档资源和代码资源
不得在程序中嵌入非法或不安全代码
不使用非法或非合理渠道获得的软件
在任何条件下不兼职从事与公司业务相关的事情
不违背规定私自进入计算机系统
任何情况下不泄漏公司商业秘密,更不得为获取私利而出卖商业秘密
克尽职守,自觉维护所服务的组织的合法利益。
- 在工作中获得的不属于公共范围的信息应予以保密
- 社会对不同职业的工程师在职业操守或职业行为方面有不同的要求。职业操守反映了一个职业人员的品质和品德。不仅关系到个人名誉,更重要的是关系到个人的事业发展和职业生涯。任何机构都是不会对品德有缺陷的人委以重任的。
组建团队企业微信群
(1)我们在企业微信建立的团队企业微信群
如下图所示:
团队特色描述
团队成员漂亮能干,性格良好,待人温柔,商讨过程中可以看见他们想法不同,立意不同,但是我们的目标相同,以后的合作可以从多种角度思考解决问题。