[BUAA_SE_2017]提问回顾
提问回顾
学期初疑问回答
教材中说,PM在衡量需求时需要方方面面的能力与研究。可是,当下许多互联网IT公司只承担外包业务,即客户给什么需求就实现什么需求,甚至可能不要求其它先进的功能。此时,开发团队还需要一个全能的PM吗?
这个问题,感觉自己提的还是比较nice的。经过了一个学期的软工课程,在团队项目的两轮迭代中,我充分感觉到了PM的重要性。PM首先必须对需求非常了解,对技术有一定的掌握,这使得他可以成为团队的中枢神经。对于提出的外包业务问题,如果按部就班完成所有客户规定死的功能,或许只要求团队的技术高就好,此时PM的作用只是在于管理;更一般的情况下客户寻求软件团队都是为了占有市场、推广自己的产品,因此PM不仅仅在管理这个团队,还要为整个项目做布局。这就是一个全能PM必不可少的品质,一个团队也不能缺少这么一个神经中枢。
我们都知道,客户的需求变化是极其随机且难以预测的。软件工程要求开发团队在coding之前做足准备工作以更好地处理这些需求变动,然而计划赶不上变化快(“神秘的程序员们”一篇漫画有提到),我想知道,当下企业中遇到这种情况是选择重构(能高效实现需求,但耗时耗力)多、还是选择补丁(这么说不准确,能省时省力实现,但增加了负载,效率不高)、还是因为变动过大而放弃项目?
好像通过这个学期的课程,我并不能很深的了解到。但就我们的团队项目来说,我们经历了一次重构,原因在于原有框架和语言团队不熟悉,导致在之上进行改进难度陡增,所以我们组的PM进行了重构。事实证明,重构有一定的好处,但是并不是一劳永逸的解决方法。重构意味着从头开始重新处理所有问题,我们并不十分清楚原框架下的开发过程中遇到了哪些问题。因此,我认为,只有在实在无法容忍的情况下,再进行重构,但这之前一定要进行充分的可行性论证。
“用户需要帮助,但用户没有这么笨。”, “用户需要帮助,需要很多帮助。” 对于上述两种情况开发团队如何对其进行界定?
关键在于看软件的需求与定位明确与否。用户是软件的使用者,软件的需求分析文档中典型用户应该包括了所有软件主要针对的使用者群体。开发团队只需要从典型用户中进行分析,即可针对用户体验进行优化。而软件团队的产品经理除了与团队一同分析典型用户外,还要在开发的同时尽可能去得到一些相关反馈。软件团队对用户体验优化的重要途径在于接收真实用户的反馈与评价。
软件的设计文档是否从需求至实现进行了全部设计?软件设计文档是否规定了每一个类、每一个函数的参功能、参数、返回值,但不涉及到函数的实现?可是,实现过程中一定会出现意料之外的情况,设计可能也随之改变,请问怎样的设计文档才算作合格或优秀的设计文档?
这个问题我还真的不知道答案,希望得到老师或者助教的解答。
哲学家的宗旨是:我思,故我在;科学家的宗旨是:我发现,故我在;工程师的宗旨是:我构建,故我在。工程师在构建的过程中,是否受科学家、哲学家思想引领与指挥?灵感来源于生活,来源于一切事物,工程师除了构建,其他方面(如其它学科领域、人文、艺术、哲学等)的涉猎与接触是否对工程师的构建有帮助?
我的想法是,是有帮助作用的。工程师虽然工作时接触的都是工程领域相关的内容,但是其无论作为整体还是整体的一部分都是要应用于实际生活的。作用于实际生活的事物必然来源于实际生活。软件工程是一门艺术,他的方法论其实是将人们日常协作处理事物的方法改进、映射到软件工程领域,所以其实从本质上来看,它和其他学科、人文、艺术、哲学都是相通的。
各阶段学到的知识点
- 需求:学会了通过NABCD模型进行需求分析的方法,Need Approach Benefit Competitor Delivery
- 设计:进行系统总体架构设计时需要综合考虑需求与实现成本,进行局部实现细节设计时应综合考虑重点需求与用户体验
- 实现:实现应该在设计完成并经过多次商议通过之后再进行实现,实现(scrum)期间,实现方法与思路不能再改变。所以本质上只是一个自然语言转化为机器语言的过程,重中之重都在设计上了
- 测试:担任了两轮迭代的测试工作,首先明白了测试的基本流程,测试内容;其次,测试应该边开发边测试边反馈问题;还有就是测试工具的操作与运用
- 发布:发布前测试应该做好,根据不同情况决定是否携带bug发布。发布过程中一定要注意收集各个方面的用户反馈,如用户体验、用户更高层次的需求等
- 维护:需要使用一定的维护工具,如针对数据库要做好定期备份、服务器要检查负载情况等等
[BUAA_SE_2017]提问回顾的更多相关文章
- [BUAA 软工]提问回顾与个人总结
项目 内容 这个作业属于哪个课程 北航软工 这个作业的要求在哪里 提问回顾与个人总结 我在这个课程的目标是 学习如何以团队的形式开发软件,提升个人软件开发能力 这个作业在哪个具体方面帮助我实现目标 督 ...
- [BUAA软工]提问回顾与个人总结
提问回顾与个人总结 项目 内容 所属课程 2019春季计算机学院软件工程(任健) 所属作业 提问回顾与问题总结 课程目标 理解软件工程的作用和重要性,提升工程能力,团队协作能力 作业目标 回顾软工课程 ...
- SE_WorkX_提问回顾与个人总结
项目 内容 课程:北航-2020-春-软件工程 博客园班级博客 要求:正所谓"实践是认识的来源.目的.动力以及检验认识真理性的唯一标准",在经历了一个学期的学习和实践后,请大家写一 ...
- BUAA SE | 提问回顾与个人总结
项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 提问回顾与个人总结 我在这个课程的目标是 深入理解软件工程 这个作业在哪个具体方面帮助我实现目标 ...
- BUAA_2020_软件工程_提问回顾与总结
项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任建) 这个作业的要求在哪里 提问回顾与总结作业要求 我在这个课程的目标 了解软件工程的技术,掌握工程化开发的能力 这个作业在哪 ...
- 2020BUAA软工提问回顾和个人总结作业
2020BUAA软工提问回顾和个人总结作业 17373010 杜博玮 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 提问回顾和个人总结作业 我在 ...
- BUAA 2020 软件工程 提问回顾与个人总结
BUAA 2020 软件工程 提问回顾与个人总结 Author: 17373051 郭骏 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 提问回顾 ...
- BUAA2020软工作业——提问回顾与个人总结
项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 提问回顾与个人总结 我在这个课程的目标是 进一步提高自己的编码能力,工程能力 这个作业在哪个具体方 ...
- 【BUAA软工】提问回顾与个人总结
链接到以前提问题的博客 在之前的博客我曾经提问过以下几个问题 为什么单元测试必须由写程序的人完成? 过早优化,过早泛华:何时为过早? 为何使用goto语句? 用户需求分析:分而治之,如何分? 兼容性测 ...
随机推荐
- Git 解决添加到.gitignore的忽略项不生效的问题
今天又在.gitignore添加了一些忽略项,但是后来发现一些东西命名配置了忽略项却还是没起作用,so,分析原因,可能是在我添加忽略项之前,因为这些文件就早已经被提交了,所有他们已经在版本控制中,导致 ...
- 【oracle】oracle常用命令汇总
查看数据库状态(普通用户登录要保证数据库是open状态) SQL> select status from v$instance; 创建用户(新用户需要授予连接权限才能连上数据库) SQL> ...
- How to implement a custom PropertyEditor so that it supports Appearance rules provided by the ConditionalAppearance module
https://www.devexpress.com/Support/Center/Question/Details/T505528/how-to-implement-a-custom-propert ...
- ThreeJS实现波纹粒子效果
今天我们来用ThreeJS的库实现一个波纹粒子效果,我们用到的ThreeJS的库有CanvasRenderer.js,OrbitControls.js,Projector.js,stats.min.j ...
- Docker Manager for Docker Swarm deploy
一.Swarm概述 Swarm是Docker公司在2014年12月初发布的一套较为简单的工具,用来管理Docker集群,它将一群Docker宿主机变成一个单一的,虚拟的主机.Swarm使用标准的Doc ...
- jmeter阶梯加压线程组
添加阶梯加压线程组路径为鼠标捕获测试计划后,点击鼠标右键->添加->Threads(Users)->jp@gc – Stepping Thread Group(deprecated) ...
- VGGnet——从TFrecords制作到网络训练
作为一个小白中的小白,多折腾总是有好处的,看了入门书和往上一些教程,很多TF的教程都是从MNIST数据集入手教小白入TF的大门,都是直接import MNIST,然后直接构建网络,定义loss和opt ...
- Datawhale MySQL 训练营 Task5
数据导入导出 导入table http://www.runoob.com/mysql/mysql-database-import.html 导出table http://www.runoob.com/ ...
- 会了这十种Python优雅的写法,让你工作效率翻十倍,一人顶十人用!
我们都知道,Python 的设计哲学是「优雅」.「明确」.「简单」.这也许很多人选择 Python 的原因.但是我收到有些伙伴反馈,他写的 Python 并不优雅,甚至很臃肿,那可能是你的姿势不对 ...
- ats缓存规则
一. 用户访问过程:1. ats收到一个用户对web对象的请求;2. 使用该地址, ats尝试着在其对象数据库(缓存)中用被请求对象的地址来定位该对象;3. 如果对象在缓存中, ats会检查该对象是否 ...