1、什么样算是有好的软件设计思想和软件工程思想?如何培养建立好的思想?
(第三章,初级软件工程师是如何成长的)
作为一位软件工程师,大家的程序实现基础技术会大体相当,但如何从一个初级的软件工程师成长为一个高级的软件工程师,也就是如何在一款软件的设计中摆脱“码农”的身份,就像人类比动物的高级之处就在于有思想,但是如何培养这种“有思想”的能力,是不是做到在平时多做多看就可以了呢?
2、如果用户对软件的需求表达不清或过于理想化,而由于用户不懂软件的实现过程而提出一些不能实现的需求,但是又不能接收软件开发人员的解释,不能进行良好沟通时怎么办?
(第七章 MSF 更强调与用户的沟通)
一个软件开发团队还是需要一种类似于公关型的人才,在与用户沟通方面会起到事半功倍的作用,毕竟软件开发前期的需求分析准确会给以后的工作提供最大的便利,避免软件编写过程中用户各种不满意的尴尬局面出现,耗费人力物力做无用功。
3、何如有效减少一款软件由一个团队不同人编写的不同部分整合在一起时的复杂度?
(第五章 规范代码编写)
一款软件肯定是由一个团队的人来编写的,但是每个人的编码风格各不相同,就算是规定了相关的编码编写规范,设计规范,往往最后的整合部分是最耗费大家精力的,我觉得一个长期所有人都互相熟悉的软件开发团队是非常重要的
4、 NABCD模型中,找到了需求,但是如何使的A(Approach)中拥有特别的招数?
(第八章 需求分析 A(Approach)、第十六章,IT行业的创新 )
一个软件开发团队会有很多技术型人才,每个人都会各种各样的技术,我们需要在一款软件开发中拥有特别的招数才能打败别人,但是这个特别的招数从何而来,利用每个人的特殊技能?利用在商业模式上的创新?这可能不是大家坐在一起开会讨论就能轻易创造出的吧。
5、在用户体验与获得利益两个方面,应该如何取舍?
(第十二章 用户体验)
为了增强用户体验效果而增加设计复杂度或成本本事无可厚非的事情,软件本身就是为了用户而定制的,但是如果满足了用户的某个需求而大大增加了开发成本,是否就得不偿失了,在成本增加多少的范围内我们可以考虑去满足用户的一些特定需求?