书中第6章提到了敏捷开发,第一听说这样的方法有些。以下是敏捷开发的一种定义。“敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用的状态。”什么时候该使用“敏捷开发”,还是“瀑布模型”。设计的时候是“自顶向下”呢,还是“自底向上”呢,都不是绝对的。需要根据实际的项目情况,去分析,去拿捏,更多时候是多种方式结合使用。而且软件工程不是单一的学科,它是多学科交叉的一门综合学科。除了要具备工程能力外,还要有良好的基础知识,和一定的架构设计能力,以及必要的沟通能力,不然无法掌控一个大型的软件项目。
第10章的“典型用户和场景”、第12章的“用户体验”,这同样适合产品经理阅读。如何定义用户,如何定义场景、如何写功能说明书,偏向于产品经理方面。是工程师的一个进阶方向。
这是一本探讨方法论的书,既然是方法论,那其适用范围就绝不仅限于软件工程。作者从其他方面去与软件工程中的相关知识作比较,说的是软件工程,但其探讨的方法论也是适用于其他领域的。其他行业也可根据书中提到的方法论,实现出人意料的效果。本书很多方面对我来说过于深刻,现在并不能理解,不过这是一本很好的了解软件工程这个专业及了解该专业的路途的书籍。