书中6.3关于敏捷的团队这里提到了每个人要联合起来对项目负责,落后还要帮忙改进。但是书中也提到过我们在团队中要各司其职,如7.2.4。这冲突吗?我觉得这应该是不冲突的,因为就是是各司其职也同样对项目共同负责,在敏捷的团队中也有任务的分配。但如果项目出问题了,普通情况下肯定是由负责这部分任务的人负责,但在敏捷的团队中,也一样吗?不是说每个人都全面负责,有人工作落后了还要帮助他改进吗。我感觉我有点混乱。
在12.1.3中提到的了
a.软件用得越多,一样难用
b.软件用得越多,越发难用
c.软件用得越多,越来越好用
软件是否好用和硬件也是相关的,但硬件发展很快(摩尔定律),所以软件开发的时候也要考虑硬件。这时abc三种情况是可能同时出现的,那么开发者如何把握软件功能的提升和对硬件的要求提升的平衡?
书中16.3.0提到的改良式创新(Incremental Innovation)和颠覆式创新(Disruptive Innovation)
提到了个故事:
雅卡尔( Joseph Marie Jacquard ) 1752年出生于里昂,一成年便在丝绸工坊打工,并且很快成为一个有创意的、技艺娴熟的工匠。
他的改革计划在法国大革命期间多次中断,但1805年一大批改革后改进后的半自动织机最终在法国运转了起来。
新织机不但缩短了产品的成型时间,更重要的是减轻了劳动量,减少了工作人数。这必然引起大批工人的恐慌和随之而来的抵制及破坏,
因为使用雅卡尔织布机后,原来需要六名工人完成的工作现在只需一名,这就意味着大批工人的失业。雅卡尔多次受到人身攻击,甚至有人对他以死相逼,
更严重的是,工坊里的新型织机不断被损坏和焚烧。尽管如此,革新的成果还是迅速遍及全国。1812年,整个法国已装置了一万一干多台雅卡尔自动织布机。
颠覆式创新的影响这么大,会不会对这种创新起到致命影响?比如因人身攻击之类被迫停止。有没有办法减小影响的同时改变社会?
我阅读了 12章 用户体验的关于短期刺激和长期影响的内容:
“在实验室里;大家心里想着,我要品尝饮料啦!漱口之后,品尝几口或一听饮料。反馈是:新产品甜味较大,口感很好,我喜欢!
在家里:美国消费者一次买一箱(24听),随意坐在沙发里,一边看电视一边喝。反馈是:新产品甜味较大,喝多了太腻味,喝不下去,再也不买了!”。
例如一个游戏(如农药,吃鸡等),当人们热衷于它时,能够获得短期的快感,游戏公司开发了防沉迷,是为了减低长期的负面影响。但对于某个不知名的游戏,不言而喻其短期刺激显然更为重要。所以我的疑惑是:短期刺激和长期影响是一个软件不同时期应该考虑的事,还是一开始就应该一起考虑?
我阅读了 8章 需求分析 关于获取和引导需求:
“需求不仅来自外界,还可以来自软件企业本身。一个免费的互联网服务到达一定规模后,企业就会考虑如何让这个服务带来收入。例如一个免费的互联网电子邮件服务会考虑对用户收费,支持几种不同等级的用户,在邮件中附带广告,或者在页面显示广告,等等。”
现在一些小程序如嵌入至qq中的小程序,大多没有一定用户数量和规模,但程序内部依然包含大量的广告,这不是本末倒置了吗?用户需求都没有先得到满足,但是存在即合理。这些软件程序依靠什么在市场上能够继续生存?
我阅读了 8章需求分析(p158) 关于提高估计能力的招数:
"实际花费取决于两个因素--多某件事的估计时间X,以及他做过类似开发工作的次数N,Y=X +/- X/N。当N等于1时,一项工作的估计的实际花费范围是[0,,2X]"。
实际开发工作中时间不可能为0,此处去左边取闭区间,是否不妥?还是我没有理解其真正含义?
当出现不容易复现但又存在的bug时如何解决?
如何判断”过早优化“?判断一个优化是否为当前必要的?编写程序时遇见这样的情况,事先不容易判断是否需要优化,如果当前不进行优化,最后发现程序进 行这样的优化是必须的,而又不得不修改大量代码。这种情况如何判断“过早优化”?
程序员小飞原计划三天完成某个任务,他说服了同事,坚持采用自己独特的实现方法。现在是第三天的下午,他马上就可以做完。但是在实现功能的过程中,他越来越意识到自已原来设计中的弱点,他应该采取另一个办法,才能程免后面集成阶段的额外工作。但是他如果现在就改弦更张。那就意味着公开承认自己的设计不好。并且会花费额外的时间。这样他的老板、同事也许会因此看不起他。如果他按部就班地按既定设计完成,最后整个团队还要花更多时间在后续集成上。但那就不是他个人的问题了。怎么办?