本节书摘来自华章计算机《需求设计:构建用户想要和需要的产品》一书中的第3章,第3.10节,作者: [英] 克里斯·布里顿(Chris Britton) 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
3.10 学习型的组织
如果IT部门的员工能够采取积极措施来改进其技能与流程,那么IT部门里的很多困难就可以得到缓解。IT部门应该通过下列做法,将自己变成一个学习型的组织。
- 记录项目的各项指标。
- 分享设计方案,并为设计工作制定最佳做法。
- 在部门内部就整个项目或其中的某一方面做展示,以呈现其发展态势的优劣。
- 给程序员一定的时间(可能是在两个项目之间),让他们去尝试新的技术。
- 与其他部门分享这些经验。
像是情境驱动设计这样的设计框架,有助于促成这种学习氛围。我们应该找出本组织的弱项及强项,并找到改进弱项及利用强项的办法。
笔者在第2章讨论了DevOps。它背后的一项原则是,程序员应该具备运维方面的技能,以便实现出能够顺利运作的解决方案。笔者最近写了一个运行在云端的应用程序,由于整个项目都要由我自己来实现,因此我必须完成所有的安装及管理工作。我想这可能就是一位DevOps式的开发者应该完成的事情吧。那么,笔者以程序员的身份来从事运维,感觉到底好不好呢?简单来说:并不好。我不喜欢沉浸在安装、管理和监测等琐碎的细节里面,而且我也很讨厌去梳理那些海量的文档。尽管我不喜欢这些工作,但这不等于说我要彻底否定DevOps这个理念,或是反对其中的其他一些原则。例如,在开发与运维之中维持统一的版本,这条原则我就完全赞同。在理想的状况下,新来的程序员确实应该用6个月的时间来熟悉运维,然而他们也同样应该用6个月的时间来熟悉数据库的设计与管理、用6个月的时间来做情境设计、用6个月的时间来参与安全部门的工作,再用6个月来为技术设计者帮忙。只有使程序员在各个领域之间游走,才能够从中培养出IT专家,这些IT专家,对于营造IT企业的学习氛围来说,会起到相当重要的作用,这种氛围,不能仅仅依靠一些只掌握编程技术的专家来培养。