各个公司的发展过程如何

开发流程是团队内部和各种会议中不断讨论的话题。 而且,当然,对于以某种方式控制开发的每个人来说,它们的优化一直是头疼的问题。


我曾经是一名初级开发人员,非常不喜欢“流程”一词。 所有这些例行会议和其他交流似乎都是胡说八道,这分散了实质性工作的注意力(当然是编写代码)。 我认为这个阶段发生在每个从事开发的人的生活中。 但定期重复此步骤非常有用 :可以优化任何活动(例如,通过完全取消活动),有时对正在发生的事情的无意义的感觉具有真正的治愈作用。




我们决定在6月17日晚在Yandex的莫斯科办公室举行我们的下一次团队负责人聚会 ,讨论开发过程。 报名开放!


我们的专家同意成为:


  • Anatoly anatolix Orlov,Ozon首席技术官
  • SkyEng软件开发主管Alexey Kataev deusdeorum
  • JoomPay首席技术官Alexander Gutman
  • Yandex搜索混合开发主管Evgeny Paramonov
  • Yandex搜索功能负责人Andrey Plakhov yafinder

今天,他们回答了一些问题,以准备将来的讨论:


1.您的公司建立在什么基础上的流程?
2.根据您的经验,团队成功的百分比由正确的流程决定,什么是个人技能?
3.在某些情况下,团队负责人有权无视任何流程吗?
4.用“过程”一词讲述您的经历中的一些恐怖故事

在削减的过程中-大量的讽刺讽刺了问题的作者,最多样化的观点,当然还有恐怖的故事。


臭氧首席技术官Anatoly Orlov anatolix



1.您的公司建立在什么基础上的流程?


我们尝试以尽可能少的时间从构想到实现的方式构建所有流程。 在编程社区中,这种方法称为“无花果和生产中使用”,并且经常以负面方式使用此表达式。 同时,从业务角度来看,快速启动项目或功能,检验假设是更合理的,如果一切正常,请将其添加到目标状态。


这种意识形态是所有流程的基础:微服务可以方便地单独部署; 通过合并到分支自动部署; 由产品,程序员,测试人员和设计师坐在一起的垂直团队,他们有权在职责范围变更之外不与任何人进行协调等。


2.根据您的经验,团队成功的百分比由正确的流程决定,什么是个人技能?


兴趣是错误的。 进行这样的操作大概是值得的:技能决定了您可以运行的系统有多复杂,专家的个人生产率-速度有多快。 糟糕的流程和架构会减慢工作速度,这是对效率低下的一种征税。 原则上,在某些公司中可以征收任何税,即使100%也会发生,但此类组织通常不会长期居住(当然,如果不是“ GBU Housing Sviblovo”)。


3.在某些情况下,团队负责人有权无视任何流程吗?


总是 如果您知道该过程使您感到困扰,但却无济于事,则应进行更改。 另一方面,这并不意味着您可以独自做出这样的决定:与您的同事(如有必要,与您的上司)就此达成共识,这样就不会表明您正在开发新的流程,而团队和整个公司都在旧的基础上,并且结果,什么都没有。


4.用“过程”一词讲述您的经历中的一些恐怖故事


让我用一些可怕的例子更好地写出过程反转的原理。 程序员非常了解依赖倒置的原理,因此过程具有相同的含义。


在以下情况下,您大约需要应用它:假设您来到HR职位空缺,而他们要求您填写一份5页的调查表,询问您要寻找的人。 或者您来索要明显必要的东西,然后要求您写备忘录。


事实证明,此过程非常繁琐且繁琐,因为编写调查表适合您,它会使其他人的生活更轻松(甚至不轻松)。 结果,我们没有机制就问卷中的内容达成一致-2行或5页。


流程倒置原理在这里的应用如下所示:一个人有必要解释为什么他需要开设一个空缺,而人力资源部自己填写了调查表或财务-正式说明。 通常,在这种情况下,事实证明,您整日都不想填写5页的调查表并撰写备忘录,并且该过程将立即生效,而不会产生任何后果。 对于最终客户,该过程变成了“将一个内聚的普通句子写到一个有效的聊天工具中”。


SkyEng软件开发主管Alexey Kataev deusdeorum



1.您的公司建立在什么基础上的流程?


github上有284个存储库:您可以找到任何编程语言的代码。 在我们的20个开发团队中,您甚至可能找到瀑布。 流程的形成以前被留给了下层机构:项目的快速启动和具有7年历史的核心平台的开发需要采用不同的方法。 在每周的团队负责人会议上,我们交流了最佳实践,并且它们在整个公司中慢慢传播。


在目前的规模上,这是行不通的:有些团队负责人缺乏经验,有些缺乏时间。 熵的上升开始带来问题。 去年,我一直在将最佳实践扩展到所有团队,在销售和“做到这一点绝对不错”之间取得平衡。 创建团队时,实施正确的流程会更容易,当团队领导从成功的团队中流失时,甚至会更容易:您无需解释或出售,他知道这是行得通的。


2.根据您的经验,团队成功的百分比由正确的流程决定,什么是个人技能?


以我的经验-100%。 即使一个孤独的开发人员为自己编写代码,他仍然会遵循该过程,尽管很简单。 如果您改写一个问题:“通过更改流程,您能忘记多少个优秀的开发人员团队”,我的回答将是“非常有力”。 重要的不是从代码审查过程,薪水增加和反馈开始,而是从基本的东西开始-计划,优先级划分,与企业的沟通。 顺便说一下,许多没有出色招聘流程的出色开发人员将不会独自出现。


3.在某些情况下,团队负责人有权无视任何流程吗?


当出现无法预料的情况时,没有人准备。 我立即记得ILV,它曾经禁止我们在亚马逊使用数十种API。 然后,我们忘记了看板,没有正确地设置任务,以持续打电话的方式,我们提出了一个行动计划。 一天之内,一切都恢复了。


4.用“过程”一词讲述您的经历中的一些恐怖故事


关于主管如何无限地尊重支付工资的消费者的过程,这是一个可怕的故事。 然后他犯了一个错误,设法将请求发送到付款门。 但我不能在公开场合告诉她:)


JoomPay首席技术官Alexander Gutman



1.您的公司建立在什么基础上的流程?


我们公司的流程只是新兴的。


对于季度计划,我们使用OKR。


下面,我们在其中使用YouTrack和Agile板来计划开发。 我们使用看板。 不是从“负担每个状态中最大数量的任务”的意义上,而是从“懒惰地将任务从冲刺转移到冲刺”的意义上。 带有木板的YouTrack的前身是Excel中的一个板块,具有所有任务并负责任。 而且效果也很好。


2.根据您的经验,团队成功的百分比由正确的流程决定,什么是个人技能?


似乎该问题包含一个假设,即团队的成功完全取决于正确的流程和技能,并且该百分比应总计为100。


但是还有其他重要因素:资源或例如随机资源。 因此,我将回答:10%的流程和10%的技能。


另一方面,不清楚每个因素的影响百分比是什么。 几乎每个复杂的项目都可能因错误的流程或完全缺乏个人技能而失败。 因此,我的答案是:99%的流程和99%的技能。


第三,如果我们谈论非平凡的项目和团队之间的竞争,那么过程很无聊,每个人都应该有一些合理的过程,但是个人技能可以成为差异化因素。 因此,最终答案是:10%的流程和20%的技能。


3.在某些情况下,团队负责人有权无视任何流程吗?


在某些情况下,任何人都可以忽略任何事情。 特别是团队领导-任何过程。


但是我不会那样孤立团队领导。 在这里,我们需要团队内部达成一些共识:流程是不完善的,规则不是通用的,您需要以常识为指导。


说,您需要在带状装饰期间推出错误修正,因为这是合乎逻辑的,而不是因为团队负责人有权。 即使您事先没有对此达成共识,也没有针对这种情况的规则。


4.用“过程”一词讲述您的经历中的一些恐怖故事


要求我回答问题“从您对“过程”一词的经历中得到一些可怕的故事。


Yandex搜索混合开发主管Evgeny Paramonov



1.您的公司建立在什么基础上的流程?


我们喜欢敏捷的原则。 团队以在尽可能短的时间内最大程度地实现公司目标和团队士气的方式来构建我们的所有工作。


由于敏捷的原则之一是“人与人之间的互动比流程和工具更为重要”,因此我们要做的第一件事是纠正Scrum的基本规则。


在团队内部,我们倡导以下原则:


  • 我们每个人都是伐木工人和珠宝商(分析师/测试人员/开发人员)
  • 我们每个人都有自己的长处(帮助朋友/随时询问)
  • 我们每个人都决定最终产品的外观(每个方向都有一个负责任的方向)

开发人员可以独立分析任务,对其进行测试并开始ABT实验。 与CI / CD一起使用,这是一个杀手bunch,它使我们能够尽快行动,因为每个开发人员都拥有整个上下文。 例如,已经在实验过程中想到了一个新的巧妙功能,他迅速实现了该功能,将其推出并进行了另一个实验。


对于每个月,我们都设定了我们要实现的目标,并每周检查进度。 这给了我们灵活性。 即使在一周内,如果这有助于实现本月的目标,我们也可以更改计划。


通过这一过程的组织,管理人员的参与降至最低,团队获得了流动性和长期承诺。


2.根据您的经验,团队成功的百分比由正确的流程决定,什么是个人技能?


时间在前进,世界在变化,我们的流程也在随之变化。


精通是:


  • 建立处理结果的过程;
  • 在当前流程中找出问题并加以解决;
  • 向人们传达对为什么以这种方式组织流程的理解

以我的团队为例,我可以坚定地说这个比例在该地区是一对一的。


我的团队立即处理三个全球领域:研究,机器学习和基础架构(实际上,还有杂货工作)。


在这些领域中,要针对所有可能的情况预先构建流程是相当困难的。 通常,成功取决于表演者及其策展人的专业直觉。


3.在某些情况下,团队负责人有权无视任何流程吗?


如果流程是用技巧构建的,那么这是不可能的。 一个能胜任的过程很可能是建立在其他人的错误之上的。


但是,正如我上面所说,我们一直在前进,世界正在变化,所以迟早会有一种情况,必须忽略或改变这一过程。


蒂姆利德(Timlid)负责团队对实现公司目标的贡献,如果他了解现在和现在有必要采取行动,并且当前的流程对于这种情况肯定还没有做好准备,那么他肯定需要走一条新路。 通过这种选择,值得将他们可能会影响的所有人的行为告知他们。


考虑一个虚构的情况:


  • 管理员意外更改了配置文件,并在15秒后将其自动推出;
  • 搜索变得无法使用,100%的用户遭受痛苦;
  • Timlid和应召集的开发人员进行了呼叫监视,并确定一切都不好,因为错误被注入日志中,并且清楚哪些组件受到了损害。

在这种情况下,该指令的构建应尽可能差,并显示为:


  • 买票;
  • 在此附加所有调试信息和分析;
  • 通过codreview修复它。

如果我们采取这种方式,甚至假设我们做得很快,那将至少需要5分钟,而实时用户则要遭受5分钟的痛苦!


在这种情况下,每一秒钟对我们来说就像死亡。 您需要立即采取行动。 如果可以回滚此配置,请回滚。 否则,请禁用整个组件。 现在和现在。 会议记录-稍后。


4.用“过程”一词讲述您的经历中的一些恐怖故事


当我们还年轻又绿的时候,一个关于过程的可怕故事就发生了。 我们听到了敏捷一词-时尚,时髦,青春。 他们引入了冲刺。


一开始很有趣:一种新的计划出现了。 然后任务开始从冲刺转移到冲刺。 经理问我们:“什么时候?” 我们回答:“明天。” 时间当然要乘以三,但我们仍然不适合冲刺。


逐渐地,我们开始失去道德。 任务堆积如山; 经理不了解发生了什么事; 情况变得难以控制。 结果,我们有一段时间放弃了灵活的方法。


这个故事的寓意是这样的:在引入新流程之前,您需要清楚地理解为什么要这样做以及它比当前的状况更好。


Yandex搜索功能负责人Andrey Plakhov yafinder



1.您的公司建立在什么基础上的流程?


Yandex是一家非常大的公司,非常非常民主。 无论我在这里写什么概括,都存在Yandex.Botinki服务的某个地方,事实证明这是完全不同的。


在我观察到的地方,它的工作原理是这样的。 大规模过程有严格的标准。 清楚地写出了如何确定六个月至一年的单位目标,我们如何就成功和失败达成共识。 它是如何建立,更改的,以及员工的职等会受到什么影响,保费和期权的支付方式,部门之间的雇用和过渡方式等。


但是在几乎每个地方的微观管理级别,根据团队将遵循的生活规则,它可以决定自己。 任务的转变,工作会议的时间表和内容,那里的一些站立姿势,冲刺等等。 有人为自己安排了一个理想的“像书中一样”,而对于一些小团队来说,则是无政府状态。 但是,即使是最无政府主义者在某个时候也意识到生活“如何运作”并非最佳选择。 而且由于人们很聪明,因此很快就来了。 据我所知,这里没有瀑布(尽管我不会为参与铁杆比赛的队伍提供担保)。


作为部门主管,我对部门中的流程要求一个相当适度的标准:应该可以随时查看谁在工作中有哪些特定任务,他们在这种状态下待了多少时间以及最近关闭了哪些任务。 为此,只需在公司标准任务跟踪器的顶部使用在线看板即可(从理论上讲,这不是必需的,但实际上,所有团队都可以这样做)。


2.根据您的经验,团队成功的百分比由正确的流程决定,什么是个人技能?


通常,最重要的是业务模型的成功。 如果组织没有弄清楚该卖什么,卖给谁和怎么卖,那么理想的流程或独创的开发人员都将无济于事。 因此,假设业务正在运转,并且我们正在谈论长期发展,产品质量,多元化等。


那么答案很大程度上取决于团队的规模。 一个由五个人组成的团队的成功几乎是由人们决定的。 一家拥有500家或以上企业的公司的成功几乎是由正确的组织决定的。 货运狂热者,当一家小型创业公司试图遵循例如IBM发明的规则时,当以前的“链接”成为“百夫长”但试图遵循旧的方式时,这与彼得原则同样有害。


还必须说,在巨大的工业巨头内部,由几个人组成的非常封闭的团队非常具有代表性。 但是,不幸的是,这种状况结合了两个世界的最坏方面,反之亦然。 即使是在现成的基础设施上,一群软弱的人也不会掌握任何明智的方法,而错误的流程也会使这支明星队泛滥成灾,没有人会注意到。


3.在某些情况下,团队负责人有权无视任何流程吗?


当然可以,“火”这个词在这里非常合适。 如果:


  • 意外情况
  • 如果碰巧会迅速恶化,
  • 快速果断的干预可以为您提供帮助,
    然后要遵守规则和“正确性”!

最主要的是,这种情况不会给蒂姆利德带来快乐,否则我们冒着一段时间后发现他周围发生火灾的风险比组织平均水平高得多的风险。 原因是完全不可理解的。 某种神秘主义。


4.用“过程”一词讲述您的经历中的一些恐怖故事


很久以前,甚至在Yandex开发计算机游戏之前,我就遇到了我一生中最可怕的过程。 一家新的但富裕且雄心勃勃的公司刚搬到新办公室的第一场比赛有一百多人。 此外,任何金额的浪费都应该得到首席执行官的批准。 购买50台服务器? 为程序员更换一把破旧的椅子? 下周要午餐吗? 办公室经理的纸夹用完了吗? 一个人决定所有事情,桌上堆满文件。 您可能会猜到,即使使用卫生纸,也会由于这种“过程”而发生中断。 为了恰当地想象发生的事情的恐怖,值得一提的是,总导演将这个角色与创意总监的角色(如SRO现在所说的)以及游戏首席设计师的角色相结合...




您仍可以注册的下一次会议将于2019年6月17日在Yandex莫斯科办事处举行。 可以向演讲者提问并分享他们的经验。

Source: https://habr.com/ru/post/zh-CN454864/


All Articles