我们为什么做社区?

很多同学在加入ThoughtWorks之后,会频繁的听到和提起“社区”这个词,以及越来越多的参与到“社区活动”中,无论是自发的还是被影响的,都会对社区有更深的接触和体会。那么,追根溯源,ThoughtWorks为什么和社区结合这么紧密,社区到底对我们、组织、乃至社会意味着什么呢?

我想通过这样一篇文章,和大家一起回归到社区的本源,与更多的社区工作者、参与者、热爱者,共同探讨社区的意义和价值所在。

社区是什么

按你们读书人喜欢的方式,先从定义开始,一番资料看下来,原来中文“社区”和英文“community”其实是存在一定差异的。

中文里,“社区”一词有140多种定义,尽管社会学家对社区下的定义各不相同,但在构成社区的基本要素上认识还是一致的,比如人口、地域、设施、文化、组织等。比较常用的定义还是在强调这种社会群体生活是建立在一定地理区域之内的。

而英文community一词含有公社、团体、社会、公众,以及共同体、共同性等多种含义。我想这个理解更贴近在ThoughtWorks语境下的“社区”。

A community is a small or large social unit (a group of people) who have something in common, such as norms, religion, values, or identity. Human communities may share intent, belief, resources, preferences, needs, and risks in common, affecting the identity of the participants and their degree of cohesiveness.

所以从英文的释义来看,最重要的动词关键词,莫过于“Share”分享。而最重要的名词关键词,也是目标之一,莫过于“cohesiveness”粘结性。

听起来这样的社区好像是从国外传进来的,其实咱们的文化中也有啊,比如——华山论剑,被认为是公开比试和学术争鸣之经典,比起现在的社区交流,华山论剑可能更像是场奥运会。还有春秋时期的“百家争鸣”,也可看作是社区典范,思想的碰撞为中国哲学的进步和发展都垫定了重要基础。那现代社会,尤其是中国,为什么呈现出越来越繁荣的社区景象呢,按照我的理解:

  • 一方面是过去的信息化不足,想交流也找不到对象在哪,所以更多是同宗同教或者同聚居区的互动,而现在就容易多了,国际化的社区平台也比比皆是,同道中人不再靠偶遇。
  • 另一方面,我想和知识飞速发展关联巨大,更多的新知识和新实践在近几十年得到关注和研究,而且速度惊人,不同于已有正确答案的经典理论,当今大量新知识也是我们在不断学习和探索的,而且掌握知识的程度也直接决定了企业的生命力,所以彼此的沟通和交流便成为了促进知识快速迭代和应用的催化剂。

当ThoughtWorks的社区负责人在一起交流时,发现大家在提到社区时,其实脑海中所指的事物并不相同,我们不妨在这里也聊一聊社区的形式和载体。

狭义的“做社区”,大家经常指的一个是内部交流,一个是线下活动,大家面对面的分享交流确实最有“社区”的味道。

而广义上,我认为“社区”蕴含的形式和载体非常丰富,只要是以促进分享、交流、学习、体验为目的的动作,都可以称之为“做社区”,所以除了线下活动之外,比如线上互动、原创内容、共同翻译、对外合作、发表演讲、比赛竞技、参观走访、课题研究、内外培训,等等等等,极其多样。

社区和公司的区别

在ThoughtWorks的官网上,你可能会看到这样一段话:ThoughtWorks不仅是家公司,更是个社区。那公司和社区之间又到底是怎样的关联和区别呢。

首先,从目标来看,公司以盈利为目的,社区显然没有这样的价值定位。ThoughtWorks有三大支柱,之一是可持续的业务,这是赖以生存的经济基础;之二是追求软件的卓越,这在ThoughtWorks不仅仅是口号,而是真正的践行,从招聘的关注点到行业的口碑,从年度考评的标准到客户真正认可的ThoughtWorks与众不同的价值,无不与之息息相关,也正是因此,社区才不断自发的涌现,这是在技术卓越追求道路上最天然的聚合;之三是追求社会与经济的公正,这在大部分公司可能是放在社会责任和企业公关部分来做,而在ThoughtWorks,我更愿意称之为信仰,同样也非口号,实实在在的探讨、思考、文章、项目都在行动着。

其次,传统意义上的公司内部大多存在着一定的竞争关系,无论是资源、预算的竞争,还是从部门墙来看信息的壁垒,都是明显的竞争思想的体现。而社区显然更倾向于分享信息、共享资源和透明交流。从这点上,我们又不得不提到ThoughtWorks一向引以为豪的扁平,以及直接、快速的沟通方式,内部信息的传递以解决问题为出发点,提倡信息的分享和透明。

再次,从组织形式和文化属性来看,社区因其自愿、平等的内部关系,更自然的会营造出志趣相投的人之间惺惺相惜的环境,从两方领导者/组织者的行为方式更可以看出显著的差异性。在ThoughtWorks,你可能会见到一个嘘寒问暖、惜“才”如命的领导者,也可能见到一个忙忙碌碌、时刻在提供帮助和服务的领导者,还可能见到一个明明可以自己做决定却要广泛征求意见的领导者,但你应该很难见到颐指气使、命令强制或者用流程捆绑你的“老板”或“上司”。

我们为什么做社区

读者朋友中一定有很多同学时常在各种社区活动中游走参与,甚至成为组织者,我们不妨先看看在如今信息爆炸、互动高频的社会环境下,市场上大多数公司做社区的动因是什么,并以此来谈谈ThoughtWorks的特别之处。举一个当下非常典型的例子:工具类app公司,或者更广泛一点说,产品类公司,显然是希望通过营造社区提升用户黏性,从线上独立使用、线上自建社区延伸到更深入的线下互动,比如金数据组织过的俱乐部,还有很多时间管理、思维引导、生活体验、消费平台等等类型的app,都在持续运营社区,而效果如何,可能也要视具体情况,从目前听到的声音来看,长期维护的挑战还是不小的。

我们再来看看在ThoughtWorks,发展社区从个人到组织层面的价值又是什么,或者,我们在动因上又有什么与众不同。

上述这幅图,是做社区对组织和个人可以带来的价值,我们可以从对个人和对组织两个不同的角度来看:

对于个人而言,现在的学习方式不同以往,前面我们多番论述过现在的能力提升方式靠单一的读书和个人思考已经很难满足,信息更迭的速度逼迫我们不得不快速的向外部探求,去汲取别人已经实践出的知识,进而快速获取并演进,而非反复造轮子。所以,与他人交流来提升自己知识储备的速度已经蔚然成风。在彼此交换信息的过程当中,我们不仅在获取能力的提升,也在铸就影响力,这种影响力可以是在组织内部的,也可以是代表组织向外输出的,无论是哪种,在当下互联网思维炙手可热、组织形式趋向共创式的时代,“影响力”可以带来的资源和机会不必多说,最典型的就是广泛的职业机会。而我们在发生上述的社区动作的同时,我们其实不仅带给自身更多的存在感和成就感,也不知不觉中为行业的进步和发展留下了足迹、谱写了历史。

对于组织而言,也许有人会说,那不做社区又怎样,公司也可以照常运行,大家也可以照样工作,没错,确实如此,社区的存在,绝不仅仅是为了公司的运转,做社区也不是某些人的KPI,经营社区的原动力是来源于对自我发展的更高要求,对同侪沟通的迫切渴望,和对改善行业的赤子之心。所以,社区的活跃一定无法仅仅来源于公司的强制,而是当个人的社区热情获得了组织的平台支持,才能构建出社区的繁荣。有社区的公司,比如ThoughtWorks,呈现出的企业文化和氛围与没有社区的企业一定是不同的:

  • 社区的存在对于构建学习型组织至关重要,发起者的学习热情,会催生出极大的同侪压力,从而影响和带动更多人的学习动力和参与;
  • 社区内部的交流和分享,会为学习者提供良好的信息交互平台,提高学习和解决问题的效率,并让知识得以传播和沉淀,将一个人的能力逐步转化为一群人的能力;
  • 社区带来的归属感和安全感,以及优秀的人在一起的优越感,都让这个企业的吸引力、凝聚力变得妙不可言,让身处其中的人也充满自豪和活力;
  • 这一切都为提升组织的外部影响力带来了正向影响,无论是吸引更多慕名而来的候选人,还是潜移默化的商业机会,社区都是一张值得信任的企业名片。

这里还想再着重强调一点——就是那条虚线箭头,组织对外影响力的提升,对于个人的影响力和职业发展,必然起着非常正向的影响作用。比如说当某个公司的测试团队时常组织行业内的探讨交流、发表观点和文章时,这个公司的测试团队在业界一定会积累良好的声誉,那很显然会为这个测试团队中的个人带来良好的职业背景。这其实和我们说某个大学的专业特别好是一样的道理,当这个学科发表文章多了、科研成果多了、学术交流多了自然带动了学生视野广阔了、实践丰富了以及就业更受欢迎了。

我们愿意看到越来越多的个人、组织、企业参与到社区生态的构建中来,我们相信千千万万的社区互动带来的不仅仅是技术的成长和交流,能力的提升和发展,更使得追求卓越、共同进步的社区精神得以弘扬,而这种精神在行业发展乃至社会进步中都将产生历史性的意义。


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

Share

为低资源地区建造数字化医药库存系统

撒哈拉以南的非洲国家在抗击疾病和延长寿命方面的指标远远低于世界平均标准。医护人力资源的短缺和医疗信息系统的落后是导致人民无法获得医疗保障的两个重要原因。

对于发展中国家来说,一个良好的信息系统对计划实施医疗服务至关重要。医疗服务的决策人需要利用系统中的数据来理解目前的医药需要,评估供需缺口,制定更好的策略。在数据缺失的情况下,他们很难计划接下来应该调配多少的资源来满足一个地区的需要。然而,对于撒哈拉以南的国家来说,当前的医药数据大多存在于纸质的表格上,这使得制作数据汇总和提供决策建议的报表非常困难。

莫桑比克总览

莫桑比克位于非洲东南部,一共有约2400万人口。它于1975年从葡萄牙独立,尽管最近几年国家经济得到了发展,然而,大部分莫桑比克人仍然生活在贫困线以下。这个地区的HIV感染率非常高——在2014年,有超过150万人口携带HIV病毒。这对莫桑比克的医疗规划,尤其是提供HIV测试以及反逆转录病毒药品的医药物流供应链带来了挑战。

我们在实地勘察中发现,得益于来自NGO的药品捐助,很多非洲地区在国家层面上的基本药品(Essential Medicine)短缺情况并不严重。然而由于无法合理地预测和分配,很多基层医疗站都出现了药品短缺情况,导致病人无法及时获得药物治疗,而这些药品可能在旁边一个地区的区级仓库里堆放着直到过期被扔掉。

医药电子库存系统

为了让莫桑比克的病人能更快更好得到适当的药物治疗,ThoughtWorks与一家国际非营利组织合作设计开发了医药电子库存系统(ESMS)。它是一个安卓平板系统,后端采用开源的医疗物流平台OpenLMIS。ESMS主要有两个目标:

  • 作为一个容易使用并且自动化程度高的数字化解决方案,它能减轻医护人员的行政工作负担,使他们将更多的时间投入到医治病人上。
  • 收集准确、及时的药品数据并且生成报表来帮助卫生部更好地计划、分配和派发药品,降低药品的浪费情况。

减轻负担、提高效率

世界卫生组织定义的医药分配方式有两种:推送方式和请求方式。莫桑比克大多数的药品是通过请求方式来得到补充的。在请求方式中,药品需求由下层单位计算,并一级一级向上提出。上层单位接收到请求表之后对药品进行分配和运送。在一些情况下,也有下层单位自己到上层单位的仓库中去提取药品。

莫桑比克已存的药品请求流程通过纸张请求单来完成。每个基层医疗站需要维护很多药品库存卡片,其中每个药品对应一张库存卡片。每个月有一个请求药品的窗口,期间医护人员对库存药品进行清点盘查,记录清点的数量,然后根据库存卡上每天记录的数量和清点数量,在请求单上填写当月的收到、发出、清点值、差值、预估请求量等等数据。

在ESMS中,我们设计了一个电子库存卡,每月到了请求提交窗口,系统会根据日期自动把电子库存卡上的所有信息汇总并填写到电子请求单上。医护人员只需要清点每月的药品库存量,系统会自动计算差值和预估请求量。通过系统的自动化计算填写,为数不多的医护人员得以把更多的时间投入到医治病人身上。

ESMS的另一个优势是能够将库存数据和请求单数据及时地传到上层计划分发单位。纸张表格往往需要人工投递并且有丢失的风险,而电子单能够在有网络的情况下及时可靠地传送数据。 在用户测试中,受到许多医护人员亲睐的另一个产品特性是ESMS的库存告警功能。在库存中有药品快要过期或者存量过低的情况下,系统会发出相应的告警。这些告警帮助医护人员更好计划分配仓库中的药品,以减少浪费。例如,对于同类可替代药品,医护人员可以优先分发存量高、过期日期近的药品。

及时收集数据

实时的库存信息报表可以帮助政府部门和捐赠者更好的可视化莫桑比克的药品状况,作出更好的计划分发决策。然而,当这些库存信息只存在于纸张上时,它们并不能及时地被分析。

在ESMS中,我们记录了每个基层医疗站所有的库存历史。系统在有网络的情况下会每小时把最新的库存数据上传至中央服务器,然后服务器会根据最新的数据生成报表。这些信息帮助政府官员更好地追踪药品使用情况,认知所有医疗站的药品库存量。这带来了三大好处:

  • 更好的追踪和报告减少了药品的浪费;
  • 各层级官员能看到最新的库存信息、更快做出药品配送决策;
  • 历史数据趋势能够帮助预报未来的药品项目需求。有学术研究表明,历史数据的采集和分析能提高未来药品需要的预报准确率达到30%。

我们从中学到的经验

在低资源地区与政府合作实施的技术项目中存在很多与商业伙伴合作不同的挑战。我们从中学到了一些有价值的经验。

设计挑战之一是如何平衡政策的强制执行和基层的现实状况。举例来说,莫桑比克的卫生部要求在18日到25日之间开放药品请求提交窗口。然而,在用户调研中我们发现,部分用户由于地区偏远、基础设施差或者人员短缺等原因并不能在这个窗口及时提交。我们设计的系统既需要遵守政府规定的请求窗口政策,也要存在一定的灵活性来允许所有信息的收集和提交。最终我们决定允许用户在提交窗口过了之后也能上传请求表,然而,表上的数据和请求数量都由系统根据18至25日的数据自动生成而无法被编辑。通过这种方式,我们既收集了数据也没有违反相关政策。 在这个设计中我们参考了“数字化发展原则”中“理解已有生态系统”和“与用户一起设计”的两个原则。我们在开发需求前先理解卫生部的现存规范(理解已有生态系统),并且进行用户调研观察真实的用户场景(与用户一起设计)来保证方案的可持续性和可用性。

另一个重要的决定是我们如何把库存表、请求表等设计成电子表格。这里我们有两个选择:第一是根据已有的纸质表格设计一个样式几乎完全相同的电子版;第二是使用Android推荐的移动端用户体验设计标准和规范。使用现代的移动界面设计既能优化页面性能也能带来我们认为的更好的用户体验。然而,在现实场景中,我们所面对的用户很多没有任何移动设备使用经验(有些甚至不知道如何打开平板),使用我们所熟悉的移动端设计标准需要进行大量的培训。我们最终选择模仿纸质表格来设计电子表,同时加上一些方便用户的特性,例如搜索、自动采集数据和计算、提醒和告警等。这里我们仍然使用了“与用户一起设计”的原则,并且在此基础上考虑了“为扩展性设计”,避免用户培训在系统扩展的过程中成为瓶颈。

从技术上来说,网络连接是基层医疗站面临的主要问题。在大多数时候,我们的系统需要以离线的方式工作,当移动网络存在的时候系统往服务器上传数据。在这个过程中,我们遇到过一些问题,与大家分享以下的经验:

  1. 在初始化的时候,平板需要从服务器上下载所有的医疗站相关配置和药品数据。在网络非常迟缓的情况下,下载无法顺利完成、导致用户登陆出现错误。针对这个问题,我们把数据分成了两部分:首次登陆必需数据与补充数据。必需数据包括用户身份、药品清单、医药项目信息等。对于必需数据,我们设立了一个比较长的timeout;如果在这种情况下必需数据的下载仍然无法完成,系统将告知用户无法登陆,并且记录下载完的数据种类,当用户下次登陆时从下一个数据种类开始下载。而对于补充数据,系统在用户登陆后在后台进行下载,允许用户使用不涉及这些数据的功能。
  2. 当用户键入正确的用户名和密码时,由于时断时续的网络,用户验证仍然可能失败。在一开始的系统设计中,我们只考虑了两种情况:在线或者离线。用户在线的情况下我们把用户验证信息发送到服务器进行验证;离线的情况下我们使用系统自带的认证(当不是首次登陆时)。然而现在,我们必须加上第三种网络迟缓或者不稳定的情况。在这种情况下,当在线验证在一定时间内无法得到应答,系统启用离线验证机制。
  3. 有些系统功能依赖于历史数据。当网络差、后台历史数据下载未完成的情况下用户使用这些功能会导致系统错误闪退。对于这种情况,我们disable了有历史数据依赖的功能直到这些数据下载完成。在用户想使用这些功能的时候我们对用户进行提醒,并且在数据下载完成的情况下重新激活这些功能。
  4. 上传数据完成之后网络突然中断,app端无法得到服务器已收到上传数据的响应,导致数据重复上传。针对这个问题,我们在接收数据端添加了重复数据校验。当发生重复数据上传时,服务器忽略这些数据并通知app端数据已上传成功。

另外,我们使用了一些工具,例如Network Link Conditioners来模拟莫桑比克的网络情况,测试在莫桑比克的数据上传和下载场景。它帮助我们在开发中定位可能出现的网络问题并且对设计进行调整,以此来支撑不稳定和缓慢的网络状况。

ESMS现在已经部署在莫桑比克的三十多个医疗站,并且在医护人员中收到了良好的反馈。我们希望这样的系统能够作为标准化的工具在低资源地区得到扩展使用,帮助决策人员更好地制定计划,最终使这些地区的人民得到更好的医疗保障。

参考文献

  • World Health Organization. “Life Expectancy increased by 5 years since 2000, But Health Inequalities Persist”. 2016 June.
  • Yohannes Kinfu, Mario R Dal Poz, Hugo Mercer et al. “The Health Worker Shortage in Africa: Are Enough Physicians and Nurses Being Trained?” Bulletin of the World Health Organization 2009;87:225-230. doi: 10.2471/BLT.08.051599
  • Bryan Lowell, Michael Conway, Tineke Keesmaat et al. “A Practical Approach to Health System Strengthening in Sub-Saharan Africa”.
  • M.C. Azubuike, John Ehiri. “Health information systems in developing countries: Benefits, problems, and prospects”. J R Soc Promot Health. 1999 Sep;119(3):180-4.
  • Fraser HS et al. “E-health systems for management of MDR-TB in resource-poor environments: a decade of experience and recommendations for future work”. Stud Health Technol Inform. 2013;192:627-31

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

Share

三根柱子

Martin Fowler

11 May 2011

ThoughtWorks是一家不寻常的公司, 这也是为什么像我这样反集团化的人可以在这里一下子工作十几年。ThoughtWorker有一个很重要的共识,就是我们并非把公司看做是一个纯粹的商业实体,而是拥有更远大的格局和视野。在过去的几年中,我们一直在用“三大支柱”的模型来描述我们对自己的设想。

这个模型是从一家叫做“Ben&Jerry’s”的冰淇淋公司借鉴而来的。描述的是一家公司的三大核心支柱:可持续的业务、软件卓越以及社会公正[1]。关于成功,每个支柱都有其自身的定义,不过对于整个公司而言,成功意味着必须去平衡这三大核心支柱。这些支柱本身并不冲突,在通常情况下恰恰是相辅相成的——这也就是“平衡”的意义所在。

可持续业务

“可持续的业务”这一支柱指的是要确保我们有可持续的商业收入。这么多年来,我们在这点上一直做的很好,也正是因为这样,我们才可以继续在这家公司工作。我们已经经历过两次经济衰退期,我认为一个公司在经济衰退期的表现,最能体现出它在商业上的健壮性。在过去的十几年里,我们也同样成长了很多,在我刚加入时,ThoughtWorks在美国办公室有大约300人,而现在在全球范围内已有超过4500名员工。此处应有掌声给到我们的运营管理团队。

然而,商业成就并不能代表一切。这里我引用一个比喻:

收入就好比氧气,你需要它来保障自己的生存,但它却不是你生存的目的。

软件卓越,在广义上我喜欢叫它专业卓越支柱,就是说要把你的事情做得很好。对于Ben&Jerry而言,这个就是指要做出非常棒的冰淇淋。而对于我们,这里指的是交付有价值的软件。我对这个支柱有很多的共鸣,因此我们也一直致力于改进我们做事情的方式。

软件卓越

第二支柱“软件卓越”和第一支柱“可持续的业务”之间有一些有趣的分歧。对于客户而言,我们是一群难相处的咨询师。我们来到他们的公司,使出浑身解数,用我们认为更好的方式,来帮助他们改进开发软件的流程 。这种做法有时会导致一些IT员工强烈不满。记得我们的同事Trevor Mather(曾出任ThoughtWorks的CEO) 对比过ThoughtWorks和他工作过的Accenture,他说ThoughtWorks在软件交付方面做得比Accenture好多了,但是客户更喜欢与Accenture合作。一个同事把我们比作总是不能建立融洽关系的、苛刻的私人教练。

另外一个分歧是关于产品的。我们的产品部门经常接到一些对“卓越软件交付”没有帮助的业务需求 。如果置之不理,我们将会丢失很多业务机会;然而我们也不想耗费人力、物力来增加一些无意义的工作。此外,相比其它供应商,追求第二大支柱——软件卓越会让我们错过许多赚钱的机会。许多咨询公司虽然获得了很可观的收入,但都是来自于一些需要付出大量人力却没有给客户提供足够价值的商机。

更进一步讲,我们认可的软件卓越不仅仅是交付好的软件,还希望能够推动整个软件行业的发展。这就是为什么有那么多的ThoughtWorker愿意在公开场合不停地探讨或者出版图书,去分享我们的工作方式和学到的知识。[2]

社会公正

“社会公正”这一支柱关注的是,我们作为一家公司如何才能对社会产生更广泛的影响——我们可以让世界变得更加美好吗?很多人都认为这跟一家公司是没有任何关系的,一家商业公司就应该赚钱,仅此而已。如果这样的话,只要有人买、卖任何东西就可以,哪怕这个东西会对消费者和社会造成伤害。我不能认同这样的观点——我也很乐意赚钱,但我认为收入应该来源于给消费者和社会提供有价值的事物。

虽然我们为公益事业付出了越来越多的有偿或无偿的工作,但对我来说,“社会公正”并不仅仅意味着这些,它还关乎于我们的核心工作并探索如何造福社会。开发一个软件,可以让一个公司更有效地销售有用的产品,是值得的。尽管改善美国二手车市场的运作并不像在自然灾害中帮助找到孩子那样具有社会魅力,但我仍然认为这是人类在过去几个世纪里更加繁荣昌盛的原因之一。

关于是否为某些客户工作,公司内部因为社会公正支柱产生了很多辩论。这与我们的第一支柱和第二支柱产生了明显的矛盾,我们拒绝了报酬丰厚并且技术上很有趣的工作,只是因为我们认为这些客户不符合“社会公正”的标准。同时,我们也失去了很多优秀的ThoughWorks员工,他们加入了那些认为“社会公正”无关紧要的公司,以便于更好的追求其他。

关于什么是对社会有益、什么是对社会无益,在ThoughtWorks员工中存在非常大的争议。我很高兴我们遵循这样的原则,当我们的员工认为某个客户对社会不负责,而拒绝为他工作时,我们会尊重员工的意愿。在这些决策上,尤其是随着我们的发展,在ThoughtWorks整体上想达成共识就变得更加困难。

我很关注这些支柱之间的矛盾,平衡它们是一件很有趣的事情,而相互促进也同样重要。许多人正是因为我们对社会公正的关注,选择加入并留在ThoughtWorks。我们对软件卓越的专注也造就了“ThoughtWorks”的品牌,使我们更加容易度过衰退期。我们许多的非盈利性工作都是在商业价格的基础上完成的。并且我相信,从长远来看,支柱之间的相互促进会胜过彼此的矛盾。

作为一家公司,我们拥有很多目标,三大核心支柱塑造了一种高效的思考方式来考虑和平衡这些目标。当我们进行决策时,可以从每个支柱自身的角度去评估,最终形成圆满的决策。但还有更多的事情要做,尤其是怎样去评估每个支柱的成败。评估可持续的业务这个支柱相对容易,因为可以跟踪资金流[3]。但是对于其他两个支柱而言,挑战在于找到类似的评估标准,从而更全面地了解我们的进展。

注释

1:我们经常在公司内部用数字来标示这些支柱(在没有想出名字之前)。可持续的业务是支柱1,软件卓越是支柱2,社会公正是支柱3。这些数字并不意味着任何排序。

2:除了营销目的,大部分的咨询公司不会公开谈论他们的工作。这是因为商业计算表明,像写文章和参加会议这样面对公共的工作会减少个人收费时间,造成额外的开销。并且,将关键技术分享给竞争对手和潜在客户是一种愚蠢的行为,因为这使得他们可以在不通过咨询的情况下使用这些技术。

3:实际上这是不容易的。很多公司通过分析其短期的财务状况,比如季度报表,来评价其商业的成败。但是如果我们想要公司能够长期发展,就需要找到一个长期度量的标准,这往往更难。

边蕤 刘丹 井寒 李亚娥 聂桂伶 刘杰凤 张兰兰 石园杰(译)


更多精彩内容,请关注微信公众号:软件乌托邦

Share

Bahmni,公开的敏捷项目

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

IoT与智能时代

IoT(Internet of Thing,物联网)是一个被炒作了很久的概念。它描述的是任何物体都可以连入互联网的万物互联盛世,但是这盛世多少显得有些虚幻。然而在最近,这个概念已经在我们的生活中有了越来越多的真实应用,比如最近红得发紫的共享单车。在这背后,是各种技术的逐渐成熟让物联网时代真正到来:

  • 低功耗微型处理器计算能力越发强劲。智能手机带动了微型处理器的快速发展。这些强劲的微型处理器可以帮助设备获得强大的运算能力,运行复杂的软件,进行高效的信息处理。
  • 设备接入互联网的方式多种多样。WiFi、蓝牙、蜂窝网络、以太网等网络连接的标准已经发展得非常完善,基础设施成熟。这使得各种设备可以方便地选择低成本的方式接入互联网。
  • 适合物联网的传输协议日趋成熟。相较于Web时代的HTTP协议,MQTT、CoAP等新的协议更加适合小型低功耗设备。这些日趋成熟的协议可以帮助设备轻松地与服务器进行数据通讯。
  • 数据分析技术突飞猛进。从设备获得的海量数据必须经过进一步的分析才能够获得洞见,从而能够对设备的运行状况做出诊断和预测,帮助企业提升运营效率。这些都得益于大数据技术的进步。

这些技术使得硬件本身可以支撑计算能力更强的软件,并且可以将数据通过轻量协议传入服务器,并让服务器端的AI高效完成数据的分析处理。在这些技术的支撑下,物联网技术架构所需要的各个模块就完备了:

图1 物联网技术架构

IoT能给企业带来什么

IoT技术是可以应用在任何硬件上的,这意味着它能够给很多行业带来应用价值。在中国,我们曾经误以为智能家居是IoT的最佳应用方向,但是麦肯锡在2015年发布的报告却告诉我们,to C的智能家居其实只是一碟小菜。各个行业都可以通过升级既有设备或者引入新的智能联网设备而享受到这个技术红利。所以像制造业(所谓工业4.0)、智能城市(交通、安防、楼宇、能源)、泛零售(商店、银行、餐馆)这样已经在使用大量设备或者引入新设备的行业就能获得更多的发展机会。

这些各行各业的企业能够从IoT技术中获得的价值包括:

  • 远程获得设备数据。对于依赖设备来运营业务的企业来说,能够实时了解所有设备的运作状态和产生的数据,就能借此全面获知业务的运作情况,并且对未来的业务走势做出预测,对潜在风险进行提前干预。
  • 远程控制管理设备。对于大型公司来说,用标准化的方式控制分布在全国或全球各地的设备是非常痛苦的。但是将所有设备接入互联网后,一切都会变得非常之简单。
  • 智能自动化。当可以对从设备中获取的数据进行智能分析,得出有价值的决策,并进一步自动管控遍布全球的设备时,企业的运营效率将得到巨大的提升。
  • 应用创新硬件。通过引入机器人、无人机等创新设备,企业可以为消费者创造新的服务价值,提升业务的自动化程度,提升企业的运营效率,增加竞争力。

做IoT需要具备的能力

以往的软件开发能力是软件工程师进入IoT的入场券。但是只靠这些能力还无法在IoT领域扮演最核心的角色。在对大量物联网项目进行分析之后,我们发现有3项新能力是软件工程师们进军IoT领域时需要掌握的:

1、软硬件系统集成

将硬件与软件集成并接入互联网,是物联网解决方案建设的第一步。被接入互联网的设备可以实时地向云端的服务器上传数据,使得云端可以了解所有设备的最新状态,为进一步分析这些信息提供可能。

图2 某地铁安防集成平台

我们曾经要为某城市地铁打造一套安防集成平台。地铁运营公司为了有效地保护地铁站点和停车场,希望能够将所采购的各类安防设备集成起来,使之自动化地发现、识别和处理安防警报事件。例如,每当有人穿越禁区边界,周界报警器就能够自动传递警告给服务器,扬声器就会自动触发播放警告声,提醒闯入者尽快离开。安防摄像头也会自动响应,将此区域的实时影像传递给中控室。被集成到中控平台的硬件设备极大地提高了安防业务的运营效率。

2、传感器数据的智能分析

各式各样的传感器可以帮助人类捕获数据。对这些数据的智能分析可以进一步帮助人类获得有业务价值的信息,比如辨别门店顾客的身份、检验产线制成品是否合格、预测机器未来的损坏概率。对数据的智能分析可以帮助企业自动地捕获有价值的信息,帮助企业更有效地运营业务,提前预测未来。

图3 基于激光雷达和无人机的粉末型原料库存测量方案

最近,ThoughtWorks为某国际化肥制造集团设计了粉末库存测量方案。这个集团在巴西拥有拥有20多个工厂,每个工厂有4~6个大型原料池,用于存储粉末型原料。化肥制造集团希望能够精准地了解各个原料池的库存,但是以往只能派人进入危险的原料池用皮尺进行粗略估算,急需更加有效的方式。3D激光扫描器通常被用来给物体做3D建模。当装载着3D激光扫描器的无人机飞过化肥原料堆时,就能够获得粉末原料堆的3D模型。基于这个模型,我们就能轻松地计算出原料的库存。机器加上智能的数据处理算法,就能够帮助企业高效完成人类以往无法做到的事。

3、硬件的智能管理

在对从硬件传感器获得的数据进行处理后,服务器可以智能地做出决策,调度遍布各地的设备完成指令。这就使得设备可以在远端服务器的指挥下自动地运作某种业务。无论是已经成熟的植保机自动喷洒农药,还是未来令人期待的无人驾驶汽车自动接客,都可以让业务运营的效率得以极大地提升。设备将成为人工智能的执行载体。

图4 亚马逊的仓储机器人Kiva 引用自www.biznes.banzaj.pl

最近, 我们帮助某国内企业规划了其AGV仓储机器人管理平台。这家公司在采购仓储AGV机器人后,希望能够深度定制智能调度平台,以便这些机器人能够按照该企业的业务特点来运作,并且与企业的其他业务系统深度集成。为此,我们帮助客户规划了机器人中心控制系统的技术架构,管理仓库中的数十台机器人,使之能够按需领取和执行任务,从而实现仓储分拣业务的高度自动化。

未来的新时代会是什么样的

过去,服务器借助互联网来使用电脑显示器和手机屏幕影响用户,提升了企业的运营效率以及体贴的用户体验。而未来,服务器上的AI将通过物联网找到五感(传感器)和躯壳(执行单元),融入到我们工作和生活的每一个角落,打开提升企业运营效率和创造优质用户体验的新篇章。


更多精彩商业洞见,请关注微信公众号:ThoughtWorks商业洞见

Share