Scrum DOES NOT Equal AGILE

Continuous Delivery
7 Jul 202317:47

Summary

TLDR本视频脚本讨论了敏捷开发过程及其误解。演讲者分享了他在不同公司使用敏捷方法的经验,包括所谓的'水Scrum瀑布'模型。他强调了敏捷宣言背后的12个原则,解释了这些原则如何被误解,以及如何正确地实现敏捷。演讲者还讨论了在组织中引入敏捷性的挑战,包括信任、勇气和持续交付的重要性。他指出,没有技术敏捷性,真正的敏捷性是不可能实现的,而持续交付是实现敏捷性的关键。

Takeaways

  • 😀 作者在多个公司中工作,这些公司虽然采用敏捷方法,但通常不承认其为瀑布模型(Waterfall)的一种变体,即所谓的'Water Scrum Fall'。
  • 🔧 作者在20多年前作为开发者工作时,公司采用了极限编程(XP)和配对编程等敏捷实践,而作者的第一份教师工作是教授Java编程,采用的是瀑布模型。
  • 🤔 尽管作者现在对瀑布模型持批评态度,但当时并未看到问题,这反映了对敏捷和瀑布模型理解的演变。
  • 👨‍🏫 作为敏捷教练,作者在过去10年或更长时间里帮助组织采用敏捷流程,但并非所有敏捷教练都能改变管理层决定的流程。
  • 📝 敏捷宣言背后的12条原则经常被忽视,人们更倾向于记住敏捷宣言中的四个价值观。
  • 💡 敏捷宣言的价值观有时会被误解,例如'响应变化'被错误地解释为不需要计划。
  • 🔗 作者强调,敏捷宣言中的价值观并不意味着放弃计划或文档,而是强调在计划和文档需要时能够适应变化。
  • 👥 敏捷宣言中强调的'个体和互动'比流程和工具更重要,但实践中往往因为沟通困难而倾向于增加流程和工具。
  • 🌐 技术敏捷性是实现真正敏捷的关键,没有持续交付或集成的支持,敏捷开发将无法实现。
  • 🚫 作者批评了一些组织只是表面上采用敏捷实践,如每日站立会议和使用JIRA等工具,但没有给予团队信任和勇气去真正地适应变化。
  • 🔄 敏捷的核心是'检查和适应',这意味着需要定期检查工作进展并根据反馈进行调整。

Q & A

  • 什么是敏捷开发中的'water scrum fall'?

    -在敏捷开发中,'water scrum fall'是指一种混合了传统瀑布模型和敏捷开发的实践。它通常包括大量的前期分析、一些敏捷迭代,然后是大量的测试和集成。这是一种在阶段门模型中工作的方式,但并非真正的敏捷。

  • 脚本中提到的'stage gate model'是什么?

    -'Stage gate model'是一种产品开发流程,它将开发过程划分为多个阶段,每个阶段结束时都有一个决策点或'gate',以决定项目是否应该继续进行。这有助于管理风险并确保项目按计划进行。

  • 脚本中提到的'XP'是指什么?

    -'XP'指的是极限编程(Extreme Programming),它是一种敏捷软件开发方法,强调技术实践,如测试驱动开发、持续集成、结对编程和重构。

  • 为什么脚本中的演讲者最初认为瀑布模型没有问题?

    -演讲者最初认为瀑布模型没有问题,因为他当时年轻,需要工作,而且他认为瀑布模型允许人们精确地计划他们想要制作的东西,然后分析所需时间,设计,实现,集成,并最终得到一个完整的工作产品。

  • 为什么Dave Thomas认为'敏捷已死'?

    -Dave Thomas认为'敏捷已死'是因为他观察到人们使用敏捷流程的方式已经不起作用了。他提倡应该更多地关注敏捷原则背后的思想,而不是严格遵循敏捷流程。

  • 敏捷宣言中的12个原则是什么?

    -敏捷宣言中的12个原则包括:1) 优先满足客户通过早期和持续交付有价值的软件;2) 欢迎在开发过程中改变需求;3) 频繁交付可工作的软件;4) 商业人员和开发者必须每天一起工作;5) 围绕有动力的个体构建项目;6) 面对面交谈是最有效的信息传递方式;7) 可工作的软件是开发的首要指标;8) 敏捷流程促进可持续发展;9) 持续关注技术卓越和良好设计;10) 简化工作是至关重要的;11) 最好的架构、需求和设计来自自组织团队;12) 定期回顾并调整行为。

  • 脚本中提到的'Manifesto for Half-assed Agile Software Development'是什么?

    -'Manifesto for Half-assed Agile Software Development'是由Kerry Buckley创造的一个幽默的敏捷宣言版本,它通过添加一些额外的文本来讽刺那些只遵循敏捷宣言的字面意义而不真正理解其背后原则的实践。

  • 为什么脚本中的演讲者认为'响应变化'比'遵循计划'更重要?

    -演讲者认为'响应变化'比'遵循计划'更重要,因为即使有计划,也应该接受对计划的变更。敏捷并不意味着没有计划,而是意味着如果计划有变更,应该拥抱这些变更。

  • 脚本中提到的'技术敏捷性'是什么?

    -技术敏捷性是指在软件开发过程中,团队能够快速适应变化并持续交付高质量软件的能力。这包括拥有良好的测试基础设施、自动化工具和持续集成/持续交付的实践。

  • 为什么脚本中的演讲者认为'每日立会'(Daily Scrum)很重要?

    -演讲者认为'每日立会'很重要,因为它是一个沟通的平台,团队成员可以讨论他们需要帮助的事情、提出问题或分享他们的疑惑。这些短会议对于团队协作至关重要,有助于确保项目按正确的方向前进。

  • 脚本中提到的'AINO'是什么意思?

    -'AINO'是'Agile In Name Only'的缩写,意思是表面上声称是敏捷的,但实际上并没有真正实施敏捷的原则和实践,只是名义上的敏捷。

Outlines

00:00

😀 水平流程与敏捷实践的个人经历

本文段中,演讲者分享了自己对水平流程(Waterfall)和敏捷(Agile)方法的个人见解。他坦白自己从未在真正的水平流程中工作过,但曾在多个公司中以阶段门模型(Stage Gate Model)工作,这实际上是一种所谓的'水Scrum瀑布'(Water Scrum Fall)。演讲者还介绍了自己作为敏捷教练的经历,以及如何面对对敏捷流程持怀疑态度的人。他强调了敏捷宣言背后的12条原则,并指出敏捷的本质是关于原则而非严格的流程。

05:01

😕 敏捷宣言的误解与正确解读

在第二段中,演讲者讨论了敏捷宣言的四个核心价值点:个人和互动、工作的软件、客户合作以及对变化的响应。他指出这些原则经常被误解,举例说明了'半吊子敏捷软件开发宣言'(Manifesto for Half-assed Agile Software Development),并解释了这些原则的正确理解方式。演讲者强调,敏捷并不意味着没有计划,而是要接受计划的变化;合同谈判是可以接受的,但应该具有灵活性;工作软件比文档更重要,但文档仍然需要更新;最重要的是,个体和互动比流程和工具更为重要。

10:03

🤔 敏捷实践中的挑战与个体价值

第三段中,演讲者探讨了在敏捷实践中遇到的挑战,特别是如何真正地重视个体和他们之间的互动。他比喻了组织中的流程如同疤痕组织,指出过多的流程会导致组织变得不灵活。演讲者认为,应该通过增加个体间的沟通和互动来提高组织的敏捷性,而不是简单地增加流程和工具。他强调了每日站立会议的重要性,以及如何通过这些会议来促进团队成员之间的沟通和协作。

15:06

🛠️ 技术敏捷性与持续交付的重要性

在最后一段中,演讲者强调了技术敏捷性的重要性,并指出没有持续交付或至少是持续集成,就无法实现真正的敏捷性。他讨论了敏捷性的核心——检查和适应(Inspect and Adapt),并解释了为了适应变化,需要管理层和客户的信任,以及能够快速响应变化的技术基础设施。演讲者批评了一些组织只是表面上实行敏捷,但实际上并没有赋予团队必要的信任和勇气去改变软件。他总结了真正的敏捷性需要的要素,并鼓励观众探索更多关于团队合作和领导力的技术和方法。

Mindmap

Keywords

💡敏捷开发

敏捷开发是一种以人为核心、迭代、循序渐进的软件开发方法。它强调适应性、协作和对变化的快速响应。在视频中,敏捷开发被讨论为一种更灵活、更适应变化的软件开发方法,与传统的瀑布模型形成对比。

💡瀑布模型

瀑布模型是一种线性且顺序的软件开发方法,其中每个阶段必须在下一个阶段开始之前完全完成。视频中提到,尽管瀑布模型在某些情况下有其优势,如能够精确规划和设计,但在快速变化的环境中可能会显得不够灵活。

💡Scrum

Scrum是一种敏捷框架,用于开发和维护复杂产品。它强调迭代进展、持续改进,并在团队成员之间促进透明沟通。视频指出,Scrum是敏捷开发的一种形式,但并非敏捷的全部,也不是所有敏捷开发都必须采用Scrum。

💡敏捷原则

敏捷原则是指导敏捷开发实践的一系列价值观和原则,包括客户合作、响应变化、个体和互动的重要性等。视频中提到12条敏捷原则,它们是敏捷实践的核心,强调了与客户合作和响应变化的重要性。

💡持续交付

持续交付是一种软件开发实践,它允许开发团队频繁地向生产环境交付软件的更改。视频中强调,为了真正实现敏捷,团队需要有勇气和技术能力去不断交付和适应变化,这是敏捷开发的关键组成部分。

💡技术敏捷性

技术敏捷性指的是软件架构、代码质量和开发流程的灵活性,使得团队能够快速适应变化。视频中提到,没有技术敏捷性,就不可能实现真正的敏捷开发,因为它支持快速和频繁的软件交付。

💡每日立会

每日立会,或称日常Scrum,是一个短会议,团队成员报告他们的进展、即将进行的工作以及任何阻碍。视频中讨论了每日立会的重要性,它不仅是一个过程,而是一个促进沟通和问题解决的工具。

💡个体和互动

个体和互动是敏捷宣言中的一个核心价值,它强调团队成员之间的沟通和协作比流程和工具更为重要。视频中提到,尽管流程和工具可以帮助团队工作,但真正的敏捷需要重视团队成员之间的互动和沟通。

💡工作软件

工作软件是指实际可运行的软件,它是开发过程中交付价值的主要形式。视频中讨论了工作软件的重要性,它比详尽的文档更能体现开发进度和成果,是敏捷开发中衡量进度的关键指标。

💡客户合作

客户合作是敏捷开发中的一个核心概念,它鼓励开发团队与客户紧密合作,以便更好地理解需求并及时响应变化。视频中提到,与客户的持续沟通和合作比合同谈判更能带来竞争优势。

💡响应变化

响应变化是敏捷宣言中的一个关键价值,它鼓励团队接受变化,并将其视为开发过程中的常态。视频中解释了响应变化并不意味着没有计划,而是要有计划并准备好在必要时对其进行调整。

Highlights

作者在多个公司中实践了敏捷开发,并称之为'water scrum fall',即前期大量分析,中间敏捷迭代,后期测试集成。

作为开发者超过20年,作者最初在一个纯敏捷流程中工作,使用XP和结对编程。

作者曾作为教师教授Java编程,当时使用的是Rock过程,这是一种典型的瀑布模型。

作者对瀑布模型的看法有了变化,从最初的认同到后来的尴尬和批判。

作为敏捷教练,作者在过去10年中帮助组织采用敏捷流程。

敏捷宣言的12条原则被提出,强调客户满意度、变更需求的欢迎、频繁交付、团队协作等。

Dave Thomas提出敏捷已死,提倡更注重敏捷原则而非僵化的流程。

敏捷宣言的四大价值被解释,包括个体和互动、工作的软件、客户合作、应对变化。

作者批判了对敏捷宣言的误解,如认为敏捷不需要计划或文档。

强调敏捷流程中计划和文档的重要性,但需要适应变化。

讨论了敏捷合同的概念,强调合同需要一定的灵活性。

作者分享了如何向怀疑敏捷的人解释敏捷的价值和原则。

提到了敏捷流程中个体和互动的重要性,以及如何促进团队沟通。

作者讨论了如何通过日常站立会议促进团队成员之间的沟通。

敏捷不仅仅是Scrum,也不仅仅是使用特定的工具或流程。

敏捷的核心是检查和适应,需要透明度和能够快速响应变化。

作者强调了技术敏捷性的重要性,认为没有技术支持就无法真正实现敏捷。

最后,作者批判了一些组织只是名义上的敏捷,而没有真正赋予团队信任和勇气去改变。

Transcripts

play00:00

I never worked in a waterfall process

play00:02

well of course that's a lie I mean I've

play00:05

never worked in a waterfall process

play00:07

where we actually agreed and admitted to

play00:09

it being a waterfall process

play00:11

I've worked in numerous companies where

play00:13

we worked agile within the gates in a

play00:16

stage gate model

play00:18

we had what people call water scrum fall

play00:20

a lot of analysis up front some agile

play00:23

iterations and then a lot of testing and

play00:26

integration afterwards

play00:30

foreign

play00:37

Corey and I'm a co-host and Dave

play00:39

Farley's continuous delivery Channel

play00:41

welcome to this channel if you've not

play00:44

been here before please hit subscribe

play00:46

and if you enjoy the content today hit

play00:48

like as well before we begin a thank you

play00:51

to our Channel sponsors equal experts

play00:54

try centers transfit and Ice panel all

play00:57

of whom help us grow the channel and

play00:59

provide products that align very well

play01:01

with what we discussed in this channel

play01:03

when I started working as a developer

play01:05

more than 20 years ago we worked in a

play01:08

purely agile process we worked with XP

play01:10

we worked with pair programming we

play01:13

worked very iteratively and in super

play01:15

small increments smaller than two weeks

play01:17

the company I worked for even designed

play01:20

some pair programming tables with help

play01:22

from Quebec ironically my first job as a

play01:25

teacher in industry was actually to

play01:27

teach Java programming in the Rock

play01:29

process which is actually very much a

play01:31

waterfall process

play01:33

at the time I didn't think that that was

play01:34

a problem at all even though we would

play01:37

never work in such a process in our

play01:39

company I could see the point of

play01:41

waterfall process where you can actually

play01:43

plan exactly what it is you want to make

play01:45

and then you can analyze how long it

play01:48

will take and you can make the design

play01:49

and then you make the implementation and

play01:52

then you put all implemented Parts

play01:53

together and then everything works in

play01:55

the end

play01:57

at the time I couldn't really see a

play01:59

problem with it and the people that I

play02:01

was teaching this couldn't see a problem

play02:03

with it either

play02:04

of course I'm immensely embarrassed

play02:06

about that now but I was young and I

play02:09

needed the money now since I've been

play02:11

working in some sort of agile way for

play02:12

the past 20 years I should probably know

play02:15

what to say to people who are skeptical

play02:17

about RTL processes shouldn't I

play02:19

especially since I've been an agile

play02:22

coach for the past 10 years or more

play02:24

and with an agile coach I mean somebody

play02:26

that the management has invited into an

play02:28

organization to make people work in the

play02:31

agile process that they have decided

play02:33

they should work with or at least that's

play02:35

what most agile coaches do

play02:37

I know that there are also some

play02:39

adventurous agile coaches who go out and

play02:41

modify the process that the management

play02:43

decided that people should work under

play02:45

they change it to something that fits

play02:47

the developers better I think that's a

play02:50

brilliant thing to do but you don't

play02:52

always get that choice as an agile coach

play02:54

not all agile coaches can do that so I

play02:57

do understand that there's skepticism

play02:59

around the concept of agile

play03:01

I know that even Dave Thomas who was one

play03:03

of the people who wrote that gel

play03:04

Manifesto started talking about how

play03:06

agile is dead more than 10 years ago

play03:08

what he meant was that the way we're

play03:11

using agile processes Now does not work

play03:14

he says that agility is more interesting

play03:16

but what does he mean by that he means

play03:19

that instead of following an agile

play03:21

process to the letter you should instead

play03:23

think about the agile principles behind

play03:25

it all there are 12 agile principles

play03:29

the first is our highest priority is to

play03:31

satisfy the customer through early and

play03:33

continuous delivery of valuable software

play03:36

number two

play03:37

welcome changing requirements even late

play03:40

in the development agile processes

play03:42

harness change for the customers

play03:43

competitive Advantage three deliver

play03:47

working software frequently from a

play03:49

couple of weeks to a couple of months

play03:50

with preference to the shorter time

play03:52

scale 4. business people and developers

play03:55

must work together daily throughout the

play03:58

project five build projects around

play04:01

motivated individuals give them the

play04:03

environment and support their need and

play04:05

trust them to get the job done 6. the

play04:09

most efficient and effective method of

play04:11

conveying information to and within a

play04:13

development team is face-to-face

play04:15

conversation seven working software is

play04:19

the primary measure of development eight

play04:21

agile processes promote sustainable

play04:24

development the sponsors developers and

play04:26

users should be able to maintain a

play04:28

constant Pace indefinitely

play04:30

9. continuous attention to technical

play04:33

excellence and good design enhances

play04:35

agility 10. Simplicity the art of

play04:39

maximizing the amount of work not done

play04:41

is essential 11. the best architectures

play04:45

requirements and Designs emerge from

play04:47

self-organizing teams 12.

play04:50

at regular intervals the tune reflects

play04:53

on how to become more effective than

play04:55

tunes and adjusts Its Behavior

play04:57

accordingly that's basically

play04:59

retrospectives

play05:01

but unfortunately the 12 principles are

play05:04

very long to read for people so they

play05:06

don't read them

play05:07

it's much easier just to look at the

play05:09

agile Manifesto It's only got four

play05:11

different points individuals and

play05:13

interactions over processes and tools

play05:15

working software over comprehensive

play05:18

documentation customer collaboration

play05:20

over contract negotiation and responding

play05:23

to change over following a plan

play05:25

these four points are easily

play05:27

misunderstood in both directions

play05:29

famously we have the manifesto for

play05:33

half-assed agile software development by

play05:35

Kerry Buckley this adds some extra text

play05:38

to them for example responding to change

play05:41

over following a plan provided a

play05:43

detailed plan is in place to respond to

play05:45

the change and it is followed precisely

play05:47

the subtext to the manifesto for half

play05:49

asked agile software development is

play05:51

while the items on the left sound nice

play05:54

in theory where an Enterprise company

play05:56

and there's no way we're letting go of

play05:58

the items on the right

play06:00

but I also see skepticism arising from a

play06:03

misunderstanding in the other direction

play06:04

it's much easier just to read the agile

play06:07

values and if we look at the last one we

play06:10

value responding to change over

play06:11

following a plan that is very easily

play06:14

interpreted as when you do Agile you

play06:16

don't need a plan

play06:18

because of this we have people claiming

play06:20

that when we are agile it's Anarchy

play06:22

because we never plan anything and I

play06:25

hear people laughing at me when we talk

play06:26

about planning and they say oh I know

play06:29

I'm sorry we're planning so we're not as

play06:31

agile as you want this to be

play06:34

it really makes me angry when people say

play06:36

that but luckily I've worked with my

play06:38

anger management so they don't notice

play06:40

anything but the holes in the walls and

play06:42

the hallways

play06:43

but the point about this agile value is

play06:46

that we value responding to change over

play06:48

following a plan it doesn't mean that we

play06:51

don't have a plan or that we don't try

play06:53

to follow the plan agile doesn't mean

play06:55

that you don't have a plan it means that

play06:58

if you have a plan you should accept to

play07:00

embrace changes to that plan

play07:03

actually I think that making a plan is

play07:05

brilliant no matter how agile you're

play07:07

working it's a very good idea to think

play07:10

things through as far as you can but

play07:12

then you also have to accept that even

play07:14

though you want to think things through

play07:16

you shouldn't dive into analysis

play07:18

paralysis and try to think about all the

play07:20

different eventualities that might arise

play07:22

in the future you should make an

play07:24

overview of the plan and then the closer

play07:26

you come to the different milestones in

play07:28

the plan the more detailed the plan can

play07:30

be it's a little bit like the way that

play07:32

we look at backlogs we say that the

play07:35

tasks described in the backlog need to

play07:37

be more and more precise the closer we

play07:39

get to top priority of the backlog and

play07:42

the further we are away from the top

play07:43

priority the less detailed the tasks can

play07:46

be described

play07:47

but the problem is that people read the

play07:49

principles in a shallow way and

play07:51

misunderstand what being agile is about

play07:53

because they just see that oh we can't

play07:55

follow a plan so that was my rant about

play07:58

0.4 in the agile Manifesto next I'm

play08:00

going to work backwards and tackle the

play08:02

third we value customer collaboration

play08:05

over contract negotiations oh okay so we

play08:08

can't make contracts with our customers

play08:10

you say

play08:11

the only thing that we can do is chit

play08:12

chat with the customers every other week

play08:14

and that's the way that we can make the

play08:16

system that's also not correct it's

play08:19

quite okay to negotiate a contract but

play08:21

when you are negotiating a contract with

play08:23

somebody and you want to work in an

play08:25

agile way then you of course have to

play08:28

tell the customers that you're working

play08:29

in an agile way and that means that

play08:32

we're trying to learn and that we're now

play08:33

creating the contract with some

play08:35

flexibility there's a lot of debate

play08:37

about agile contracts and I'm not going

play08:39

to go into detail with them here

play08:41

moving backwards in the agile Manifesto

play08:44

the previous point is we value working

play08:46

software over comprehensive

play08:48

documentation

play08:49

does that mean that we shouldn't

play08:51

document anything no you've learned it

play08:53

now no you can definitely create

play08:55

documentation but you have again to

play08:58

accept that the working software will

play09:00

change and the documentation has to

play09:02

change with it often the best way to do

play09:05

that is to either make the documentation

play09:07

in the code AS comments or some sort of

play09:10

annotation so that it changes with the

play09:12

code alternatively you just have to

play09:15

revisit the documentation whenever you

play09:17

change the software

play09:18

otherwise the documentation will be

play09:20

stale and nobody will read it and it

play09:23

will have been a waste of time to create

play09:24

it I know that some people have started

play09:26

feeding their code into chat gbt and

play09:28

then the chat GPT will actually make a

play09:30

very nice documentation of their code it

play09:33

could potentially be a bit dangerous

play09:35

because you do not know where your code

play09:36

goes when you give it to a chat bot but

play09:39

if you don't care about that that might

play09:41

be a way to actually keep your

play09:42

documentation up to date and the last or

play09:45

the first point is we value individuals

play09:48

and interactions over processors and

play09:50

tools and this is an interesting one

play09:52

if it is true that we value individuals

play09:54

and interactions over processors and

play09:56

tools why is it then that some of the

play09:59

agile coaches say that if you don't

play10:01

follow this process completely then it

play10:03

doesn't work why is it then that people

play10:05

sometimes say that the toolger is what

play10:08

makes the magical what happened there

play10:11

the problem is I think that it's much

play10:13

easier to use processes and tools and

play10:15

have rules for those things than it is

play10:18

to actually value individuals and

play10:20

interactions between individuals when

play10:22

you have some individuals that need to

play10:24

communicate and you want to make sure

play10:26

that they do it in the right way it's

play10:28

much easier to make them follow a rule

play10:30

set and then if something goes wrong

play10:31

with the communication you're thinking

play10:33

oh we should add some more rules to this

play10:35

we should put some more processes into

play10:37

this maybe we should use another tool to

play10:39

check just how many hours you spend on

play10:42

this task

play10:43

and then something goes wrong again and

play10:45

then they say oh we need more control we

play10:48

need more processes we need more tools

play10:50

and then what happens in an organization

play10:52

like that is that processes are like

play10:55

scar tissue an analogy is that if you

play10:57

cut your hand your skin creates scar

play10:59

tissue to make your skin A Little Bit

play11:01

Stronger so that if you cut your hand

play11:03

again it'll be more resilient and the

play11:06

more you cut your hand the more Scar

play11:07

Tissue you get on your hand but when you

play11:09

get a lot of scar tissue you're not very

play11:11

flexible anymore and rigid processes are

play11:14

like scar tissue in an organization

play11:17

whenever something goes wrong you create

play11:19

another process in order to prevent this

play11:21

failure from happening again but the

play11:23

more processes you put into an

play11:25

organization the less agile it gets and

play11:28

that is why instead of just adding more

play11:30

processes we actually need to add more

play11:32

interaction and communication between

play11:34

the people but that takes time and

play11:37

that's difficult and it's easier just to

play11:39

create more processes and for me that's

play11:41

probably one of the things that it it's

play11:43

most difficult about introducing agility

play11:45

in an organization I can easily make

play11:48

people understand that plans can change

play11:50

by showing them how their own plans have

play11:52

changed previously

play11:53

I can show them that contract

play11:55

negotiation is not as valuable as

play11:57

customer collaboration and how it can

play11:59

work better with demo sessions or better

play12:01

reviews with stakeholders

play12:03

it doesn't take many meetings to prove

play12:05

that the value of what we do becomes

play12:07

better with better communication and

play12:09

they already know that comprehensive

play12:12

documentation that is always right does

play12:14

not exist and that working software is

play12:16

the only thing that is correct all the

play12:18

time but the last point about valuing

play12:21

individuals in interactions that is the

play12:23

hardest thing for me to convince people

play12:25

of in an organization for some reason

play12:28

people are not able to communicate about

play12:30

things like API between systems or how

play12:33

to hand over systems between developers

play12:35

and operations and I know that there are

play12:37

more organizations now where we have a

play12:39

very good collaboration between

play12:40

developers and operations but it's not

play12:43

like that everywhere yet and in general

play12:45

when people are placed in different

play12:47

teams the other colleagues quickly

play12:49

becomes the other people and

play12:51

communication becomes harder but instead

play12:54

of just creating more and more processes

play12:56

and communication layers and tools

play12:58

between these people what we should do

play13:00

is that we should remove all these

play13:01

things and enable them to communicate it

play13:03

with each other to find a way for them

play13:06

to communicate maybe even every day or

play13:08

maybe every other day the actual human

play13:10

beings need to communicate with each

play13:12

other and to say out loud if something

play13:14

is stalling them

play13:15

and here it comes back to the Daily

play13:17

scrum meeting the stand-up meeting that

play13:20

some people hate for various reasons

play13:22

they think that it's a complete waste of

play13:24

time and some days you might not get

play13:26

something out of the daily stand-up

play13:28

meeting but the daily stand-up meeting

play13:29

is there for a reason

play13:31

and instead of just following the

play13:33

process you should ask yourself why do

play13:35

you have this meeting and what are you

play13:37

supposed to get out of it you're not

play13:38

having the daily stand-up to talk about

play13:40

what you did in detail and not to talk

play13:42

about how many meetings you're going to

play13:44

today but it's a forum to talk about

play13:46

things that you need help with or

play13:48

questions that you have or things that

play13:50

you're wondering about and having those

play13:52

very short daily meetings is so

play13:54

important for people to work together I

play13:56

remember once I talked to somebody who

play13:58

was a manager in a company that made a

play14:01

new browser that was much quicker than

play14:03

the existing browsers on the market

play14:05

and I asked him if they were using an

play14:07

agile process and he said no we hate

play14:10

agile it's the worst it's a complete

play14:12

waste of time okay I said so what are

play14:15

you doing then how are you communicating

play14:17

well obviously he said we're

play14:19

communicating every morning just very

play14:21

shortly just to make sure that we're on

play14:23

the right path okay I say right okay how

play14:26

do you make your plans well we do make

play14:28

plans he said but we revisit them every

play14:30

week just to make sure that we're going

play14:32

in the right direction okay and how

play14:35

about your communication with the

play14:37

customer well of course we're

play14:38

communicating with the customers we're

play14:40

showing them what we have from time to

play14:42

time so that we know whether we're going

play14:44

in the right direction or not and we aim

play14:46

to have the software always be shippable

play14:48

we are shipping a new version to the

play14:50

customer every few weeks and then I

play14:53

asked him how is this not agile because

play14:55

we're not doing scrum

play14:57

and this is one of the biggest

play14:58

misunderstandings to say that agile is

play15:01

always scrum and scrum is always agile

play15:03

you can definitely use scrum in an

play15:05

waterfall process you can use scrum as a

play15:07

way to support project managers into

play15:09

seeing exactly what people are doing and

play15:12

how many hours they're using it to do it

play15:14

and you can plan Sprints months ahead of

play15:16

time you can also definitely do Agile

play15:19

development without using scrum or any

play15:21

other documented process such as Crystal

play15:23

dsdm ASD lean kanban XP or AUP the core

play15:28

idea of agile besides all the principles

play15:30

the values and the processes is inspect

play15:34

and adapt if you are inspecting and

play15:36

adapting to what you find out then you

play15:39

are being agile

play15:40

but in order to do that you actually

play15:42

need to inspect you need to be able to

play15:45

see how things are working so you need

play15:47

that openness from the people working

play15:50

perhaps that you're abort with the flow

play15:52

or you need to have demos with the

play15:54

stakeholder so you need to have

play15:55

management knowing what's happening not

play15:57

how many hours you've spent but what's

play15:59

actually happening you need that

play16:01

inspection and then you need to be able

play16:03

to adapt to the situation and adapting

play16:06

to the situation means that you can

play16:08

react to What you see when you inspect

play16:10

but the problem is that there are so

play16:12

many things you need in order to be able

play16:14

to adapt you need to trust from

play16:16

management and you need trust from the

play16:18

customers to change the functionality

play16:20

that you promised into something that is

play16:22

better

play16:23

and you need the management to actually

play16:25

invest in Agile development by

play16:27

supporting continuous delivery because

play16:30

if you do not have continuous delivery

play16:32

or at least continuous integration you

play16:35

cannot be agile

play16:36

because in order to adapt the software

play16:38

you need to have the courage to change

play16:41

the software and in order to do that you

play16:43

need to know that when you make a tiny

play16:45

change somewhere it doesn't mess

play16:47

everything up

play16:48

so we actually need technical agile

play16:51

support in order to be truly agile

play16:53

there's no real agility without

play16:55

technical agility and that means that

play16:57

you have to strive for the continuous

play16:59

delivery that this channel supports in

play17:01

order to have real agility so

play17:04

in summary I see organizations claiming

play17:07

that they agile because they make people

play17:09

stand up 15 minutes every morning and

play17:11

they use jira or Asia devops but if you

play17:14

do not give people the trust and courage

play17:16

and testing infrastructure to change the

play17:19

software you're missing the point and

play17:21

then you're agile in name only which

play17:23

acronym fondly is my name a-i-n-o

play17:28

thank you for watching if you're

play17:30

interested in learning more ideas and

play17:32

techniques for teamwork and Leadership

play17:33

and Tech teams check out our teamwork

play17:36

and Leadership playlist that you can see

play17:38

here

play17:40

foreign

play17:41

[Music]

Rate This

5.0 / 5 (0 votes)

相关标签
敏捷开发瀑布模型软件开发团队协作敏捷教练技术实践计划变更客户合作文档管理持续交付技术敏捷