我在世界500强软件公司作开发

简介: 我在世界500强软件公司作开发

前言

在我 10年+ 的职业生涯中,我有幸服务过许多企业,其中,我在世界500强软件公司 FLEXERA 工作了7年,这是很难忘的一段时光,在 FLEXERA 里,我深入参与了公司的多个项目,见证了团队如何高效协作,推动项目从概念到交付的每一个环节。

今天,我将我在 FLEXERA 的开发流程经验整理出来,与大家分享。

技术团队人员构成

  1. Team Leader
    团队领导,负责产品的一切事宜
  2. PM
    产品经理,和团队领导一起负责产品的规划
  3. Support
    类似于国内的运维,主要对接客户,解决客户在使用过程的问题
  4. Development
    程序员团队,实现产品功能,解决产品 BUG,在 Support 需要帮助时协助他们一起解决客户的问题
  5. QA
    质量人员,负责测试产品功能,作好产品质量把关
  6. Document
    帮助文档编写人员,和 QA 一起协助完成文档编写

功能开发流程

  1. 功能需求产生
  • 新功能或功能变更需求主要来自 Team Leader 和 PM
  • 功能 BUG 修复需求主要来自客户和 Support
  • 每个月的 1 ~ 10 号 Team Leader、PM 和 Support 根据功能 / BUG 的轻重缓急程度讨论决定是否将新功能 / BUG 放入下个月的 Release
  1. 功能需求决定后,程序员团队组织会议对每个功能进行讨论,看看这些功能将会影响到哪些部分的代码
  2. 会议后,程序员团队组长分解子任务并分配到每个程序员
  3. 程序员们接到任务邮件后,对各自的任务进行时间评估
  • 如果评估时间过长,组长会询问了解情况,帮助重新评定,如果是经验不足,则指派有经验的组员协助完成任务
  1. 时间评估通过之后,程序员们开始对任务进行调研和设计
  • 这个环节主要是一个 Hight Level 层级的设计
  1. 程序员团队组织会议 Review 每个程序员的设计
  • 参与者:程序员 + QA
  • 会议主要目的:确认设计的可行性和影响性
  1. 设计通过之后,程序员们开始编码实现功能,同时,QA 准备测试用例
  • 程序员们对自己名下的每个任务创建自己的分支进行开发
  • 要求在每月 10 号之前完成开发工作
  1. 程序员完成编码和单元测试,签入代码到测试分支
  • 签入代码时,需要指定人员进行 Code Review
  • Code Review 之后,由指定人员将代码提交到测试分支
  • 代码提交后,Jenkins 自动进行初次编译
  • 如果编译失败则会通知程序员重新编码,重复以上步骤
  • 如果 Jenkins 初次编译通过,则 JIRA 自动通知 QA
  1. QA 手动进行编译,并根据测试用例进行测试
  • 首先是针对程序员们名下的任务的每个分支进行单项测试
  • 最后则是集成所有修改之后进行回归测试
  • 测试是最耗时最受重视的一个环节,从每月的 11 号到月底。
  1. 测试完成后,将最新的产品交付给 Support,Support 则通知客户有新的更新,有哪些更新内容等等。

团队管理

  1. 每周程序员和他的组长有一次 One On One 的单独交流机会,程序员可以提出自己生活或者工作上碰到的问题,也可以提出自己的建议。
  2. 程序员团队每个月一次票选最佳程序员,奖金算是比较可观。
  3. 每个里程碑结束之后,程序员团队可以申请一笔经费用于团队活动,比如吃饭喝 K 等等。
  4. 如果程序员们任务完成得不好,任务被 QA 们 ReOpen,则要扣其 KPI。

最后

以上就是我在世界500强软件公司 FLEXERA 的整个开发流程和团队管理,您觉得跟国内的软件企业相比,有哪些优势呢?国内的软件企业能否参考使用呢?欢迎留言讨论!

我是老杨,一个奋斗在一线的资深研发老鸟,让我们一起聊聊技术,聊聊程序人生,共同学习,共同进步


相关文章
|
编解码 定位技术
Google Earth Engine(GEE)——导出后的影像像素不同于原始Landsat影像的分辨率(投影差异)
Google Earth Engine(GEE)——导出后的影像像素不同于原始Landsat影像的分辨率(投影差异)
706 0
|
小程序 网络安全 Windows
swoole(二)ws与wss的区别
关于ws与wss的区别这里简单的说一下我目前的见解。 如果你有更多的见解欢迎在下方留言讨论。 最简单的理解就是: 服务器上服务端用的是:websocket协议(支持客户端的ws访问) 服务器上服务端用的是:websocket协议+TLS(支持客户端的wss访问) 客户端上用的是: ws协议或者wss协议 Wss与ws其实就和http与https的关系,wss需要验证域名证书,ws不需要验证域名证书。 这个其实都不重要。我们在开发的时候关系不是很大。 下边的才是我要说的重点: Ws链接可以使用IP+端口号的形式访问。 Wss链接只能使用域名的形式访问,因为服务器端需要通过域名来找对应的ssl证书
1690 0
|
JavaScript 前端开发 Python
vue简单实现词云图组件
JavaScript也有许多可以用来生成词云图的库,但我自己其实都没有使用过,之前使用python的时候倒是用过python的wordcloud库,wordcloud库配合jieba库就可以很好的满足词频统计的需求,但在JavaScript这边我还没有了解很多词频统计这块的相关知识,在网上搜索了一番好像都没有搜索到有有关词频统计的相关库,而在词云生成这一方面的相关库倒是发现有不少,如:js2wordcloud、wordcloud2 等等……这些库都很好地实现了词云图片的展示,现在我也尝试着简单封装一个自己使用的简洁版词云图
1201 0
vue简单实现词云图组件
|
4月前
|
存储 安全 编译器
C语言深度解析:setjmp与longjmp——非局部跳转的底层本质与致命陷阱
`setjmp`/`longjmp`是C语言唯一的非局部跳转机制,可跨多层函数直接跳转,实现异常处理、协程等;但易引发未定义行为——需严守volatile修饰、栈帧有效、资源手动清理等规则,堪称强大却危险的“控制流后门”。(239字)
用 Nano Banana Pro 批量生成城市天气视觉卡片
本文介绍如何用Nano Banana Pro批量生成统一风格的城市天气视觉卡片。通过结构化Prompt模版,固定视角、构图与尺寸(1080×1080),结合等距3D卡通风格,将北京、上海等城市的天气信息(晴/阴/雨/夜)转化为直观、稳定的视觉内容,适用于内容平台、城市账号或系统看板,实现高效复用与扩展。
|
网络协议 开发者
探讨UDP协议中connect函数的作用及影响
总结来看,虽然UDP是无连接的,`connect()` 函数的使用在UDP编程中是一种可选的技术,它可以带来编程上的便利和某些性能上的改进,同时它改变的是程序逻辑上的行为,而非UDP协议本身的无连接特性。在实际应用中,根据通信模式和需求的不同,开发者可以根据情况选择是否调用 `connect()` 函数。
466 8
|
缓存 监控 安全
HTTP代理,什么是HTTP代理?HTTP代理如何设置?HTTP代理的用途?
HTTP代理用于访问封锁网站、加速访问、提升安全,国内常用于网络加速。HTTP代理插件提供隐私保护、解除网站限制、增强安全及定制浏览体验。设置代理通常在操作系统网络设置或浏览器选项中进行,输入代理服务器地址和端口。
|
存储 关系型数据库 MySQL
MySQL多表查询之外连接详解
在MySQL数据库中,多表查询是一种常见且强大的功能,允许您在多个表之间执行联接操作,从而检索、过滤和组合数据。在本篇博客中,我们将深入探讨多表查询的一种类型,即外连接(Outer Join),并详细介绍其语法、用途和示例。无论您是刚开始学习数据库还是想深入了解MySQL的查询功能,本文都将为您提供有价值的信息。
1352 0
|
监控
DDN是什么,DDN专线的优势详解
数字数据产品是基于数字数据网(Digital Data Network,简称DDN),利用数字信道提供永久性或半永久性连接电路来传输数据信号的服务。
1266 0
|
机器学习/深度学习 人工智能 达摩院
52个AIGC视频生成算法模型介绍(上)
52个AIGC视频生成算法模型介绍(上)
2348 3

热门文章

最新文章