今天记录的是构建之法的第八,九章的阅读总结。这几章分别是软件的需求分析,项目经理的作用,用户场景的分析,软件如何设计实现。他们的共同点是都介绍的是软件在开发过程中需要经历的过程。
第八章软件需求分析中,我个人理解是一个软件人必要的素质。因为软件最终是给人来使用,所以软件的首要因素就是分析用户的需求。这并不是简单的想一想用户要怎么用,而是要经过大量的调查分析并且结合个人经验。主要分几点:
1. 对产品功能性的需求:要求产品必须实现某些功能。(用户要求功能)
2. 对产品开发过程的需求:要求软件的开发流程必须满足某些约束条件(非用户必须但是需要实现)
3. 非功能性需求:这也叫“服务质量需求”(非必须,但是可以提高用户满意度)
4. 综合需求:有些需求并不是单单一个软件模块就能满足,例如,“购物网站必须在24小时内把货物发送到用户手中”,这个需求牵涉到软件系统、货物派送系统、送货部门、监控系统等不同部门的功能和执行能力。(没有接触到,不是很懂= =)
在获得需求的时候就要进行用户调查,焦点小组,深入面谈,卡片分类,用户调查问卷,用户日志研究,人类学调查,眼动跟踪研究等方式。
在竞争需求的时候有NABCD模型,在我们小组的作课派分析的时候也曾用到过这个方法。
功能分析的时候需要确定杀手功能(决定性),和外围功能。
项目经理分为两种:
产品经理——正确地做产品。目前国内公司大部分PM都是指这个职位。产品经理对一个或多个产品或产品线负责,而互联网产品涉及到这些方方面面:产品定位、市场发展、需求分析、运营、营销、市场推广、商务合作。产品经理横跨这些部门,寻找资源,持续推进产品。随着产品的发展,不同公司,对PM要求会不一样。核心要求是,根据市场和用户需求,协调各部门资源,正确地把握产品定位和方向,解决用户的痛点,持续优化产品。
项目经理——正确地做流程。在某些公司,这个职位与产品经理分开单列。他们对项目流程负责,即项目从立项到上线按时完成。正确地协调团队内部外部,调配各部门资源和时间,有效进行风险管理,保证一个项目顺利按计划结项,是一个项目经理的核心价值。Program Manager:微软的职位名称。微软产品团队三足鼎立的角色分配就是PM、开发、测试。PM负责除产品开发和测试之外的所有事情。从某种意义上说,是前面两种角色的综合。微软通常有专门的产品策划(Product Planner),他们和市场部门的专职人员一起,负责产品的长期发展和市场推广。