伴随着融入全球经济的脚步,中国软件产业将步入一个崭新阶段。日益庞大的软件开发规模和为数众多的软件项目数量,对原有的项目管理模式和理念提出了挑战。单打独斗的作坊式开发、口传心授的管理方式,造成了目前软件项目开发的高失败率。 根据对项目失败原因分析的调查发现,项目很少由于技术和硬方法方面的原因而失败,却常常因为组织、人、管理等软能力方面的原因而失败。现有软件企业大多缺乏有效的整合人力资源的机制,而将责任放在拥有综合技能的人员身上,其结果是造成了人员的可替代性弱、工作效率低,高效完成项目需要能够按照不同的角色分工有效地整合各种专业人才。但是作为中小企业,搭建团队,其实都是一人胜任n项工作,这是现实,一个开发人员可能既要要前端设计又要后端开发;测试不但要写需求还要各种测试,还要部署发布;产品经理还要做项目经理工作。高帽虽然带着,但如果工作几年后你自己恐怕也不知道自己到底是什么职位了吧。综合各种情况,我们开始创造我们的产品组织架构了。 目标 搭建一支具有自己特色的产品团队,要求公司产品快速在全球推出,保证网站7*24运行,保证用户能够迅速获取想要的资讯以及免费试用的账号。 前提条件 项目雏形(商业目的、策划流程、营销流程)已成,团队创建已被审核通过(要求用最少的成本来完成最多的事)。 团队规模考虑 有了建立团队的前提后条件后,我们现在要考虑规模,以及必不可少以及可取代性的的职位。虽说人多力量大,但是疯狂招人的后果肯定是想方设法的裁员。而对于一个成立初期的项目而言,这意味着失败。网上说,初始的开发团队的规模是在6人-10人之间。6人是各个职位填充式的建立,而10人则是增加了人员风险的处理及工作效率的保障。 6人职位是:项目经理、项目助理(兼任数据库工程师)、架构师(软硬件架构)、UI设计师、测试工程师、部署工程师,以上职位必须全部具有编码能力,并能快速的编码。 10人职位是:项目经理、项目助理、架构师、数据库工程师、UI设计师2名、软件工程师2名、测试工程师、部署工程师。 那到底我们改如何选择职位呢?根据产品生命周期的任务,自然而然塑造了相关的角色。有一个dear或者模糊概念(Boss,用户,市场),头脑风暴列举矩阵方案,筛选可行性方案制定需求(产品经理),开发(开发团队),测试(测试团队),发布(运维人员),运营(营销团队)。我们讨论下来,最终选择了产品经理1人-前端设计师1人-PHP开发工程师1人-测试1人-技术支持团队1人-亚洲新媒体营销人员1人。大概6人的稳定团队(国外短期参与人员忽略)。 团队组建 职位明确后,就是招人准备开工了。由于广州公司没有PHP开发工程师和营销人员,其实都是有,只需要申请资源而已。内部资源协调好,新同事也到岗了。马上组织会议,准备开工。 团队试运行 试运行3个月后,boss他们一直反馈说我们的响应太慢。后来我们发现,是因为产品经理是测试转的,项目管理经验不足,有需求时不懂的如何把控项目进度,拖延了交付。后来讨论后就加上了项目经理的职位,结果立马不一样了,进度有把握了。迭代管理需求也能满足营销的需求。在一次添加大功能的需求时,要求是产品经理整理需求,只列举了市场需求,没有详细需求,就开始开发。等开发完了,才发现构架跟我们之前的架构不匹配,不能很好的融合,后期很难维护,被boss直接pass掉。这之后又加上了,需求分析的职位,专门负责详细需求。有几个产品的landing page推广最新产品,直接发到市场,结果遇到特殊报价时,交易无法记录的情况。技术支持反馈回来时,boss很恼火,要求灰度发布,让跟我们合作的伙伴先试用一段时间,无问题后再正式发布。 因为所有和产品有关的事都是产品经理的事。前期的调研,后期的运营手法、线下宣传等等工作,其实商业、产品、技术都很重要。根据实际经验,我们制定了我们自己的团队组织架构,具体如下图: