我们在ThoughtWorks打造一款P3产品

从2016年3月份加入ThoughtWorks以来,已经过去了十个月的时间。从最初的激动,到逐渐的适应,这其中有一些感悟想要与大家分享。

初识P3

在新人入职培训中,公司的HR介绍了ThoughtWorks的三个支柱。也就是:

  1. 可持续化的业务
  2. 追求软件和技术卓越
  3. 提倡社会和经济公正

ThoughtWorks所做的每一件事、每一个决定都是从这个三个支柱出发的。

1-tw-3pillars

当然每个公司都有自己的使命和主张。例如Google想要“整合世界的信息”,让其更有效的被人类利用。Facebook则致力于“让人们可以更加有效的分享和联结”。每个公司无论大小,无论是否被总结成文字,都有自己的使命,只不过有大小之分罢了。

ThoughtWorks的前两个支柱都很好理解,我们追求可持续化的业务,我们追求软件技术的卓越。例如我们定期会发布技术雷达,为行业提供技术选型的指导。我们为客户提供敏捷软件工程方法,提高客户的软件工程质量。但是ThoughtWorks将“提倡社会和经济公正”作为自己的使命之一,而且写出来说出去,在之前我并不是十分的理解。追求社会和经济公正,在一个国家来说,不应该是政府应该做的事情吗?如果提到“人类”的高度上来说,那不应该是联合国应该做的事情吗?会不会是仅仅说说而已?

很多大公司也做慈善,比如说会捐献一些善款,组织一些公益活动。当然这些都是很好的回馈社会的方法。但ThoughtWorks的做法的确不同,公司更多的是利用自己的技术,来推动和影响社会和经济公正。ThoughtWorks与很多NGO组织合作,利用技术的手段来帮助他们提高IT能力,让他们能更高效的完成工作。ThoughtWorks组建的思沃学院,为在校的学生提供更多技术指导和培训,帮助学生成长。当看到这些以后,我慢慢的觉得,公司的P3好像并不是仅仅的说说而已,而是尽自己的能力,来改变一些事情。实话实说,这种冲击对我来说还是挺大的,但更大的冲击,是来自于我看到了“心声”这个APP。

缘起

“心声”是ThoughtWorks西安办公室的开发人员,利用自己的业余时间,做出的一款帮助聋哑人与正常人交流的APP,可以让正常人的语音转换为文字,帮助与聋哑人交流。这是我之前根本不会想到的事情,当我看到身边的同事,话费着自己的业余时间,利用自己的技术,在实实在在帮助聋哑人的时候,感受到P3文化已经融到了TWer的DNA里。在这家公司做这样的事情,是一种自然而然的事情。那么我又能做点什么呢?

直到有一天看到一篇报道文学,讲述是中国人口老龄化,农村和城镇的空心化,产生了大量的留守老人。有一些老人长期无人照顾,在突发疾病时容易酿成人间悲剧。具体的我就不详细描述了,因为是实在是太过悲惨。感慨万千一番,我想,自己能做些什么,哪怕能带来一丝丝的改变?

2-liushou

我改变不了中国城市化的进程,无法让大城市的年轻人能回乡照顾自己的亲人;

我改变不了国家的户籍政策,无法让这些留守老人在大城市与自己的子女团聚。

我也改变不了现在的养老行业,无法让留守老人都住进养老院里,使之得到基本的照顾。

但是我可以做的是,利用自己的技术,帮助他们在生命紧急的关头,发出求救的信号。

开始

产品梳理

基于这样的想法,我与身边的小伙伴一起商议得出了一个成型的方案,简单来说就是开发一个APP,搭建一个平台。在一个城市、一个社区,或者村庄里,招募志愿者。同时开发老人端的APP,和一些硬件设备,比如说手环、手表等等。当老人发生危险或者需求救助的时候,他可以按下这些设备上的救助按键。那么这个救助信息就会在平台上发布,附近的志愿者就能看到,从而在最短的时间内能提供救助,避免悲剧发生。当然这只是一个初始的想法。紧接着我们就做了一次User journey,梳理了对于我们最为关键的需求点。

3-ag-user-journey

理清楚需求后,按照优先级划分好任务,并建起了我们的项目看板,追踪项目的运行情况。

技术选型

产品需求梳理好了以后,下面的问题就是如何进行技术选型了。第一个问题就是由于我们都缺乏相关硬件知识,在考察了市面上现有的手环之后,并没有发现可疑提供SDK让我们直接利用的。又想到了Apple Watch,但是考虑到高昂的价格并不是一个最好的选择。于是乎,还是决定再做一个针对老人的手机APP。

4-aidsgo-elder-app

5-aidsgo-elder-app-2

同样因为我们的Mobile开发经验并不是特别的丰富,于是选择了React Native。并设计出了我们的系统构架图。

6-ag-tech-artch

由于迟迟没有找到一个合适硬件产品来触发求救信息,让我们始终觉得这还不是一个真正可用的产品。终于有天,公司广发英雄帖,召开技术大赛。并在邮件中介绍了一款AWS刚出的硬件设备——AWS IOT Button。这让我们都眼前一亮,这不就是我们要找的东西吗。简单来说IOT Button的按键可以trigger AWS上的一个lambda。有了这个,后边的事情就是我们的强项了,于是乎立马报名参赛,并购入了IOT Button。

产品实现

下面就进入到了具体开发的阶段,充分发挥每个人的特长。虽然大家都是开发,但是有人有UX的特长,有人有mobile的特长,大家各尽所能,发挥自己的特长,让这个产品越来越好,首先就是UI设计。

7-aidsgo-app

8-aidsgo-app-2

React-Native可以说是给传统的APP开发带来了新的方式,可以让传统的web开发人员快速实现产品。但同样也带了不少问题,例如API的变化,第三方组件的支持,好在我们的产品场景相对的简单,所以使用ReactNative还是一个比较好的选择。

同时救助者的实时位置同步也是一个比较大的挑战,我们可以在自己的后台的实现一套消息队列的服务,来做位置同步。但是最终我们使用了市面上成熟的实时数据同步服务,来快速实现产品。

目前产品已经进入了后期开发的阶段,小伙伴们在进行最后的优化,期待能在最后技术大赛的showcase里拿出一个能够成行的,可以真正帮助到老年人的产品出来。

为什么做这些

从初始想法的生成到如今产品的逐渐成型,我们花费了不少业务时间,有朋友问做这些事的意义是什么?其实我现在也说不好,在加入ThoughtWorks之前,遇见一些社会事件,可能最多就是捐点钱,在网上转发转发、评论评论。加入了ThoughtWorks后,看到了很多、也想了很多,自己也想真正做些东西出来让这个社会变得更加美好一些。

Share
陈东

陈东

陈东,ThoughtWorks咨询师,熟悉Web系统构建与开发,数据分析等领域,对数据可视化领域有一定的研究。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.