软件开发的组织和管理是一项充满未知、充满风险、需要大量统筹的工作,因此软件工程也一直是软件行业里一个热门的研究领域。软件开发管理的模型和方法论层出不穷,如瀑布模型、螺旋模型等等。如今,比较热门的是敏捷开发技术。
敏捷开发的技术有很多。其中经常被使用的有这样几个技术:用户故事、测试驱动、快速迭代。用户故事方法首先对用户进行分类,然后以用户为线索不断挖掘和分析用户的真实场景,从而形成有效的用户需求。测试驱动是通过不断的验证,发现问题,然后行动进行改进,从而不断推进工作向前的方法。快速迭代技术是指开发团队在固定的周期内高质量的输出一个可交付的软件,这项技术要求团队在一定时间内一定要输出成果,而且是可以交付给用户的成果,这项技术要求开发团队不断的对需求进行排序,优先实现最关键的需求,快速提供给用户使用,然后不断改进优化。
与软件开发一样,创业也是一项复杂的工程,充满了风险和挑战。我们不妨也试着用这几项敏捷开发的技术来管理创业项目。
首先,创业不能是纯粹的创业,小扎最近说过,“你要想着解决问题,而不是单纯想去开一家公司。”那么,如何去找到问题?用户故事其实是一个发现问题和找到价值的好方法。当我们准备进入某个领域,首先要对这个领域的人群进行分类,找出各类人群的特点、影响力、驱动方式等。然后分别以各类人群为线索,通过头脑风暴,找出这类人群在这个领域的几乎所有的活动场景。接下来,逐个分析所有的活动场景,找出一个切入这个领域的问题点或者价值点。最后,针对这个切入点所对应的场景,识别我们的用户,找出关键需求。
创业开始行动以后,这时可以采用快速迭代技术。在固定的时间周期内做出一个阶段性的成果。采用快速迭代技术,在管理上要坚持做到三点,一是要对所有工作进行优先级排序,最近交付的成果一定要包含最紧迫最关键的事项;二是严格固定周期,要让客户和投资者不断的看到创业项目的变化;三是要有可交付的成果,所谓可交付的成果是指客户和投资者看得见摸得着的事物,他们可以根据这个成果来评价创业项目。
创业过程中,还要采用测试驱动的方法,团队内部要不断的测试验证并提出问题,同时也接受外部的批评和建议。创业团队需要维护一个backlog,里面既包含需要处理的需求,也包含这些要解决的问题。已解决的需求和问题从backlog里清除掉,新增的需求和问题添加到backlog里。团队的目标就是将backlog清零,以此来驱动团队不断向创业目标前行。
敏捷开发技术在软件开发管理上的应用的效果就是“短平快”,而这又何尝不是创业者所期望的效果呢!
��