软件工程第一次作业

软件工程第一次作业

项目 内容
这个作业属于哪个课程 课程社区
这个作业的要求在哪里 作业要求
我在这个课程的目标是 学习软件工程
这个作业在哪个具体方面帮助我实现目标 阅读《构建之法》,了解软件工程主要内容

问题1:当结对二人水平有一定差距时结对编程是否不如水平较高者单独编程?

第三章结对编程和二人合作

原文

在结对编程中,任何一段代码都至少被两双眼睛看过,两个脑袋思考过。代码被不断地复审,这样可以避免牛仔式的编程。同时,结对编程避免了“我的代码”还是“他的代码”的问题,使得代码的责任不属于某个人,而是属于两个人,进而属于整个团队,这样能够帮助建立集体拥有代码的意识,在一定程度上避免了个人英雄主义。

结对编程的过程也是一个互相督促的过程,每个人的一举一动都在别人的视线之内,所有的想法都要受到对方的评价。由于这种督促的压力,使得程序员更认真地工作。结对编程“迫使”程序员必须频繁地交流,而且要提高自己的技术能力以免被别人小看。

如果结对两人中某一人的水平比另一人差很多,他是否会因为自卑而在自己编程的时候因为压力过大而束手束脚,并且因为代码的责任不只属于他,那他是否会滥竽充数,在作驾驶员时出工不出力,作领航员时随意监督,导致相同工作时间的产出不如另一人单独编程高。

问题2:如何选择团队模式与团队开发模式?

第四章团队和流程

在这一章中提到了非常多种的团队模式和团队开发模式。例如团队模式有功能开发模式和官僚模式,面对不同需求的项目不同团队模式的团队开发效率肯定也是不一样的,那我们该怎么样去判断应该才需什么样得团队模式与团队开发模式呢。

问题3:如何在团队中选拔出PM,如何培养PM?

第五章团队中的角色与合作

原文

在一个项目中, PM 的具体任务是什么呢?

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

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

创建并维护软件的功能说明书 (specification), 让它成为开发/测试的及时准确的指导, 而不是障碍。

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

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

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

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

PM负责非常多的任务,也需要很多维度的能力,在临时组成的一个团队中,怎么样才能找出适合做这个职位的人呢,在职业规划中,那些希望先做几年开发进而转管理岗的人又应该如何培养自己来达到PM的能力要求呢

问题4:不同的用户调研方式有着不同的优点与缺点,我们如何选择调研方式组合能较充分且高效率的了解用户的真实需求?

第六章用户调研

1) 焦点小组 (Focus Group)
    找到一群目标用户的代表来讨论用户想要什么, 用户对软件的评价等等。 焦点小组是很常用的调研方法,它也有一些弱点:
    一群人在一起,往往大家会出于讨好其他人的心理来发表意见,避免不一致的意见或冲突。
    讨论者对于他们不熟悉的事物 (例如颠覆式的创新) 不能表达有价值的想法 - 在汽车出现之前, 我们找一帮马车夫来畅想 “未来的交通工具”, 他们未必会贡献很有价值的想法。
    讨论的人群容易受到主持人有意或无意的影响。
    研究者往往从不同意见中挑选最符合自己想法的哪些,然后号称这就是大家的共识。
2) 深入面谈 (in-depth interview)
    通过详细的面谈,广泛而深入地了解用户的背景,心理,需求等。这通常是一对一的采访。这个方法好是好, 就是费人费时。
3) 卡片分类 (Card Sorting)
    列出所希望的软件有什么样的特点, 然后把这些特点归类。在微软亚洲研究院的时候,我们也曾做过“卡片排序” - 几个不同背景的人聚在一起, 想象新软件有什么特点, 能解决自己的什么痛苦, 或者有什么好玩的地方, 把这些特点都写在小卡片上, 一个主持人再把不同的卡片归类, 讨论, 进一步理清各种愿望的关系。 从某种意义上来说, 这些卡片就是量化了的焦点小组的意见,这些卡片经过归类/排序/定义等过程, 可以帮助我们更好地定义一个软件的信息架构,用户的工作流程,软件菜单结构,网站的浏览路径,各种内容的层次关系等。
4) 用户调查问卷 (User Survey)
    给用户事先规定好的问题, 让用户回答。 我们在大街上碰到过不少,有时候你在浏览某个网站的时候,一个弹窗打断了你的思路,它请你回答几个问题。我们用户在回答这类问题的时候,是否心不在焉,乱点一气? 
......

在这一章中介绍了很多不同的调研方法以及它们的优缺点,既然每种方法都有着明显的优缺点,那么只用单一的一种方法能了解到的用户需求肯定是比较片面的,那我们怎样才能高效率的通过组合不同的用户调研方式来了解用户的振实需求呢?

问题5:当团队中两人负责的功能模块差别很大时,如何评定绩效?

第十章绩效管理

在这一章中提到的有工作量、工作的影响力、工作的不可替代性、效率、犯错率等评估指标。但当两人负责的工作差别很大,并且需要学习成本时,对于大相径庭的两个工作,如何评价出贡献度的多少,更进一步,假如整个团队都是这种情况,那应该如何规范奖惩机制呢。

posted @ 2023-03-19 00:53  silhouette-  阅读(11)  评论(0编辑  收藏  举报