速读《构建之法》的一些问题
整体感受
刚拿到这本书的时候,觉得构建之法无非就是在交如何写好程序或者开发项目,但是只是粗略的浏览了一遍,印象就极其深刻,在本科阶段的学习也只是基于如何写好一段代码,或者用所学知识编写一个简单的项目。从来没有思考过,一个项目的开发到底是为了什么,并不是简单地完成一个作业,而是真正地要投入使用,不单单是要考虑运行的性能、负载,同时也认识到需求分析、测试、团队管理在一个项目的开发中所占比重是远远要大于代码的编写。希望在以后的仔细阅读中能有更深刻的体会。
问题提出
- 概论
- 我们所了解的开发和平时课上所学的程序开发有什么区别?
- 个人技术和流程
- 个人开发时应该注重哪一方面的工作?
- 开发时应该以代码为主吗?
- 软件工程师的成长
- 一个软件工程师负责的工作是什么?
- 在团队中如何提升自己的能力?
- 在团队中作为一个初学者应该怎样提升自己?
- 两人合作
- 合作完成软件都应该注意什么?
- 代码复审的意义和流程
- 团队和流程
- 作为一个软件团队应该具有什么特征?
- 敏捷流程
- 敏捷流程的优点是什么,为什么要采用敏捷流程?
- 项目开发中敏捷流程有什么优势?
- 实战中的软件工程
- MSF和敏捷流程的联系和区别?
- 从MSF中可以学到什么经验?
- 需求分析
- 怎样提出准确而全面的需求分析?
- 竞争性需求分析的重要性?
- NABCD模型是什么?
- 项目经理
- 项目经理的工作是什么?
- PM负责的工作是什么?
- 典型用户和场景
- 典型用户的作用是什么?
- 如何写好一份spec功能说明书?
- 软件设计与实现
- 软件设计与实现要做成什么?
- 图形建模的好处是什么?
- 什么是每日构建?
- 用户体验
- 用户体验的重要性?
- 软件测试
- 软件测试最终要实现的是一个可以上线的系统吗?
- 质量保障
- 软件质量如何保障?
- 质量保障的成本?
- 软件工程的质量和软件的质量有什么区别?
- 稳定和发布阶段
- 发布阶段需要完成的工作有什么?
- IT行业的创新
- IT行业的创新应该怎么做?
- 人,绩效和职业道德
- 团队中为什么要讲人,绩效和职业道德?有什么好处?