这个作业的要求是:https://bbs.csdn.net/topics/608340750.
问题一:(尝试回答)
在阅读了教材第二章的2.3个人开发流程后,我了解是有PSP这个开发的方法论的,但是对于:PSP的具体的概念和作用还是有些疑问。
资料: http://t.csdn.cn/lqr9a 了解了以下说法:
1.个人软件过程(Personal Software Process,PSP)是一种可用于控制、管理和改进个人工作方式的自我持续改进过程,是一个包括软件开发表格、指南和规程的结构化框架。
2.psp的主要作用有:PSP能够说明个体软件过程的原则;确定软件工程师为改善产品质量要采取的步骤;帮助软件工程师作出准确的计划;建立度量个体软件过程改善的基准;确定过程的改变对软件工程师能力的影响。
根据资料的相关解释我有了以下的观点:
PSP对于软件工程师而言是一个很好的可以规范程序员的流程,在程序员使用PSP的前提下可以很好的规划自己对软件的时间管理,能提高程序员自身的编程效率,能让自身制定好较好的产品计划去完成自己的开发任务。PSP对于程序员来说是一个必须养成的习惯来提高自己的软件过程管理,从而提升软件的质量和更好的排除软件的缺陷。
问题二:
在阅读了第五章的5.2后,我知道了很多软件团队的模式。其中的5.2.10官僚模式中的康威规律引起了我的思考:一个机构的内部交流模式对最后的软件质量会有决定性的影响吗?
(康威规律:一个机构设计出来的系统,它的体系结构注定会沿用这个机构的内部交流模式。)
http://t.csdn.cn/tnAVe知道了下面的例子:
1.“阿里的组织架构和沟通机制就非常职业化和政治化,你在钉钉上截图,会带上你自己的名字和手机号码,这与阿里员工截屏会打水印是一样一样的。阿里的产品架构都非常严谨,中规中矩,先顶层设计,后逐步细化。阿里善于学习、总结、提炼,所以阿里去SuperCell学习,回来就把中台吸纳、提升为中台概念。”
2.“腾讯的组织架构和沟通机制就很有意思,小马哥天天在内网跟一帮人探讨产品,据说邮件都是秒回。所以QQ、微信都很成功,但是企业微信就被无数人吐槽。腾讯的组织架构就比较散,以IEG事业群为例,下面有4大工作室,天美、北极光、魔方和光子。像盛极一时的王者荣耀,就是在这种松散的组织架构中被组装起来的其中一个案例。所以腾讯把SuperCell收购了之后,依然是独立管理,继续做游戏。”
目前我还没有开发的经验所以对这个定律的正确性还没办法验证。但是我知道一个软件的形成是用十分复杂和严谨的过程,而且人与人的交流在这个过程中也是起决定性要素的。既然如此官僚模式下的开发会成为“老板驱动”的开发流程,就失去了为用户解决实际问题的初衷。所以我认为一个机构的内部交流模式对最后的软件质量会有决定性的影响。
问题三:
在阅读了第四章的4.5结对编程后,既然程序的质量取决于一对程序员中各方面水平都高的那一位,那还有必要结对编程吗?刚进公司的培训、老带新也算结对编程吗?
资料:结对编程 - 知乎
提高效率 Or 增加成本,开发人员应如何理解结对编程?知道了结对编程的一些说法:
1.根据“乔哈里视窗(沟通视窗)”的理论,在实际工作和人际交往中,共同的开放区越多,沟通起来也就越便利,越不易产生误会。当我们向别人扩大我们的公开象限时,就会更多的和对方建立良好的关系,结对编程便是很好的一种沟通形式。
2.在国内还有一种大家结对的方式是“老带新”,一个老员工带一个新人,这种其实不是严格意义上的结对编程,算是新人培养的一种形式。这样结对,就会出现一言堂的现象,失去了结对本身的意义。
在结对编程中可以进行随时的复审和交流,这样就会避免一个人独立开发时经常犯的错误,不断地交流沟通,水平较低的一方会潜移默化地受水平略高的程序员影响,学到一些新的东西。而水平高的一方同样因为不断地把自己的想法说出来而整理了自己的思路。在适当的条件下,可以选择结对编程,可以提高程序员的工作效率。
问题四:在阅读了第六章6.2敏捷流程的问题和解法和第十五章15.1.6招数:砍掉功能中提到的“沉没成本”有疑问。如果团队确实对这个任务付出了很多,因为时间原因一定要删掉这个部分吗?
资料:https://www.jianshu.com/p/45969a97265f
沉没成本,是指已经付出且不可回收的成本,现实中可以是已经花出去的金钱、等待的时间甚至付出的感情。沉没成本不能独自对于用户的决定起到作用,往往和用户损失规避心理一起影响着用户的行为。既然如此,如果对于软件来说这个功能是锦上添花的,在时间不足的情况下,可以选择放弃。但若是软件的核心功能,那么在软件一开始的设计以及开发中就没考虑到这个问题,会影响到最后的质量。
问题五:在阅读了第十三章软件测试后,我了解了一系列的测试方法,不知道在实际的开发流程中,测试所占的比重,以及在实际开发中真的要系统的完成所有的测试之后,软件才能发布吗?
2021软件测试行业现状及市场前景规模分析 - 51Testing软件测试网我了解了以下事例:
1. 在软件业较发达的国家,软件测试产业已形成规模,比较发达,软件测试不仅早已成为软件开发的一个重要组成部分,而且在整个软件开发的系统工程中占据着相当大的比重。在微软公司内部,软件测试人员与软件开发人员的比例一般为1.5∶1到2.5∶1左右,即一个开发人员背后,有至少两位测试人员在工作,以保证软件产品的质量1。国外优秀的软件开发机构把40%的工作花在软件测试上,软件测试费用占软件开发总费用的30%至50%,对于一些要求高可靠性、高安全性的软件,测试费用甚至相当于整个软件项目开发所有费用的3至5倍。
2.近年来中国软件测试行业市场规模稳定增长,2019年,全国软件和信息技术服务业规模以上企业已经超过4万家,累计完成软件业务收入71768亿元,市场规模达到1686亿元,同比增长18.3%。软件市场的快速发展带动软件测试需求的高速增长,因此,软件测试行业具备广阔的发展空间。
近年来,政府部门相继颁布了多项政策,那么政策的支持就为软件测试行业的发展提供了良好的政策基础。这一从侧面说明了测试的重要性。在实际的开发流程中我们也要早点介入测试,早点了解,就可以早点解决问题。