分类: 敏捷, 服务于社会部门, 社会与技术

Bahmni是什么

在ThoughtWorks,我们有三个重要的使命,其中第三个支柱“推进社会和经济公正”让我们有机会去改变这个世界,让更多的需要帮助的人得到信息化技术的帮助以改善生活。Bahmni(读作“巴姆尼”)正是在这个使命下孕育的一个项目,其目标是让Jan Swasthya Sahyog(人民健康扶助团,简称“JSS”)、以及其它成千上万类似的医院实现信息化。

ThoughtWorks印度公司从2013年开始做这个产品,其核心是一个开源的电子病历(Electronic Medical Record)系统OpenMRS。这个软件内建了一套标准的医疗信息记录数据体系,在北美和南美的一些医院里应用并收到了很好的反馈,并且有一个活跃的社区(包括医学专家、公共卫生专家和IT专家)在不断完善它。我们组建了70余人的团队,分布在印度的4个城市和中国的成都以便支持整个项目的开发。(部分摘自《印度儿童诗雅拉尔之死》)

Bahmni产品目前在印度、不丹、孟加拉国等国家均有实施,最为耀眼的是在孟加拉国,Bahmni会作为整个国家的HIE(Health Information System 医疗信息化系统)。

更多的介绍请见:

我们的敏捷实践

Bahmni是一个开放的敏捷项目,世界上任何一个人都可以对该项目做贡献,而不仅仅局限于ThoughtWorks内部。为了能够让更多的人参与,ThoughtWorks选择了开源的工具、开放的敏捷管理方式,这些管理、实践、工具和ThougtWorks的其他内部项目和客户项目均类似,参与者参能够用到最佳的敏捷开发方法。

公开的知识管理

一款开源的产品如果无法很方便的使用,则失去了它大部分的价值。在Bahmni项目中,团队很重视文档,采用AtlassianWiki进行知识管理。Wiki涵盖了产品的特性、社区、实施指南、开发指南、项目管理等方方面面。ThougtWorks内部对文档进行了持续的更新,保证文档的健全,为项目的参与人员提供了最大程度的便利。

公开的需求管理

在Bahmni项目中,客户是医院的工作人员,他们会提出各种各样的比较模糊的需求。同样在技术上Bahmni也会有自身的一些需求。Bahmni在管理这些需求的时候,采用了Trello将所有的需求管理起来,所有人都有权利看到并对需求提出自己的看法。每过一段时间,产品经理将会对所有的需求进行Review,包括对需求澄清、进行进行优先级的划分。

每一年,Bahmni团队会召开一系列的会议对Trello内的需求进行梳理,制定出一年的Roadmap。所有的人包括来自于OpenMRS的开发者、自由开发人员都可以参加Roadmap的制定过程,提出自己的意见和建议。但这个Roadmap并不是一成不变,敏捷总是拥抱变化,所以在变化产生的时候,Roadmap也会做及时的调整。

公开的迭代管理

迭代计划会根据Roadmap进行制定,我们使用mingle对项目进行迭代管理。

使用这套系统,任何人都可以看到卡的状态及内容,持续跟踪整个项目的进度。开发的人员提交的代码会和卡根据提交记录中的编号进行关联,方便事后对卡片的内容进行追踪。每个迭代都会有一系列的会议,对于ThoughtWorks之外的团队、个人,我们提供了Events Calendar以便他们参加会议。

技术实践

Bahmni项目使用了多种技术实践来保证产品的质量。

我们使用TDD,为每一个业务价值书写单元测试,测试覆盖率高于80%。我们用Gauge对页面进行端到端的测试,每天进行产品的回归测试。我们用GoCD对产品进行持续集成及版本发布,保证发布管理的自动化,减少人工干预导致的各种问题。产品发布并部署到到测试使用的云环境以及Demo环境,全程只需要很少的界面点击即可完成。

活跃的社区

Bahmni是基于OpenMRS的一套医疗管理系统。基于OpenMRS的客户群,我们在OpenMRS Talk中专门开辟了Bahmni的版块,对Bahmni相关问题进行解答。我们深知活跃的社区对于一款开源产品的重要性,所以团队内部有专职的人员对社区进行追踪,尽最大可能及时的回答用户的问题。为了更好的帮助用户快速入门,我们还准备了Youtube的频道进行了大量的讲解。

同时,我们还有IRC Channel对用户进行实时的帮助。Bahmni团队所有的开发人员都被鼓励去回答用户的问题,只有开发人员和用户有最近的距离的时候,开发人员才能理解用户的需求以及诉求,从而设计更好的系统。

我们也积极参与OpenMRS的开发和讨论,每周OpenMRS都会有开发人员的会议,基于OpenMRS的产品团队、开发人员都可以参与到会上进行交流。每年OpenMRS都会举行OpenMRS Summit,Bahmni作为其发布版也参与到其中贡献数个话题并寻求积极的反馈。

总结

Bahmni项目的公开运作方式从产品的设计到需求的获取到最后的开发得到了大量的社区用户的积极参与,线上线下的结合拉近了和用户的距离。ThoughtWorks一项以技术实践为骄傲的敏捷开发方式在产品的生命周期内展现的淋漓尽致,可以说是敏捷项目的一个标杆。


更多精彩洞见,请关注微信公众号:思特沃克

Share

发表评论

评论