创新的时机跟黄金点游戏有关联吗?我看了《创新的时机 – 黄金点游戏》这篇博文,博文中邹老师谈到了黄金点游戏以及对这个游戏的几点领悟,但是我觉得跟创新的时机没什么关系。关于时机,“只先一步”部分有这样一段话:“那些成功的企业只是比大众的平均值先走了一小步(平均值 * 0.618), 就是这一小步, 让大部分人看到了产品的“相对优势”从而接受产品。关于技术创新, 一些趋势(例如社会网络),大家早就看到了, 也有一些产品推出, 但是往往最后成功的产品成功在时机上。”,“Technology Hype Cycle”部分也提到:“说到时机, 任何新技术都有一个自身发展的规律,Gartner 的Jackie Fenn 写了一个很有意思的报告, 提到了Technology Hype Cycle。”我对这两部分的理解总结为:新产品在合适的时机推出才能获取成功,此前这个产品可能经历了几个发展换代阶段。但我觉得创新是创造新产品,创新的时机肯定是领先于产品推出的时机,正如文中说的:“做前沿研究的人, 可以早于其他人很多年提出新想法, 但是这些想法一般都是在“Innovator” 那个圈子里有影响, 这些想法要等若干年才能由成功的企业家看准时机推向大众市场。”,所以我认为黄金点游戏是跟推出新产品的时机有关联而不是创新的时机。
软件创新的出路真的是“走进作坊”?邹老师在《软件工程讲义 9 创新的出路 走进作坊》中对于软件创新的出路提出了“走进作坊”的观点。原文中有这样一句话:“这些好的作坊, 都有这些核心特性: 从小事做起, 讲究质量, 信用, 对产品负责, 对工作自豪。”,我学识有限,对这篇文章笼统地理解为:创新的出路是作坊是因为好的作坊有匠人精神。感觉我的怀疑没什么依据,要说源头大概就是如原文中说的“哪里都有盗版, 哪里都有抄袭, 哪里都有竞争”,上网去搜索出路什么的大部分都是讲创新是出路,缺少实践的东西。只能说直觉告诉我走进作坊不错,但实际操作起来把它当做创新的出路真的可行吗,是不是大家一起“走进作坊”,我国软件业的创新就能搞起来了呢?
如何应对“主治医师模式”? 我读了《团队和流程》这篇博文,里面谈到了几种团队模式和软件开发模式。原文中有这样一段话:‘主治医师模式的退化: 在一些学校里, 软件工程的团队模式往往退化为“一个学生干活, 其余学生跟着打酱油。”’,即将面临软件工程实践课的组队,由于能力、性格的不同难免会形成各种团队模式。如果我有幸遇到这种模式,估计就是一打酱油的。所以一个团队如果能干活人的较少,但是为了项目能够进行下去,应该怎么做?
什么是单元测试的自动化? 读过《单元测试&回归测试》这篇博文,谈到了单元测试的自动化。原文是这样的:“另一个重要的措施是要把单元测试自动化,这样每个人都能很容易地运行它,并且可以使单元测试每天都运行。每个人都可以随时在自己的机器上运行。团队一般是在每日构建中运行单元测试的,这样每个单元测试的错误就能及时被发现并得到修改。”,虽然这次作业大概走了一遍单元测试流程,我还是想弱弱地问一句,比如VS上新建单元测试项目,编写好单元测试运行,是不是就算单元测试自动化了?
我看了第3章3.1里的“c.质量如何?”部分和“d.是否按时交付?”部分,产生了这个问题:一个软件产品质量的好坏,软件工程师们的技术水平和软件交付期限都是很重要的因素。但如何在软件交付期限内充分发挥软件工程师的水平和价值?首先是对项目的用时估计,但估计就会有偏差,那么就有可能出现一个情况:项目的前90%都是按照A级标准在开发,可是这时突然遇到一个难点,整个团队的人都没法解决,拖延了一段时间,这时考虑到交付期限,只能按照B级标准降级开发,满足基本需求的基础上尽量降低开发质量,最后呈现的结果可能就好比是科尼塞克车身即将完成后发现卡钳生产遇到困难,最后用了次级质量的卡钳去代替,结果顾客反映车子速度可以很快但是制动效果不好,安全性不足,影响了用户的体验,最终导致口碑下降,销量下滑。受按时交付的影响,团队必须在限定时间内做好产品,那么产品开发前的估计就尤为重要,完全按照B级做可能就没法发挥团队水平,无法吸引更多客户与其合作,按A级做又可能存在预估时无法估计到的困难,这实际上是一场冒险,是一个如何平衡开发水平和开发时间的问题。查了资料,大部分说法是追求交付时间内保守开发。有的项目可以先B级,然后有时间慢慢继续改进;但有的项目做不到,因为从底层开始设计就大相径庭,回溯修改极其困难。根据我的作业经历,我是按照交付时间内保守开发的路子在做,因为作业的难度和体量与实际开发项目差距颇大,很多地方量变引起质变,不好直接类推,所以我对实际开发项目的此方面问题有些许疑问。