提问回顾

学期初疑问回答

学期初疑问博客

教材中说,PM在衡量需求时需要方方面面的能力与研究。可是,当下许多互联网IT公司只承担外包业务,即客户给什么需求就实现什么需求,甚至可能不要求其它先进的功能。此时,开发团队还需要一个全能的PM吗?

这个问题,感觉自己提的还是比较nice的。经过了一个学期的软工课程,在团队项目的两轮迭代中,我充分感觉到了PM的重要性。PM首先必须对需求非常了解,对技术有一定的掌握,这使得他可以成为团队的中枢神经。对于提出的外包业务问题,如果按部就班完成所有客户规定死的功能,或许只要求团队的技术高就好,此时PM的作用只是在于管理;更一般的情况下客户寻求软件团队都是为了占有市场、推广自己的产品,因此PM不仅仅在管理这个团队,还要为整个项目做布局。这就是一个全能PM必不可少的品质,一个团队也不能缺少这么一个神经中枢。

我们都知道,客户的需求变化是极其随机且难以预测的。软件工程要求开发团队在coding之前做足准备工作以更好地处理这些需求变动,然而计划赶不上变化快(“神秘的程序员们”一篇漫画有提到),我想知道,当下企业中遇到这种情况是选择重构(能高效实现需求,但耗时耗力)多、还是选择补丁(这么说不准确,能省时省力实现,但增加了负载,效率不高)、还是因为变动过大而放弃项目?

好像通过这个学期的课程,我并不能很深的了解到。但就我们的团队项目来说,我们经历了一次重构,原因在于原有框架和语言团队不熟悉,导致在之上进行改进难度陡增,所以我们组的PM进行了重构。事实证明,重构有一定的好处,但是并不是一劳永逸的解决方法。重构意味着从头开始重新处理所有问题,我们并不十分清楚原框架下的开发过程中遇到了哪些问题。因此,我认为,只有在实在无法容忍的情况下,再进行重构,但这之前一定要进行充分的可行性论证。

“用户需要帮助,但用户没有这么笨。”, “用户需要帮助,需要很多帮助。” 对于上述两种情况开发团队如何对其进行界定?

关键在于看软件的需求与定位明确与否。用户是软件的使用者,软件的需求分析文档中典型用户应该包括了所有软件主要针对的使用者群体。开发团队只需要从典型用户中进行分析,即可针对用户体验进行优化。而软件团队的产品经理除了与团队一同分析典型用户外,还要在开发的同时尽可能去得到一些相关反馈。软件团队对用户体验优化的重要途径在于接收真实用户的反馈与评价。

软件的设计文档是否从需求至实现进行了全部设计?软件设计文档是否规定了每一个类、每一个函数的参功能、参数、返回值,但不涉及到函数的实现?可是,实现过程中一定会出现意料之外的情况,设计可能也随之改变,请问怎样的设计文档才算作合格或优秀的设计文档?

这个问题我还真的不知道答案,希望得到老师或者助教的解答。

哲学家的宗旨是:我思,故我在;科学家的宗旨是:我发现,故我在;工程师的宗旨是:我构建,故我在。工程师在构建的过程中,是否受科学家、哲学家思想引领与指挥?灵感来源于生活,来源于一切事物,工程师除了构建,其他方面(如其它学科领域、人文、艺术、哲学等)的涉猎与接触是否对工程师的构建有帮助?

我的想法是,是有帮助作用的。工程师虽然工作时接触的都是工程领域相关的内容,但是其无论作为整体还是整体的一部分都是要应用于实际生活的。作用于实际生活的事物必然来源于实际生活。软件工程是一门艺术,他的方法论其实是将人们日常协作处理事物的方法改进、映射到软件工程领域,所以其实从本质上来看,它和其他学科、人文、艺术、哲学都是相通的。

各阶段学到的知识点

  • 需求:学会了通过NABCD模型进行需求分析的方法,Need Approach Benefit Competitor Delivery
  • 设计:进行系统总体架构设计时需要综合考虑需求与实现成本,进行局部实现细节设计时应综合考虑重点需求与用户体验
  • 实现:实现应该在设计完成并经过多次商议通过之后再进行实现,实现(scrum)期间,实现方法与思路不能再改变。所以本质上只是一个自然语言转化为机器语言的过程,重中之重都在设计上了
  • 测试:担任了两轮迭代的测试工作,首先明白了测试的基本流程,测试内容;其次,测试应该边开发边测试边反馈问题;还有就是测试工具的操作与运用
  • 发布:发布前测试应该做好,根据不同情况决定是否携带bug发布。发布过程中一定要注意收集各个方面的用户反馈,如用户体验、用户更高层次的需求等
  • 维护:需要使用一定的维护工具,如针对数据库要做好定期备份、服务器要检查负载情况等等

[BUAA_SE_2017]提问回顾的更多相关文章

  1. [BUAA 软工]提问回顾与个人总结

    项目 内容 这个作业属于哪个课程 北航软工 这个作业的要求在哪里 提问回顾与个人总结 我在这个课程的目标是 学习如何以团队的形式开发软件,提升个人软件开发能力 这个作业在哪个具体方面帮助我实现目标 督 ...

  2. [BUAA软工]提问回顾与个人总结

    提问回顾与个人总结 项目 内容 所属课程 2019春季计算机学院软件工程(任健) 所属作业 提问回顾与问题总结 课程目标 理解软件工程的作用和重要性,提升工程能力,团队协作能力 作业目标 回顾软工课程 ...

  3. SE_WorkX_提问回顾与个人总结

    项目 内容 课程:北航-2020-春-软件工程 博客园班级博客 要求:正所谓"实践是认识的来源.目的.动力以及检验认识真理性的唯一标准",在经历了一个学期的学习和实践后,请大家写一 ...

  4. BUAA SE | 提问回顾与个人总结

    项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 提问回顾与个人总结 我在这个课程的目标是 深入理解软件工程 这个作业在哪个具体方面帮助我实现目标 ...

  5. BUAA_2020_软件工程_提问回顾与总结

    项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任建) 这个作业的要求在哪里 提问回顾与总结作业要求 我在这个课程的目标 了解软件工程的技术,掌握工程化开发的能力 这个作业在哪 ...

  6. 2020BUAA软工提问回顾和个人总结作业

    2020BUAA软工提问回顾和个人总结作业 17373010 杜博玮 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 提问回顾和个人总结作业 我在 ...

  7. BUAA 2020 软件工程 提问回顾与个人总结

    BUAA 2020 软件工程 提问回顾与个人总结 Author: 17373051 郭骏 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 提问回顾 ...

  8. BUAA2020软工作业——提问回顾与个人总结

    项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 提问回顾与个人总结 我在这个课程的目标是 进一步提高自己的编码能力,工程能力 这个作业在哪个具体方 ...

  9. 【BUAA软工】提问回顾与个人总结

    链接到以前提问题的博客 在之前的博客我曾经提问过以下几个问题 为什么单元测试必须由写程序的人完成? 过早优化,过早泛华:何时为过早? 为何使用goto语句? 用户需求分析:分而治之,如何分? 兼容性测 ...

随机推荐

  1. JavaWeb基础—JSP自定义标签入门

    自定义标签的作用:替换JSP页面的java代码 步骤:1.标签处理类(标签是一个对象,那也就需要先有类) 2.tld文件 它是一个xml(可以向c标签里借),一般放到WEB-INF下,不让客户端浏览器 ...

  2. mysql存储过程批量插入数据

    DROP TABLE IF EXISTS TeachersInfo; CREATE TABLE TeachersInfo ( id INT NOT NULL AUTO_INCREMENT, teach ...

  3. Noip前的大抱佛脚----奇技淫巧

    STL函数 set set查找前驱后继 multiset<int>::iterator iter; S.insert(x); iter=S.find(x);//返回迭代器 iter--;/ ...

  4. 2_C语言中的数据类型 (六)浮点数

    1.1       浮点float,double,long double类型 1.1.1          浮点常量,变量 Float在32位系统下是4个字节,double在32位系统下是8个字节 小 ...

  5. 「专题训练」Collecting Bugs(POJ-2096)

    题意与分析 题意大致是这样的:给定一个\(n\times s\)的矩阵,每次可以随机的在这个矩阵内给一个格子染色(染过色的仍然可能被选中),问每一行和每一列都有格子被染色的次数的期望. 这题如果从概率 ...

  6. Linux下的man page使用守则

    文章链接:https://blog.csdn.net/qq_38646470/article/details/80147650

  7. Jmeter中正则表达式提取器

    在使用Jmeter过程中,会经常使用到正则表达式提取器提取器,虽然并不直接涉及到请求的测试,但是对于数据的传递起着很大的作用,本篇博文就是主要讲解关于正则表达式及其在Jmeter的Sampler中的调 ...

  8. Memached、Redis、Mongodb的区别

    性能 ​ • 性能都很高,redis和memached差不多 > Mongodb 操作 ​ • Memached:数据结构单一,只有key/value数据结构 ​ • Redis有五种数据类型 ...

  9. PKCS#7

    1.名词解释 数字签名:在ISO7498-2标准中定义为:"附加在数据单元上的一些数据,或是对数据单元所作的密码变换,这种数据和变换允许数据单元的接收者用以确认数据单元来源和数据单元的完整性 ...

  10. 树莓派操控SG90舵机

    目录 舵机接线 PWM介绍 使用PWM控制舵机 这里使用树莓派来操作sg90的舵机.先看一下这个舵机的样子: 这就是传说中的SG90舵机啦,转角是0-180. SG90舵机接线: SG90舵机有三条线 ...