软件工程之美学习笔记四十五 44 | 微软、谷歌、阿里巴巴等大厂是怎样应用软件工程的?

《软件工作之美》材料地址:https://time.geekbang.org/column/article/100716

公司文化和软件开发模式

谷歌:谷歌崇尚工程师文化,Google 的工程师做项目就会不紧不慢,质量优先,有统一的代码规范,严格的代码审查和严谨的自动化测试。还会频繁地重写系统
Facebook:Facebook 有一种黑客精神,“Move Fast and Break Things”

软件项目开发团队组成

  1. 软件开发团队规模小
    最著名的就是亚马逊的“两个披萨原则”,有助于团队成员之间的沟通协作;

软件工程之美学习笔记四十五 44 | 微软、谷歌、阿里巴巴等大厂是怎样应用软件工程的?
(图片来源:Chrome 发布周期)
  • 严格的开发流程
    • 要基于分支进行开发新功能或者修复 Bug;
    • 要遵守公司或者团队的代码规范;
    • 合并之前要有至少一个人 Review 通过;
    • 要写自动化测试代码,并且保证所有测试用例通过。
      谷歌 testing on toilet贴纸
      软件工程之美学习笔记四十五 44 | 微软、谷歌、阿里巴巴等大厂是怎样应用软件工程的?
      (图片来源:微软邹欣:Hit refresh 背后的软件工程革新)
    1. 完善的发布和监控流程
    2. 事后总结,不断改进
      软件工程之美学习笔记四十五 44 | 微软、谷歌、阿里巴巴等大厂是怎样应用软件工程的?
      (图片来源:微软邹欣:Hit refresh 背后的软件工程革新)

    参考阅读

    • 《Google 公司的软件工程之道》
    • 《软件工程在微软的演化——邹欣》
    • 《解密 Facebook 产品的开发流程》
    • 《微软、谷歌、Facebook、Amazon 软件质量控制实践》
    • 《微软开发团队的 DevOps 实践启示》
    • 《The Facebook Mobile Release Process》
    • 《敏捷开发,你真的做对了吗里文娱广告团队敏捷实践总结》
    • 《如何在 2 周内交付 85% 以上需求里工程师这么做》

    精选留言

    kirogiyi
    软件工程方式的使用,或多或少会受到最高领导层管理理念的影响,这从各大公司的组织架构图可以看出一些端倪,比如:Amzon的组织架构图,领导力准则得以全面体现,精确而清晰;Facebook的组织架构图,更利于信息的快速传递和响应,管理方式相对其他公司更加扁平;Google的组织架构图,上层倾向于层级管理,下层倾向于扁平管理,适合于公司指令的上传下达,也适合于不同层级之间的工程师进行沟通交流进步成长。

    如果领导层倾向于规范化流程化,那么采用Amazon的开发方式,明确的分工,明确的目标,这使得贝佐斯的领导力、执行力、远见力得以全面实施。

    如果领导层倾向于激进和冒险,那么采用Facebook的开发方式,只要你够积极,不断创新,即使犯错也是一种进步,不得不说这种方式在小公司开发团队中实施起来更可行,毕竟小公司需要快速响应,快速迭代,快速决策,不可预料的事情比较多。

    如果领导层倾向于人性的发挥,那么采用Google的开发方式(个人认为适合资金比较雄厚的公司),它能让工程师在舒适的环境中充分发挥所长,并去尝试开拓自己感兴趣的新的技术领域,各自都对自己的领域精雕细琢,质量无形中就得到了一定程度上的保证。

    来源:alpha xu

    声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2019年5月22日
    下一篇 2019年5月22日

    相关推荐