SlideShare a Scribd company logo
Clean Code in Practice -
Getting your R&D on Board
Ruth Sperer
Tech Lead @ AT&T Israel
20 years experience in Software Industry
BA in Computer Science - Tel-Aviv
University
M.Sc. In Computer Science – UMD
Algorithms in
search engines
speech recognition
image processing
Clean code - Getting your R&D on board
Why Clean Code?
AT&T Israel Center of Excellence
R&D Center
500 Employees
AT&T – a learning organization
2012/3 – Agile
2013/4 – Engineering Practices
Focus Areas
Design
Coding
Unit Testing
and... Continuous Integration
AT&T – Implementing Engineering Practices
• Introductory lecture
• Hands-on workshop
• Team coaching (10 days per scrum)
• Champions naming and training
• “Show and Tell” sessions
The process of restructuring existing computer code without
changing its external behavior.
Just like house cleaning..
Do it on a regular basis
Handle one room at a time
If it smells, it’s definitely time to
clean..
Code Refactoring - Definition
Code Refactoring – Baby Steps
“Didn’t change a thing” (© Eran Peer)
• Rename
• Extract variable
• Extract method
• Extract interface
• Move
• Introduce parameter
Code Refactoring….. And what if you don’t…
Code Review - Motivation
Definition: The analysis of source code in order to find defects
• Early bug detection
• Knowledge sharing
• Code improvements
• Social communication
• Understanding
Code Review – Practical guide
• Let the tools work for you:
• Formatter
• Lint
• Find problems, not solutions
• As a reviewer – be kind
• As a reviewed – leave your ego in the drawer
• Don’t skip it (no valid excuses)
The commitment
double edged sword
Real Life Implementation – Process Conflicts
Real Life Implementation – The People
• Keeping the momentum
• The champion dilemma
• The various stakeholders
• Team
• Tech leadR&D leader
• Product owner
• Projects manager
• Marketing
• Engage all stake holders
• Include it in your estimations
• Refactoring backlog
• Refactoring in each sprint
• Show it in your demo
• New project – do it right from
the start
• It’s a journey..
Real Life Implementation – Solutions
Clean Code Matters
Take a Stand
Thank You!
Email: rsperer@gmail.com

More Related Content

PPTX
Working with Legacy Code
PPTX
Working Effectively With Legacy Code
PPT
Getting Unstuck: Working with Legacy Code and Data
PPTX
Single Responsibility Principle @ Clean Code Alliance Meetup
PDF
Adding Unit Test To Legacy Code
PPTX
A Brief Introduction to Test-Driven Development
PPTX
TDD Basics with Angular.js and Jasmine
PPTX
Code Review Best Practices
Working with Legacy Code
Working Effectively With Legacy Code
Getting Unstuck: Working with Legacy Code and Data
Single Responsibility Principle @ Clean Code Alliance Meetup
Adding Unit Test To Legacy Code
A Brief Introduction to Test-Driven Development
TDD Basics with Angular.js and Jasmine
Code Review Best Practices

What's hot (20)

PDF
Code Review Matters and Manners
PDF
Code Review for iOS
PDF
Test Driven Development
PDF
Agile Programming Systems # TDD intro
KEY
Unit Testing Your Application
PPTX
Unit Testing in Action - C#, NUnit, and Moq
PDF
Unit testing (workshop)
PPT
Test Driven Development
PPT
Test driven-development
PPT
TDD (Test Driven Design)
PPTX
TDD - Test Driven Development
PDF
Dependency Injection in iOS
PDF
Giving automated tests the love they deserve at Listings
PPTX
Unit tests benefits
PPTX
Finding a good development partner
PDF
Is this how you hate unit testing?
PPTX
2016 10-04: tdd++: tdd made easier
PDF
Unit Test + Functional Programming = Love
DOCX
Code review guidelines
PDF
iOS Test-Driven Development
Code Review Matters and Manners
Code Review for iOS
Test Driven Development
Agile Programming Systems # TDD intro
Unit Testing Your Application
Unit Testing in Action - C#, NUnit, and Moq
Unit testing (workshop)
Test Driven Development
Test driven-development
TDD (Test Driven Design)
TDD - Test Driven Development
Dependency Injection in iOS
Giving automated tests the love they deserve at Listings
Unit tests benefits
Finding a good development partner
Is this how you hate unit testing?
2016 10-04: tdd++: tdd made easier
Unit Test + Functional Programming = Love
Code review guidelines
iOS Test-Driven Development
Ad

Viewers also liked (10)

PPT
Solid principles
PDF
Oop 2
PPTX
Working Effectively with Legacy Code
PPTX
Scrum in real life devgeekweek 2014
PPTX
Single Responsibility Principle
PPT
6 class design
PDF
Refactoring Legacy Code
PPTX
Writing clean code in C# and .NET
PPT
Working Effectively With Legacy Code
PPTX
C# coding standards, good programming principles & refactoring
Solid principles
Oop 2
Working Effectively with Legacy Code
Scrum in real life devgeekweek 2014
Single Responsibility Principle
6 class design
Refactoring Legacy Code
Writing clean code in C# and .NET
Working Effectively With Legacy Code
C# coding standards, good programming principles & refactoring
Ad

Similar to Clean code - Getting your R&D on board (20)

PPTX
TDD in Agile
PDF
AgileDC15 I'm Using Chef So I'm DevOps Right?
PDF
TDD Anti-patterns (2022 edition)
PPTX
Prashant technical practices-tdd for xebia event
PPTX
TDD - Seriously, try it! (updated '22)
PDF
Becoming android developer for beginners
PPTX
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
PPTX
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
PPTX
TDD - Seriously, try it! - Bucarest Tech Week
PPTX
Extreme Programming (XP): Revisted
PDF
Agile & Test Driven Development: The Ampersand Commerce Approach
PPTX
The role of the architect in agile
PDF
TDD and Related Techniques for Non Developers (2012)
PDF
Good behaviors
PDF
Introduction to TDD
PPTX
Technical Debt.pptx
PPTX
Creating change from within - Agile Practitioners 2012
PPTX
Do testers have to code... to be useful? Janet Gregory and Lisa Crispin plena...
PPTX
Technical Excellence Doesn't Just Happen - AgileIndy 2016
PPTX
Lean-Agile Development with SharePoint - Bill Ayers
TDD in Agile
AgileDC15 I'm Using Chef So I'm DevOps Right?
TDD Anti-patterns (2022 edition)
Prashant technical practices-tdd for xebia event
TDD - Seriously, try it! (updated '22)
Becoming android developer for beginners
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
TDD - Seriously, try it! - Bucarest Tech Week
Extreme Programming (XP): Revisted
Agile & Test Driven Development: The Ampersand Commerce Approach
The role of the architect in agile
TDD and Related Techniques for Non Developers (2012)
Good behaviors
Introduction to TDD
Technical Debt.pptx
Creating change from within - Agile Practitioners 2012
Do testers have to code... to be useful? Janet Gregory and Lisa Crispin plena...
Technical Excellence Doesn't Just Happen - AgileIndy 2016
Lean-Agile Development with SharePoint - Bill Ayers

Recently uploaded (20)

PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
top salesforce developer skills in 2025.pdf
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
L1 - Introduction to python Backend.pptx
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Nekopoi APK 2025 free lastest update
PPTX
Transform Your Business with a Software ERP System
PPTX
history of c programming in notes for students .pptx
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
Introduction to Artificial Intelligence
PDF
Digital Strategies for Manufacturing Companies
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Which alternative to Crystal Reports is best for small or large businesses.pdf
Design an Analysis of Algorithms I-SECS-1021-03
top salesforce developer skills in 2025.pdf
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
L1 - Introduction to python Backend.pptx
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Odoo POS Development Services by CandidRoot Solutions
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Nekopoi APK 2025 free lastest update
Transform Your Business with a Software ERP System
history of c programming in notes for students .pptx
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
How to Migrate SBCGlobal Email to Yahoo Easily
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Introduction to Artificial Intelligence
Digital Strategies for Manufacturing Companies

Clean code - Getting your R&D on board

  • 1. Clean Code in Practice - Getting your R&D on Board Ruth Sperer Tech Lead @ AT&T Israel
  • 2. 20 years experience in Software Industry BA in Computer Science - Tel-Aviv University M.Sc. In Computer Science – UMD Algorithms in search engines speech recognition image processing
  • 5. AT&T Israel Center of Excellence R&D Center 500 Employees
  • 6. AT&T – a learning organization 2012/3 – Agile 2013/4 – Engineering Practices Focus Areas Design Coding Unit Testing and... Continuous Integration
  • 7. AT&T – Implementing Engineering Practices • Introductory lecture • Hands-on workshop • Team coaching (10 days per scrum) • Champions naming and training • “Show and Tell” sessions
  • 8. The process of restructuring existing computer code without changing its external behavior. Just like house cleaning.. Do it on a regular basis Handle one room at a time If it smells, it’s definitely time to clean.. Code Refactoring - Definition
  • 9. Code Refactoring – Baby Steps “Didn’t change a thing” (© Eran Peer) • Rename • Extract variable • Extract method • Extract interface • Move • Introduce parameter
  • 10. Code Refactoring….. And what if you don’t…
  • 11. Code Review - Motivation Definition: The analysis of source code in order to find defects • Early bug detection • Knowledge sharing • Code improvements • Social communication • Understanding
  • 12. Code Review – Practical guide • Let the tools work for you: • Formatter • Lint • Find problems, not solutions • As a reviewer – be kind • As a reviewed – leave your ego in the drawer • Don’t skip it (no valid excuses)
  • 13. The commitment double edged sword Real Life Implementation – Process Conflicts
  • 14. Real Life Implementation – The People • Keeping the momentum • The champion dilemma • The various stakeholders • Team • Tech leadR&D leader • Product owner • Projects manager • Marketing
  • 15. • Engage all stake holders • Include it in your estimations • Refactoring backlog • Refactoring in each sprint • Show it in your demo • New project – do it right from the start • It’s a journey.. Real Life Implementation – Solutions

Editor's Notes

  • #3: Title insignificance – best compliment is great programmer
  • #5: Agile is about constant change and such cannot happen without clean code World of constant change – requirements, product, people – clean code makes it easier to adapt
  • #6: Interwise – acquired in 2007 Main Interest: Telecommunication applications, now also big data
  • #7: Design: templates, patterns, reviews Coding: standards, review, static code analysis Unit testing: methodology, coverage, execution
  • #9: Q: how often do you do it? Term first introduced in 1990, by 1992 was used in context of OOC Personally only heard in in the late 2000’s – beforehand - rewrite
  • #10: Q: what tools do you use Aiding tools: IntelliJ, Eclipse, Resharper, CodeRush
  • #11: Invest when you can – use when you have to Code rots over time Debt has deficit Too much will lead to bankruptcy
  • #12: * Expectations vs. Actual
  • #13: No valid excuses (what happens when I skip it) Harder to submit to one
  • #14: So we’ve got refactoring and Code Review, how do they play with Agile dev? In the short term it takes longer to write clean code (Churchill)