Home 我们在ThoughtWorks打造一款P3产品
Post
Cancel

我们在ThoughtWorks打造一款P3产品

我们在ThoughtWorks打造一款P3产品

从今年3月份加入ThoughtWorks以来,已经过去了8个月的时间,从刚开始的激动,新奇,到逐渐的适应。虽然8个月的时间不长,但是有些新奇的感悟,并且还是特别强烈。

初识P3

在New Hire Orientation上,公司的HR介绍了ThoughtWorks的3个Pillar。也就是:

  1. 可持续化的业务(Run a sustainable business)
  2. 追求软件和技术卓越(Champion software excellence and revolutionize the IT industry)
  3. 引导社会和经济公平(Advocate passionately for social and economic justice)

ThoughtWorks所做的每一件事,每一个决定都是基于这个三个Pillar。 image 当然每个公司都有自己的Mission和Vision。例如Google的Mission是整合世界的信息,让其可以更有效的被人类利用。(Google’s mission is to organize the world’s information and make it universally accessible and useful. )Facebook的mission是让人们可以更加有效的分享和联结( Facebook’s mission is to give people the power to share and make the world more open and connected.)每个公司无论大小,无论是否被总结写下来,都有自己的Mission,只不过有大小之分罢了。

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

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

缘起

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

直到有一天看到一篇报道文学,讲述是中国人口老龄化,农村和城镇的空心化,产生了大量的留守老人,有一些因为无人照顾,突发疾病,发生一桩桩人间悲剧,具体的我就不详细描述了,因为是实在是太过悲惨。感慨万千一番,我想,自己能做些什么,哪怕能带来一丝丝的改变?当然我改变不了,中国城市化的进程,让大城市的年轻人能回乡照顾自己的亲人;当然我改变不了,国家的户籍政策,让这些留守老人,能在大城市与自己的子女团聚。当然我也改变不了,现在的养老行业,让留守老人可以都住在养老院里,得到基本的照顾。但是我可以做的是,利用自己的技术,帮助他们在生命紧急的关头,发出求救的信号。

开始

产品梳理

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

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

技术选型

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

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

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

产品实现

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

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

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

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

Why

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

This post is licensed under CC BY 4.0 by the author.

图表君碎碎念

Thinking In React Way - 有限状态机

Comments powered by Disqus.