Top Banner
How engineering practices help business Andrei Rebrov
50
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: How engineering practices help business

How engineering practices help business

Andrei Rebrov

Page 2: How engineering practices help business
Page 3: How engineering practices help business

What is it about

Page 4: How engineering practices help business
Page 5: How engineering practices help business

Who is the target audience?

Page 6: How engineering practices help business

If you are…

• dev (qa, ops) or you want to implement something

• manager who tired of “new methodologies”• coach/consultant who doesn’t know how to

implement certain practice

…then you are welcome!

Page 7: How engineering practices help business

Story time

Page 8: How engineering practices help business

Story# 1. Selenium• Hey, Selenium is awesome!

Let’s write autotests using it!• But we have almost finished

system on TestComplete.• TestComplete - $#$&#!• …

Page 9: How engineering practices help business
Page 10: How engineering practices help business

Don`t!

• Never say that current progress is nothing

• Originality of technology is not a pros

• “It is used by XYZ” means nothing, even if XYZ is Google

Page 11: How engineering practices help business

How it may work

• Attract manual testers – they are your customers

• Show your progress and working demo as often as possible – this is the best way to show how simple and good is it

• Make demo positive – bring tea, coffee and cookies

• Lear how to teach people to use your framework

Page 12: How engineering practices help business

How to sell to business owners• Tests make development cheaper,

because we find bugs earlier• We may not scale QA team for a

long time • We can make more tasks during

iteration• We can release faster and more

often

Page 13: How engineering practices help business

New techonologies are safe and give us advantage

Page 14: How engineering practices help business

Story# 2. TDD• Guys, you need TDD, it rocks!• But we have to rewrite whole out project, so we can test it!!!• So what, you’ll have tests in the end!•…

Page 15: How engineering practices help business
Page 16: How engineering practices help business

Don`t!• Using TDD just for tests and TDD itself is stupid• Using TDD for everyone’s wealth is more stupid • TDD is used by these guys from XYZ… Well, I hope you got it

Page 17: How engineering practices help business

How it works

• Just show video example• Do it by yourself in everyday job• Coding Dojo

Page 18: How engineering practices help business

How to sell to business ownersGuerilla TDD:•Use it for 3-4 weeks•Show to your business improved results (metrics from SLA, bugs, wtf/sec)•Make an agreeement

Page 19: How engineering practices help business

TDD helps to write code effectively

Page 20: How engineering practices help business

Story# 3. Refactoring• Let’s refactor this module!•Why we need this? It works!• But it has millions of violations inside!•…

Page 21: How engineering practices help business
Page 22: How engineering practices help business

Don`t!• When you talk about refactoring,

prepare yourself for resistance, because it’s offence• Rewrite code because this is

what book saying to you - that’s stupid• Be patient, it may take months to

agree on refactoring

Page 23: How engineering practices help business

How it works• Visualize code problems –

SonarQube is good on it, managers are usually scared by numbers• Explain what is technical debt and

how it affects project’s future• Prepare refactoring plan with clear

explanation why and when we should refactor something

Page 24: How engineering practices help business

How to sell to business owners• Show them this chart

• Tell them what happens to debitors =)

Page 25: How engineering practices help business

Refactoring helps not to be afraid of debts

Page 26: How engineering practices help business

Story #4. Automation

• Mike, how about test automation?•Why do we need it?•Well, it’s going to be fun and we can improve our CV!•…

Page 27: How engineering practices help business
Page 28: How engineering practices help business

Don`t!• Automation just for automation is

just like TDD for TDD and we already know how bad is it

• Don’t tell to your team that automation is free to implement

• Remember, there are no free tools, at least they cost you your time

• Try first, recommend after

Page 29: How engineering practices help business

How it works

• Show working example• You should know all pros

and cons• Show different ways how

this tool could be used – more you can offer is better

Page 30: How engineering practices help business

How to sell to business owners• Calculate automation ROI• Compare automation support cost to manual work cost• Expose how expensive might be the problem made by manual work

Page 31: How engineering practices help business

Good robots will save us

Page 32: How engineering practices help business

Story #5. Feature Toggling and Branching•We need to stop feature branching!•Why?• That’s what Martin Fowler said!•…

Page 33: How engineering practices help business
Page 34: How engineering practices help business

Don`t!• Not everyone knows who is Mr. Fowler• Read Fowler first• Don’t use tech terms like cherry pick,

feature branch and so on too much, it’s hard to understand• Saying «feature toggle is like if-else

statement, but not exactly» is not the best way to introduce it

Page 35: How engineering practices help business

How it works

• We save time on branch merging – there are no more branches• Everyone have updated code

and see whole picture• It’s much easier to configure

Continuous Integration

Page 36: How engineering practices help business

How to sell to business owners•Now we can always turn on/off functionality on production if we need it

Page 37: How engineering practices help business

Occama blade

Page 38: How engineering practices help business

Story# 6. Continuous Integration• We need Continuous

Integration, so everyone will know that code is still working!• Why don’t you test it on you

computed?• Why do I need it?• …

Page 39: How engineering practices help business
Page 40: How engineering practices help business

Don`t!• Never say that CI fill find your

bugs, it sounds like you are a bad developer

• CI is not just about running unit tests, if you manager has tech background, don’t say that

Page 41: How engineering practices help business

How it works• CI helps us implement regression testing, so we free our QA•We can automate our processes

Page 42: How engineering practices help business

How to sell to business owners•See automation block• It’s a way to Continuous Delivery

Page 43: How engineering practices help business

CI cares about build stability

Page 44: How engineering practices help business

Story# 7. DevOps• Let’s configure Nagios, Chef,

Graphite and Logstash and become an awesome DevOps!• How it will help us?• Well, it is just about being

modern.• …

Page 45: How engineering practices help business
Page 46: How engineering practices help business

Don`t!

• Don’t sell tools, they alone don’t solve your problem• Building DevOps culture takes

time, don’t make any week estimates• Don’t be offensive to

sysadmins

Page 47: How engineering practices help business

How it works

• Visualization of your process is the easiest way to show that something is wrong• Do some firefighting – quick

win gives you some points• As always, demo works

Page 48: How engineering practices help business

How to sell to business owners• Delivery becomes simple and

manageable• We can delivery in hours not in

days• There is no more lost of

sensible data• We can become feature factory

Page 49: How engineering practices help business

DevOps lets us release first on the market

Page 50: How engineering practices help business

Twitter@andrebrov

[email protected]

Skyperebrov.andrey

Q&A