本周阅读了《构建之法》的第9到第11章,主要内容分别是项目经理、典型用户和场景、软件设计与实现。
作为一个软件团队,要互相了解。在这个团队中,PM是他们的核心。典型的一个软件团队里除了能写代码、测试代码和画图做设计的成员,就是PM---项目经理。
产品经理——正确地做产品。目前国内大部分PM都是指这个职位。产品经理对一个或多个产品或产品线负责,而互联网产品涉及到这些方面:产品定位、市场发展、需求分析、运营、营销、市场推广、商务合作。产品经理横跨这些部门,寻求资源,持续推进产品。随着产品的发展,不同公司,对PM要求会不一样。核心要求是,根据市场和用户需求,协调各部分资源,正确的把握产品定位和方向,解决用户的痛点,持续优化产品。
微软产品团队三足鼎立的角色分配就是PM、开发、测试。PM负责除开发和测试之外的所有事情。从某种意义上说,是前面两种角色的综合。微软通常有专门的产品策划,他们和市场部门的专职人员一起,负责产品的长期发展和市场推广。
随着软件复杂度的提高,用户需求的多样化,市场竞争的日益激烈,光有程序员和销售人员是不够的。销售人员当然可以把顾客的需求直接告诉开发人员,但是开发人员往往听不懂。我们需要专人来把市场/销售人员那一套MBA的套路语言翻译成程序员能懂得规格说明书。例如:和客户交谈,组织用户调查,发现用户需求;了解和比较竞争对手的产品;怎么让软件变得可用、有用;怎么改进团队的流程。这些事情,开发员大多数都不愿意做,也未必能做好。这时,PM这个概念被提了出来,PM的出现让团队内部的互动出现了两个新特性:负责一个功能的开发/测试人员和相关的PM密切合作,再由PM代表这一小组去和别的小组或客户代表打交道,大大降低了交流的成本;有专人负责开发/测试之外的许多事物和项目进度的管理,让开发和测试人员专注于技术方面的工作。
在定义典型用户时,我们要先定义用户的角色。正如戏剧中有正面和反面的角色,软件系统中也有受欢迎和不受欢迎的典型用户。典型用户模板可以包括的内容有:名字、年龄和收入、代表用户在市场上的比例和重要性、使用这个软件的典型场景、使用本软件/服务的环境、生活/工作情况、知识层次和能力、用户的动机、目的和困难、用户的偏好等。