人民当家作组 实验二:软件研发团队组建(团队作业)
项目 | 内容 |
---|---|
课程班级博客链接 | 2020级卓越工程师班 |
这个作业要求链接 | 实验二 软件研发团队组建 |
团队名称 | 人民当家作组 |
团队的课程学习目标 | (1)组建项目研发团队 (2)形成团队合作意识,提高协作能力 (3)熟悉软件开发所需的各项工作和流程 |
这个作业在哪些方面帮助团队实现学习目标 | (1)促进了各成员之间的相互学习和交流 (2)通过阅读学习《现代软件工程—构建之法》第5、6、9章内容,对团队开发过程有了更深的了解和认识。 |
团队博客链接 | 人民当家作组 |
任务1:组建软件项目研发团队
1.队名:人民当家作组
2.团队成员组成:
成员学号 | 成员姓名 | 个人博客地址 | 备注 |
---|---|---|---|
202031603143 | 郭思彤 | 郭思彤博客地址 | PM |
202031607333 | 美合日阿依 | 美合日阿依·麦麦提敏博客地址 | |
202031607121 | 古丽努尔 | 古丽努尔·开萨尔博客地址 |
3.成员风采:
成员 | 风格 | 擅长技术 | 编程兴趣 | 软工角色 | 宣言 |
---|---|---|---|---|---|
郭思彤 | 思维敏捷 | C、Java | 软件开发 | 开发,PM | 努力努力再努力 |
美合日阿依·麦麦提敏 | 认真谨慎 | C | 前端 | 文档 | 做颗星星,有棱有角,还会发光 |
古丽努尔·开萨尔 | 善于思考 | web前端 | 系统开发 | 测试,文档 | 细致,耐心,认真负责 |
4.团队企业微信群展示:
5.团队特色描述:
目标清晰:对所要达到的目标有清楚的理解,各成员清楚自己要做什么工作。
善于沟通:遇到问题或是意见有分歧时,及时提出来,共同解决问题。
共同进步:各队员之间相互学习和交流,互帮互助。
任务2: 申请开通团队博客
已完成团队博客开通,团队博客地址为人民当家作组
任务3: 阅读《现代软件工程—构建之法》第5、6、9章内容,总结以下概念与问题:
1.团队软件过程(Team Software Process,TSP)
通过TSP,一个组织能够建立起自我管理的团队来计划追踪他们的工作、建立目标,并拥有自己的过程和计划。这些团队可以是纯粹的软件开发团队,也可以是集成产品的团队,规模可以从3到20个工程师不等。TSP团队在广泛领域里可能运用XP、RUP或其它方法。TSP使具备PSP的工程人员组成的团队能够学习并取得成功。
2.理解TSP原则
TSP原则抽象总结了优秀的模式和流程的共同点。
-
使用妥善定义的流程,流程中的每一步都是可以重复、可以衡量结果的。
-
团队的各个成员对团队的目标,角色,产品都有统一的理解。
-
尽量使用成熟的技术和做法。
-
尽量多的收集数据,并用数据来帮助团队做出理性的决定。
-
制定切合实际的计划和承诺,团队计划要有负责具体执行的角色来制定。
-
增加团队的自我管理能力。
-
专注于提高质量,争取在软件生命周期的早期发现问题。最有效提高质量的办法是做全面而细致的设计工作。
3. 敏捷开发的原则
-
尽早并持续地交付有价值的软件以满足顾客需求
-
敏捷流程欢迎需求的变化,并利用这些变化来提高用户的竞争优势
-
经常发布可用的软件,发布间隔可以从几周到几个月,能短则短
-
业务人员和开发人员在项目开发过程中应该每天共同工作
-
以有进取心的人为项目核心,充分支持信任他们
-
无论团队内外,面对面的交流始终是最有效的沟通方式
-
可用的软件是衡量项目进展的主要指标
-
敏捷流程应能保持可持续的发展。领导、团队和用户应该能按照目前的步调持续合作下去
-
只有不断关注技术和设计,才能越来越敏捷
-
保持简明——尽可能简化工作量的技艺
-
只有能自我管理的团队才能创造优秀的架构、需求和设计
-
时时总结如何提高团队效率并付诸行动
4.Scrum敏捷流程
不同于瀑布模型将开发过程划分为需求、设计、编码、测试等阶段,Scrum将整个开发过程分为多次迭代(称为Sprint,冲刺),一般为期2~4周,最常见的为2周。Scrum并非以一段时间集中完成一个过程,而是将所有过程中必须的每一部分集中在这段时间内完成。需求、设计、编码、测试、上线都必须在一个迭代中完成,每个迭代必须产生一个可以工作的软件。
5. 团队项目经理(Product Manager,PM)的职责
软件团队里除了能写代码、测试代码和画图做设计的成员,还有一类角色,不做上面这些事情但也很重要,我们叫他们项目经理——PM
PM的M就是Manager,但是P有这几种:Product Manager、Project Manager、Program Manager,在不同的行业和公司,他们的作用各不相同。接下来介绍的是项目经理——Program Manager
Product Manager:产品经理——正确地做产品
Project Manager:项目经理——正确地做流程
Program Manager:微软的职位名称
微软产品团队三足鼎立的角色分配就是PM、开发、测试。PM负责除产品开发和测试之外的所有事情。从某种意义上说,是前面两种角色的综合。微软通常有专门的产品策划(Product Planner),他们和市场部门的专职人员一起,负责产品的长期发展和市场推广
PM 的职责要求和任务
职责要求:
- 观察、理解和快速学习能力——PM要能够在一个新的领域中很快上手
- 分析管理能力
每天项目中发生的事情千头万绪,PM要能够分析出重点,找到优先级,做判断、做决定……一个项目和一个人一样,每天都会碰到各种问题 - 一定的专业能力
如果一定要说专业能力的话,PM的专业就是理解和表达,你能否理解不同人的心理、需求和言外之意?你能否借助文字、图表、草图,甚至代码来清晰准确地表达自己的想法?PM通常也能写代码,能玩转Excel、PPT、Visio、甘特图,会PS,有文字功底,写的博客有人爱读,反正,总得有几招绝活吧!不用说还要有大量的阅读,对IT行业、用户心理、社会都要有广泛的了解 - 自省的能力
一个PM做第一个项目时可以拍脑袋定工期,拍胸脯打包票,最后拍屁股走人(谁没年轻过呢),但是失败之后要有自省和自我改进的能力。
记录完成《实验二:软件研发团队组建(团队作业)》各项任务花费的时间:
任务 | 花费时间(min) |
---|---|
组建团队 | 5 |
组建团队企业微信群 | 2 |
开通团队博客 | 15 |
阅读《现代软件工程—构建之法》 | 100 |
完成任务3 | 120 |
博客撰写 | 100 |
团队各位成员谈谈完成本次作业的感受和体会:
郭思彤:
这次实验中,通过对《现代软件工程—构建之法》的阅读,使我明白了PM的职责,以及团队软件过程的重要性,身为这个小组的PM,我要带领这个小组向前,我要承担起自己的责任,为大家在将来的职场做一个良好的基础准备,希望我能同我的组员们共同努力,铸造出一个使大家都满意的结果
美合日阿依·麦麦提敏:
通过完成本次团队作业,我明确了团队软件开发的各项流程合工作,为后续的软件开发打下基础;深刻体会到在团队协作中只有分工明确,各司其职才能达到更好的效果,团队各成员要有责任心合团队意识,做到顾全大局,不拖后腿。
古丽努尔·开萨尔:
通过这次实验再次感受到了团队合作的重要性,了解了团队成员擅长的技术和编程兴趣,发现团队成员的配合和任务划分直接影响作业质量,所以成员的相互交流配合很重要的。阅读《现代软件工程—构建之法》了解了关于团队软件过程和敏捷开发的一些知识。希望以后的学习当中跟团队成员更好的协作,互相弥补,提高专业能力。