程序员2009精华本
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

LiveBOS的深度需求工程

█ 记者/周至

一般地来讲,一个平台级别的产品,开发团队动辄几百人,而且耗资巨大。但是顶点软件CEO严孟宇所率领的LiveBOS开发团队,通过多年的摸索和实践,只用了较少的人力和成本,却高效率、高质量地完成了 LiveBOS 这款对象型业务架构中间件及其集成开发工具。这款工具不仅实现了以业务模型建立为中心,直接完成软件开发的创新软件开发模式,而且适用于基于WEB的专业应用软件与行业大型应用的开发。

那么,究竟是什么样的原因,让这个原本基于C,C++的GUI开发的团队成功转型为基于JavaEE的WEB开发,并高效率、低成本地开发出如此大规模的软件产品呢?记者此次特别对顶点软件 CEO 严孟宇先生进行了一次专访,请他从开发LiveBOS这款产品的切身经验谈起,对他一直以来所做的工作——产品经理这一职位作以诠释。

深度发掘需求,做好企业产品

严孟宇在LiveBOS这款产品的开发过程中,基本上负责的就是一名产品经理的工作。具体的来讲,主要包括三个方面:为产品定位的工作,即对将LiveBOS做成一个什么样的产品作以决策;对产品的具体特性做出一定的要求;对技术经理做出来的成果进行评价,并针对评价提出相应的改进意见。具体谈到产品需求分析方面所做的工作,他谈到了以下几点:通过与客户的沟通,定义产品的规格;定义产品的主要界面风格;定义产品的使用环境;定义产品的关键特性;与技术经理共同定义技术的基本架构等。

而这做几方面工作的过程中,严孟宇一直秉持着同一个理念,那就是一切从需求出发,只有满足了客户需求的产品,才是一个好的产品。

例如,在为LiveBOS这款产品进行定位的时候,他就是完全基于客户的需求,以及他对市场和用户的理解和认知。

由于他所定位的市场和用户主要是行业运用开发商与SI,所以他深入地分析了这些人的需求所在。首先,行业运用开发商与 SI主要从事的是一个基于WEB的开发过程,而这个开发过程的特点就是开发周期长,过程相对繁琐。而恰恰由于这一点,决定了这两种用户的核心竞争力并不是是否拥有一批掌握了某种开发能力的技术团队,而是一种行业专家的概念,是对行业的一个深刻的理解。所以,这类公司比较容易接受的产品是一个行业应用的解决方案,而不是一个单纯的开发工具。

于是,他提出了业务架构中间件的概念。他并没有将这款产品定位为一个简单的辅助开发软件,而是一个业务的中间件。即通过一个Xml文件的模型就把设计首先变成了一个应用,而不单单是生成简单的代码。

产品经理:优秀的需求分析师

谈到一个产品经理所必须具备的基本素质,他认为主要应该有以下几点:

1.优秀的需求分析能力。

2.总结与分析的能力。

3.对技术的理解,对技术发展趋势的一个理解。因为这个产品本身就是面向开发人员的,所以对开发技术的发展方向上的理解与判断能力非常重要,即对技术发展的趋势的判断能力非常重要。

4.学会借鉴。即对国内、国际上技术的理解和分析能力。在LiveBOS这个产品几年来的开发过程中,他研究了国内外大量的同类型产品,对他们一些特性的发展趋势也都做了深入的分析。他认为,只有这样才能够把握产品开发的正确发展方向。所以,产品经理一定要时刻注意到产品发展方向的变化,从而进行正确的决策。

此外,作为产品经理,也应该参与一些技术选型工作。产品到底选用哪一种技术架构,实际上也是决策的一个过程,因为使用不同的技术架构,会在很大程度上影响到客户群。

而在这些基本的素质之中,他指出最重要的就是需求分析能力,也就是说,产品经理应该同时是一名优秀的需求分析师。

产品经理的需求分析工作应该在整个开发流程中一直存在。他认为,产品经理应该在实施过程中分步骤地去指导项目组成员,定期的去研究、分析一下他们的开发成果,检查是否跟预先对于产品的定义相一致,也就是是否与用户最初的需求相一致。当出现不一致的情况时,就需要采取重新再讨论的措施,或者经过分析之后,判断是需求需要调整还是运营的产品需要改进。

此外,他提到了在开发LiveBOS这款产品的过程中,需求的定义是一个不断滚动的变化过程,而不是那种事先完成非常规范和完整的设计之后才进行开发的。所以他们的团队也融入了一些敏捷开发的概念,在不断的实践中确定真正的需求所在。

好的需求源于沟通

严孟宇认为产品经理在完成需求工作的过程中,沟通能力是最重要的。而且,这里的沟通不仅仅是团队内部的沟通,更多的是与用户的沟通。

他举了一些例子来阐述这一点:比如,LiveBOS开发团队在产品开发的过程中,就会更多地采用结对开发,即让同一组的开发人员之间加强沟通,让他们对于需求的理解尽量做到一致。

另外,在产品做到一个“里程碑”的时候,他们还会请他们的用户与开发组的成员进行面对面的一个沟通,开一个产品介绍会,让这个产品在一个小的最终用户群里做内部推广,让用户进行试用。最后,他们可以通过这样的活动及时地得到一个反馈的需求信息。而产品经理就会根据这个信息,做一些需求上的变动从而改变相应的开发计划。

规划产品周期,稳步适应用户需求

严孟宇认为,合理的规划好产品的生命周期,也是产品经理所必须做到的。这一点的实现是一个技巧,一个合理的产品周期,可以稳步的满足用户的最终需求所在。

一般来讲,在开发LiveBOS这款产品时,他会在三到六个月内根据用户的需求,为产品定义一个重要的特性,并对产品进行小的版本更新。而通过这样一个小的周期,既可以快速的实现这个新的特性,又可以分析这个特性的出现是不是满足了用户的真正需求。而大的版本设计往往是针对用户已经适应的特性,在这些不同的特性之间进行重新编码、整合的过程。简单地说,大的版本更新就是把已有的稳定的特性保存下来,对零乱或逻辑性不够强的新特性进行整合的过程,夯实基础,满足用户的需求。

而且他强调,在一个新的特性研发出来之后,他会特意的去维持一段稳定的完善期。即使这时有了一个新的特性需求,也会控制住,不会去做这个新的尝试。也就是要控制版本更新的一个节奏。与此同时,完善内部的相关文档,进行一些细节的调整。

此外,正如前文所提到的,在每一个小版本更新发布的时候, LiveBOS开发团队都会开一个特性的介绍会,或者新版本推广会,时时倾听用户的心声。

一名产品经理对未来的展望

在产品推广LiveBOS这款产品的过程中,严孟宇也曾经遇到了一些困难,因为一些企业已经有了自己固有的开发模式,让他们一下子接受这个产品的确有一定的难度。但让他欣慰的是,已经有一些企业正在慢慢地接受他们的产品。而且,很多最终端客户在看到了这个产品之后,觉得LiveBOS开发团队虽然只拥有很少的技术人员,但是也能开发出大型的高效软件来,那么这个产品一定能够给他们带来很大的帮助,并且能够提升他们产品的运营水平。

谈到对未来的展望,严孟宇对于未来三年内的计划是这样的,在产品功能方面,重点让产品形成从测试到流程的控制,包括软件开发过程的控制这样全周期的支持,使整个特性得到完善,当然,这一切也都基于用户对于产品全周期支持的需求。另外,业务方面的目标就是在国内能够得到一个大规模的推广、使用。

至于进行这些推广的资源,他准备从两方面进行获取,即人和资金。人的方面,他会从应用软件的开发商团队中抽调一些在应用软件开发过程中拥有优秀的技术,而且表现出比较好业务敏感性的技术人员来补充 LiveBOS 开发团队的力量,还有就是通过社会招聘;资金方面,顶点软件本身每年都有比较好的利润和现金流,同时也在申请一些政府的创新资金,在未来的几年里会考虑引进一些外面的资金去做更大发展,比如风险投资等等。█