天天向上队 实验二:软件研发团队组建

Posted tiantianxiangshanggroup

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了天天向上队 实验二:软件研发团队组建相关的知识,希望对你有一定的参考价值。

实验二:软件研发团队组建

项目 内容
课程班级博客链接 20级卓越工程师班
这个作业要求链接 实验二:软件研发团队组建(团队作业)
团队名称 天天向上队
团队的课程学习目标 1.组建软件项目研发团队
2.申请开通团队博客
3.学习《现代软件工程—构建之法》第5、6、9章内容并总结问题
4.明确各队员的个人能力及团队分工并共同完成团队组建任务
这个作业在哪些方面帮助团队实现学习目标 1.组建团队并开通博客利于各队员之间的相互交流和进度共享
2.明确团队中不同角色的任务和职责
3.初步磨合便于后续开发的顺利进行
团队博客链接 天天向上队

任务1: 组建软件项目研发团队

1.队名:天天向上队

2.团队成员组成

成员学号 成员姓名 个人博客地址 备注
202031607330 杨雯丽 杨雯丽 PM
202031607213 李蕊 李蕊
202031607211 米乐 米乐
202031607225 王淑慧 王淑慧

3.成员风采

成员 风格 编程兴趣 软工角色 宣言
杨雯丽 认真负责 web前端 PM 一直走,天一定亮
王淑慧 严谨求真 web前端 python 测试 种一棵树最好的时间是十年前,其次是现在
米乐 勤于思考 c++,python 开发 志存高远,脚踏实地
李蕊 求真务实 c,python 文档 人生的路要自己走

4.组建团队企业微信群

5.团队特色描述

     团队成员都具备良好的沟通和团队协作能力,有活力,各司其职,认真完成每一项任务。

任务2: 申请开通团队博客

     团队博客已申请,团队博客地址为天天向上队。并提交了团队信息。

任务3: 阅读《现代软件工程—构建之法》第5、6、9章内容,总结以下概念与问题:

1. 团队软件过程(Team Software Process,TSP)

  • 团队软件过程是为开发软件产品的开发团队提供指导,TSP的早期实践侧重于帮助开发团队改善其质量和生产率,以使其更好的满足成本及进度的目标。TSP被设计为满足2~20人规模的开发团队,大型的多团队过程的TSP被设计为大约最多为150人左右的规模。

  • 团队软件过程(TSP)加上PSP帮助高绩效的工程师在一个团队中工作,来开发有质量保证的软件产品,生产安全的软件产品,改进组织中的过程管理。通过TSP,一个组织能够建立起自我管理的团队来计划追踪他们的工作、建立目标,并拥有自己的过程和计划。这些团队可以是纯粹的软件开发团队,也可以是集成产品的团队,规模可以从3到20个工程师不等。TSP团队在广泛领域里可能运用XP, RUP或其它方法。TSP使具备PSP的工程人员组成的团队能够学习并取得成功。如果你的组织运用TSP,它会帮助您的组织建立一套成熟规范的工程实践,确保安全可靠的软件。

     团队软件过程TSP基于以下4条基本原理

     (1)应该遵循一个确定的、可重复的过程并迅速获得反馈,这样才能使学习和改革最有成效。

     (2)一个群组是否有效,是由明确的目标、有效的工作环境、有能力的教练和积极的领导这4方面因素的综合作用所确定的,因此应在这4个方面同时努力,而不能偏废其中任何—个方面。

     (3)应注意及时总结经验教训,当学员在项目中面临各种各样的实际问题并寻求有效的解决问题方案时,就会更深刻地体会到TSP的威力。

     (4)应注意借鉴前人和他人的经验,在可知利用的工程、科学和教学法经验的基础上来规定过程改进的指令。

2. 理解TSP原则

  • 使用妥善定义的流程,流程中的每一步都是可以重复、可以衡量结果的。

  • 团队的各个成员对团队的目标、角色、产品都有统一的理解。

  • 尽量使用成熟的技术和做法。

  • 尽量多地收集数据(也包括对团队不利的数据),并用数据来帮助团队做出理性的决定。

  • 制定切合实际的计划和承诺,团队计划要由负责具体执行的的角色来制定(而不是从上级而来)。

  • 增加团队的自我管理能力。

  • 专注于提高质量,争取在软件生命周期的早期发现问题。最有效提高质量的办法是做全面而细致的设计工作(而不是在后期匆忙修复问题)。

3. 敏捷开发的原则

  • 尽早并持续地交付有价值的软件以满足顾客需求。

  • 敏捷流程欢迎需求的变化,并利用这种变化来提高用户的竞争优势。

  • 经常发布可用的软件,发布间隔可以从几周到几个月,能短则短。

  • 业务人员和开发人员在项目开发过程中应该每天共同工作。

  • 以有进取心的人为项目核心,充分支持信任他们。

  • 无论团队内外,面对面的交流始终是最有效的沟通方式。

  • 可用的软件是衡量项目进展的主要指标。

  • 敏捷流程应能保持可持续的发展。领导、团队和用户应该能按照目前的步调持续合作下去。

  • 只有不断关注技术和设计,才能越来越敏捷。

  • 保持简明,尽可能简化工作量的技艺极为重要。

  • 只有能自我管理的团队才能创造优秀的架构、需求和设计。

  • 时时总结如何提高团队效率,并付诸行动。

4. Scrum敏捷流程

     第一步:找出完成产品需要做的事情——Product Backlog。

     Backlog 翻译成“积压的工作”、“待解决的问题”、“产品订单”,都可以。产品负责人领导大家对于这个Backlog中的条目进行分析、细化、理清相互关系、估计工作量等工作。每一项工作的时间估计单位为“天”。

     第二步:决定当前的冲刺(Sprint)需要解决的事情—-Sprint Backlog。

     整个产品的实现被划分为几个互相联系的冲刺。产品订单上的任务被进一步细化了,被分解为以小时为单位。如果一个任务的估计时间太长(如超过16个小时),那么它就应该被进一步分解。订单上的任务是团队成员根据自己的情况来认领。如果团队成员能主导任务的估计和分配,他们的能动性得到较大的发挥。

     第三步:冲刺。

     在冲刺阶段,外部人士不能直接打扰团队成员。一切交流只能通过Scrum大师(Scrum Master)来完成。这一措施较好地平衡了“交流”和“集中注意力”的矛盾。有任何需求的改变都留待冲刺结束后再讨论。

     冲刺期间,团队通过每日例会(Scrum Meeting)来进行面对面的交流,团队成员大多站着开会,所以又称每日立会。大家依次报告:
      - 我昨天做了啥
      - 我今天要做啥
      - 我碰到了哪些问题

     每日立会强迫每个人向同伴报告进度,迫使大家把问题摆在明面上。同时团队要启动每日构建,让大家每天都能看到一个逐渐完善的版本。图表可以是燃尽图,也可以是简单的看板图(Kanban):把一堆任务从最初的“待定”推动到“工作中”等各个状态,直至“完成”。

     冲刺阶段是时间驱动的(Time-boxed),时间一到就结束。这个特点看似不起眼,但其实它有效地断了各种延期想法的后路,很高明。

     第四步:得到软件的一个增量版本,发布给用户。然后在此基础上又进一步计划增量的新功能和改进。

5. 团队项目经理(Product Manager,PM)的职责

  • 带领团队形成团队的目标/远景,把抽象的目标转化为可执行的、具体的、优美的设计;

  • 管理软件的具体功能的生命周期(需求/设想/设计/实现/测试/修改/发布/升级/迁移/淘汰);

  • 创建并维护软件的规格说明书,让它成为开发/测试人员及时准确的指导,而不是障碍;

  • 代表客户和用户的利益,主动收集用户反馈,预期用户新的需求。协调并决定各种需求的优先级;

  • 分析并带领其他成员对缺陷/变更需求形成一致意见,并确保实施;

  • 带领其他成员确保项目保持功能/时间/资源的合理平衡,跟踪项目进展,确保团队发布令客户满意的软件;

  • 收集团队项目管理和软件工程的各种数据,客观分析项目实施过程中的优缺点,推动项目成员持续改进,从而提振士气。

记录完成《实验二:软件研发团队组建(团队作业)》各项任务实际花费的时间

任务 实际花费时间(min)
组建软件项目研发团队 5
组建团队企业微信群 2
开通团队博客 20
完成任务3 140
撰写博客 100
总结 20

团队各位成员谈谈完成本次作业的感受和体会

     王淑慧:通过本次团队任务的完成,和其他团队成员得到了初步的磨合并完成了各项任务,为后续的软件开发奠定了基础。在《构建之法》的学习过程中了解到了每个队员的责任和任务,我们将向着这个方向进一步努力并认真完成各项任务提高自身学习和实践的能力。本次团队作业完成较为不易,但每个成员都得到了更大的进步并互相磨合成功。

     李蕊:在此次团队组建任务中,每一个人都必须以信任对方作为基础,大家互帮互助,以实现最终目标而共同努力;再次是责任心,一个优秀的团队中的每一个成员都应该具有高度的责任心,要对团队中的每一个负责,全身心地投入到团队中去,要认清自己的职责、价值,努力做好自己的本职工作。

     米乐:我觉得对于软件工程这门课来说:实践才是学习的关键过程。本次实验中,我们组建了自己的软件开发团队,团队成员之间进行了有效的沟通和交流,确定了以后实践过程中每个人的大致分工,为学好这门课以及个人的能力提升都奠定了基础。希望以后我们之间可以互相学习,弥补不足。

     杨雯丽:通过本次团队任务并阅读《构建之法》,我学习到团队并不是为了一个目的临时聚到一起,而是有一致的目标,有各自的分工,互相依赖合作,共同完成任务。团队有很多模式,例如主治医师模式,社区模式,业余剧团模式等等。了解了软件的项目经理--PM以及它的由来,PM有几种:Product Manager,Project Manager,Program Manager等,在不同的行业和公司,他们的作用各不相同。PM的职责是做开发和测试之外的所有事情,如有做功能设计的,有做驱动流程的,还有和研究人员合作的。一个合格的PM需要具备①观察,理解和快速学习能力 ②分析管理能力 ③一定的专业能力 ④领导力。我学习到了很多软件工程之前从未了解过的知识,收获很多。

迪士尼在逃公组 实验二:软件研发团队组建(团队作业)

项目 内容
课程班级博客链接 2020级卓越工程师班
这个作业要求链接 实验二:软件研发团队组建(团队作业)
团队名称 迪士尼在逃公组
我的课程学习目标 1. 组建软件项目研发团队
2. 了解团队成员能力,明确在团队中的个人定位
3. 学习完成团队任务,加强团队合作
这个作业在哪些方面帮助我实现学习目标 1.确定开发团队创建博客,利于检查团队开发进度
2.阅读《构建之法》,了解团队分工与职责
3.分析总结团队不足之处,及时查漏补缺
团队博客链接 迪士尼在逃公组

任务1:组建软件项目研发团队

1.队名:迪士尼在逃公组

2. 团队成员组成

成员学号 成员姓名 个人博客地址 备注
202031607132 何欣娜 何欣娜博客地址 PM
202031604107 米乐文 米乐文博客地址
202031607215 宋晔婷 宋晔婷博客地址

3. 成员风采

成员 擅长技术 编程兴趣 软工角色 宣言
何欣娜 C++、Java 后端 PM 今天多一分拼搏,明天多八个白馍馍!
米乐文 C、python 前端 开发 加油加油
宋晔婷 CSS、HTML 前端 文档 好好学习,天天向上

4.团队企业微信群展示:

5.团队特色描述:

任务2:申请开通团队博客

 已顺利完成团队博客申请,博客地址为迪士尼在逃公组

任务3: 阅读《现代软件工程—构建之法》第5、6、9章内容,总结以下概念与问题:

1. 团队软件过程(Team Software Process,TSP)

团队软件过程是为开发软件产品的开发团队提供指导。

 个人能力的提高同时需要一个有效地工作在一个团体(小组)环境,并知晓如何一致创造高质量的产品。为了提高团队的质量及生产能力,更加精确地达到费用、时间要求,结合个人软件管理过程(PSP)的原则提出了TSP以提高小组的性能,从而提供工程质量。
 TSP能够指导项目组中的成员如何有效地规划和管理所面临的项目开发任务并且告诉管理人员如何指导软件开发队伍始终以最佳状态来完成工作,并且借此建立起自我管理的团队来计划追踪他们的工作、建立目标,并拥有自己的过程和计划。
特点:

  • TSP的早期实践侧重于帮助开发团队改善其质量和生产率,规模大小不一,以使其更好的满足成本及进度的目标。
  • TSP团队在广泛领域里可能运用XP, RUP或其它方法。TSP使具备PSP的工程人员组成的团队能够学习并取得成功。

2. 理解TSP原则

在设计TSP过程时,需要按照以下7条原则:

  • 循序渐进的原则,在PSP基础上提出简单的过程框架,再逐步完善;
  • 迭代开发的原则,选用增量式迭代开发方法;
  • 质量优先的原则,按TSP开发的软件产品建立质量和性能的度量标准;
  • 目标明确的原则,对TSP的群组及其成员的工作效果提供准确的度量;
  • 定期评审的原则,在TSP的实施过程中,对角色和群组进行定期评价;
  • 过程规范的原则,对每一个项目的TSP规定明确的过程规范;
  • 指令明确的原则,对实施TSP中可能遇到的问题提供解决问题的指南。

3. 敏捷开发的原则

  • 尽早并持续地交付有价值的软件以满足顾客需求
  • 敏捷流程欢迎需求的变化, 并利用这种变化来提高用户的竞争优势
  • 经常发布可用的软件,发布间隔可以从几周到几个月,能短则短
  • 业务人员和开发人员在项目开发过程中应该每天共同工作
  • 以有 进取心的人为项目核心,充分支持信任他们
  • 无论团队内外,面对面的交流始终是最有效的沟通方式
  • 可用的软件是衡量项目进展的主要指标
  • 敏捷流程应能保持可持续的发展。领导、团队和用户应该能按照目前的步调持续合作下去
  • 只有不断关注技术和设计,才能越来越敏捷
  • 保持简明-尽可能简化工作量的技艺一极为重要
  • 只有能自我管理的团队才能创造优秀的架构、需求和设计
  • 时时总结如何提高团队效率,并付诸行动

4. Scrum敏捷流程

  • 第一步:找出完成产品需要做的事情一Product Backlog。
     产品负责人领导大家对于这个Backlog 中的条目进行分析、细化、理清相互关系、估计工作量等工作。
  • 第二步:决定当前的冲刺( Sprint )需要解决的事情一Sprint Backlog。
     整个产品的实现被划分为几个互相联系的冲刺。产品订单上的任务被进一步细化了, 被分解为以小时为单位。如果一个任务的估计时间太长(如超过16个小时),那么它就应该被进一步分解。 订单上的任务是团队成员根据自已的情况来认领。如果团队成员能主导任务的估计和分配,他们]的能动性得到较大的发挥。
  • 第三步:冲刺。
     在冲刺阶段,外部人士不能直接打扰团队成员。一切交流只能通过Scrum大师( Scrum Master)来完成。这- ~措施较好地平衡了“交流”和“集中注意力”的矛盾。有任何需求的改变都留待冲刺结束后再讨论。
     冲刺期间,团队通过每日例会( Scrum Meeting)来进行面对面的交流,团队成员大多站着开,依次汇报:我昨天做了啥、我今天要做啥、我碰到了哪些问题。
  • 第四步:得到软件的一个增量版本,发布给用户。然后在此基础上又进一步计划增量的新功能和改进。

5. 团队项目经理(Product Manager,PM)的职责

 项目经理的有责任满足以下需求:任务需求、团队需求和个人需求。使用良好做法的知识、工具和技术实现有效的项目管理。可以分为六个方面:

  • 对项目成败负责;
  • 建立可达成目标,确保团队对目标认知一致;
  • 平衡项目范围、进度、成本、质量等项目管理各要素权重;
  • 满足所有利益相关者(干系人)的需求和期望,使他们满意;
  • 裁剪运用PMP推崇和倡导的项目管理方式方法,做到有效管理;
  • 掌握PMI主义,协调相关干系人,实现项目从启动到结尾的全生命周期管理。

记录完成《实验二:软件研发团队组建(团队作业)》各项任务实际花费的时间。

  • 完成各项任务花费的时间

    任务内容 预计花费时间 实际花费时间
    确定团队 10 10
    创建企业微信群 5 2
    创建博客园团队博客 30 20
    完成任务三 120 150
    博客撰写 90 90
    反思和总结 30 40

团队各位成员谈谈完成本次作业的感受和体会。

何欣娜
 初步建立起了小型的三人软件开发团队,大家目前分工已经明确。现阶段需要根据自身情况继续巩固加强自身能力,在以后的团队合作之中充分发挥各自的优点,使得实现1+1>2的效果,期待大家在项目学习中不断成长!
米乐文
 在完成本次作业的过程中,小组成员分工合作,将实验二的各项任务进行分配,每个人完成一部分,我充分的感觉到了团队合作的重要性和及时沟通的必要性。在此过程中,我们会有意见的分歧,会有小小的摩擦,但是最终都通过不断地交流与合作成功的解决问题。
宋晔婷
 初步组建三人研发团队且分工明确,通过完成阅读任务理解了团队的软件开发过程及注意事项,大家相辅相成,每个人都有自己的编程开发特色,前后端技术结合,有利于完成软件项目的技术开发。但我们缺乏团队合作经验,希望能在这次团队项目中积累经验,提高个人的编程水平。

以上是关于天天向上队 实验二:软件研发团队组建的主要内容,如果未能解决你的问题,请参考以下文章

202309-发际线与你们作队 实验三:软件项目案例分析(团队作业)

实验

三件软件作品评价

王晋中博士

小皮皮队再谈软件工程

全球领先的自动驾驶技术团队,等你加入!