为什么设计并创造SpecDD

作者:TechExcel公司CEO兼首席软件架构师 周铁人 博士

在我拿到计算机科学博士学位的时候,我已经从事软件工作一段时间了。从最初的程序员做起,随着经验的积累,开始逐渐管理软件团队和软件项目。后来我成立了自己的软件公司,并领导这个公司成为应用生命周期管理领域的行业领先者。

我经常问我自己和我的同事这样一个问题:如果你只能选择一样,你觉得以下哪个方面的改进,是开发出一个好软件的关键因素:

  • 更好的沟通
  • 更好的开发过程管理
  • 更好的质量管理
  • 更好的文档工作
  • 更好的ALM工具 

答案往往是更好的沟通。当我成立TechExcel的时候,只有四个程序员和一个产品经理在开发我们的主打产品。在一年的时间里,我们每人分饰多个角色,然后成功地发布了产品的第一个版本。我们负责产品设计,编码,测试,文档,甚至负责产品营销和销售。我们没有遵循任何的研发方法论,甚至没有固定的研发和QA测试流程。我们都非常有责任感,因为我们都希望能够成功发布产品并让我们的公司运转下去。在这个时期,如果说有一件事我们做的非常好的话,那就是有效的沟通。我们每天,每小时,甚至每五分钟就交流讨论一次。我们不断地进行沟通,头脑风暴。带来的结果是,无论谁是具体工作项的负责人,我们每个人都知道谁在开发什么,每个人都知道软件每个部分的逻辑。每个人都知道我们想要向市场推出哪些功能。因此,每个程序员都在扮演一个伟大的终端用户。事实上,我们并没有在初期做太多的技术设计,有时甚至没有做太多的接口规范化。但神奇的是,我们能够分别为每个独立的模块进行编码,然后把每个人的工作有效地整合在一起,创造出一个产品。正如你所能总结出来的那样,当每个程序员都懂得业务逻辑,并且懂得如何扮演一个终端用户的时候,那么开发一个软件产品就会变得容易得多了。在需求层面的有效沟通,将需求快速地转化成出色的编码和高效的QA测试标准。

随着公司规模的扩大,沟通变得越来越复杂,也越来越重要。我曾亲自观察过业务干系人和程序员之间的沟通障碍。开发人员往往从如何编程方面来看待一个产品,然而终端用户和业务干系人往往是基于商业用途模式去思考。但这两种思维模式很少能够同步。SpecDD正是基于这样的基础而创建。如果能够让一个团队实现高效的沟通,你就能够获得持续的成功。你无法根据软件的技术设计来建立沟通标准,也无法根据编程语言的代码或测试用例来建立这个标准,剩下唯一的选择只能是需求。 

SpecDD基于需求来搭建更好的沟通平台,如此便可以实现更加良性、顺畅的应用程序开发过程。 

总结一下SpecDD 的思想基础:

  • 有效的团队沟通是实现应用软件开发成功的最重要因素。对客户需求的理解和开发能力,是决定一个团队沟通和创新能力的关键。。
  • 软件的开发过程由一组连续的迭代组成。每个迭代都含有两个交付件。
    • 1. 改进后的可执行软件:可以发布给内部团队和客户验证。
    • 2. 改进后的概念产品:对原始需求更好的理解,包括需求,设计,和质量标准的改进。
  • 可执行的软件可以用于市场的商业发布,并为企业带来成功。概念产品则在内部团队进行沉淀,并让团队在将来持续获得成功。
  • 需求可以被规范化表达和量化,并驱动开发实现和QA测试。量化的需求用于创建实施Story,从而构建可执行的软件。
  • 最后,需求也可用于生成QA测试用例,以量化质量标准。

 

更多新闻 >

售后服务平台登录

用户名:

密码:

登录

分享到微信朋友圈