The Best Way to Kill Your Project
Galina Kostetskaya!
Engineering Manager!
14/08/2014
Today’s agenda
• Technical debt!
• Tests!
• Squeeze the juice!
• Crappy code!
• 4 easy steps for PMs!
• How to understand, that we are in a
trouble!
• What PM can do about all of that
stuff!
• Q&A
2© Copyright Innovecs 2012
3© Copyright Innovecs 2012
It always starts in a very !
optimistic way….
4© Copyright Innovecs 2012
Technical debt
is a term to describe the cumulative
consequences of corners being cut
throughout the development
process.
5© Copyright Innovecs 2012
Technical debt
6© Copyright Innovecs 2012
They	
  are	
  so	
  serious,	
  as	
  they	
  are	
  observing	
  how	
  the	
  tech	
  debt	
  is	
  born.	
  10	
  sec	
  before	
  the	
  push.	
  
Someone	
  just	
  said	
  “Let’s	
  fix	
  it	
  after	
  the	
  demo”.
7© Copyright Innovecs 2012
Tests
Your project is like a rocket – you are
moving so fast, that you have no
time for unit tests.
8© Copyright Innovecs 2012
Squeeze the juice
•Short-term speed (Sprint) !
•Long-term speed (Marathon)
you can't have both
9© Copyright Innovecs 2012
Squeeze the juice
10© Copyright Innovecs 2012
Crappy code!
11© Copyright Innovecs 2012
CRAPPY CODE!
rescue kit for PMs (in 4 steps)
12© Copyright Innovecs 2012
Step 1. Identify the problem.
If you hear that the code is crap
while drinking coffee at the
kitchen or passing by the
developer’s table – it’s a bit late.
13© Copyright Innovecs 2012
Step 2. Identify the reason.
Crappy code exists because
developers created it.
14© Copyright Innovecs 2012
Step 3: Act
STOP WRITING JUNK CODE.!
Just stop doing it.!
15© Copyright Innovecs 2012
What if you don’t
16© Copyright Innovecs 2012
What can help
!
• Keep your test’s green. !
• Definition of done.!
• You inherited crappy code from
your descendants: It is not
possible to “overwrite
everything” as your team
advices you. Just start with
reducing the tech debt.
17© Copyright Innovecs 2012
What if you do
18© Copyright Innovecs 2012
Step 4: Everything is ok now? !
It’s time to monitor)
!
• Add the subcolumn “Tech
debt” to your board. !
• Check the “Code health”
rate during the daily
meeting/retrospective.
19© Copyright Innovecs 2012
How to understand, that we !
are in a trouble
•You don’t produce any tech debt.!
•The bugs don’t stop. !
•Your code has too many // @todo: come
back and fix!
•You have no tests.!
•Developers don’t perform refactoring.!
•Velocity is going down.!
•You have a lot of “places” everyone is
scared to touch as they “just work”
20© Copyright Innovecs 2012
What PM can do
•Do not ask your client’s if they need
unit tests. If they need refactoring. You
just do that.!
•Set the process. Just set it, no mess or
“will do it later’ aloud.!
•Make your tech dept visible. !
•Share the code. !
•Perform code reviews.
21© Copyright Innovecs 2012
Thank you!!
!
Galina Kostetskaya!
!
Engineering Manager!
!

Best way to kill your project

  • 1.
    The Best Wayto Kill Your Project Galina Kostetskaya! Engineering Manager! 14/08/2014
  • 2.
    Today’s agenda • Technicaldebt! • Tests! • Squeeze the juice! • Crappy code! • 4 easy steps for PMs! • How to understand, that we are in a trouble! • What PM can do about all of that stuff! • Q&A 2© Copyright Innovecs 2012
  • 3.
    3© Copyright Innovecs2012 It always starts in a very ! optimistic way….
  • 4.
    4© Copyright Innovecs2012 Technical debt is a term to describe the cumulative consequences of corners being cut throughout the development process.
  • 5.
    5© Copyright Innovecs2012 Technical debt
  • 6.
    6© Copyright Innovecs2012 They  are  so  serious,  as  they  are  observing  how  the  tech  debt  is  born.  10  sec  before  the  push.   Someone  just  said  “Let’s  fix  it  after  the  demo”.
  • 7.
    7© Copyright Innovecs2012 Tests Your project is like a rocket – you are moving so fast, that you have no time for unit tests.
  • 8.
    8© Copyright Innovecs2012 Squeeze the juice •Short-term speed (Sprint) ! •Long-term speed (Marathon) you can't have both
  • 9.
    9© Copyright Innovecs2012 Squeeze the juice
  • 10.
    10© Copyright Innovecs2012 Crappy code!
  • 11.
    11© Copyright Innovecs2012 CRAPPY CODE! rescue kit for PMs (in 4 steps)
  • 12.
    12© Copyright Innovecs2012 Step 1. Identify the problem. If you hear that the code is crap while drinking coffee at the kitchen or passing by the developer’s table – it’s a bit late.
  • 13.
    13© Copyright Innovecs2012 Step 2. Identify the reason. Crappy code exists because developers created it.
  • 14.
    14© Copyright Innovecs2012 Step 3: Act STOP WRITING JUNK CODE.! Just stop doing it.!
  • 15.
    15© Copyright Innovecs2012 What if you don’t
  • 16.
    16© Copyright Innovecs2012 What can help ! • Keep your test’s green. ! • Definition of done.! • You inherited crappy code from your descendants: It is not possible to “overwrite everything” as your team advices you. Just start with reducing the tech debt.
  • 17.
    17© Copyright Innovecs2012 What if you do
  • 18.
    18© Copyright Innovecs2012 Step 4: Everything is ok now? ! It’s time to monitor) ! • Add the subcolumn “Tech debt” to your board. ! • Check the “Code health” rate during the daily meeting/retrospective.
  • 19.
    19© Copyright Innovecs2012 How to understand, that we ! are in a trouble •You don’t produce any tech debt.! •The bugs don’t stop. ! •Your code has too many // @todo: come back and fix! •You have no tests.! •Developers don’t perform refactoring.! •Velocity is going down.! •You have a lot of “places” everyone is scared to touch as they “just work”
  • 20.
    20© Copyright Innovecs2012 What PM can do •Do not ask your client’s if they need unit tests. If they need refactoring. You just do that.! •Set the process. Just set it, no mess or “will do it later’ aloud.! •Make your tech dept visible. ! •Share the code. ! •Perform code reviews.
  • 21.
  • 22.