Download presentation
Presentation is loading. Please wait.
Published bySuzanna Butler Modified over 9 years ago
1
Agile in a Huge-Waterfall company Wisang Eom
2
Who am I? Working for LG Electronics, Korea – Role: Agile coach & Trainer – Main Activities: TDD, Refactoring, Pair programming Hobby – Translation : Translate Agile books and publish Korean edition
3
What I like the most: XP ●If something is good, do it to the extreme ○If code review is good, why not do it all the time? ■Pair programming ●If walking is good for your health, then why not walk all the time? ○Extreme Coding & Walking ■ https://www.youtube.com/watch?v=JWm4NnpCGgM&feature=youtube_gdata_player https://www.youtube.com/watch?v=JWm4NnpCGgM&feature=youtube_gdata_player ■ http://www.lgblog.co.kr/frnt/postView.dev?ctgrid=8&post_id=688 http://www.lgblog.co.kr/frnt/postView.dev?ctgrid=8&post_id=688 ■ http://news.mk.co.kr/newsRead.php?year=2014&no=1015884 http://news.mk.co.kr/newsRead.php?year=2014&no=1015884
4
What I like the most: XP ●If something is good, do it to the extreme ○If code review is good, why not do it all the time? ■Pair programming ●If walking is good for your health, then why not walk all the time? ○Extreme Coding & Walking ■ https://www.youtube.com/watch?v=JWm4NnpCGgM&feature=youtube_gdata_player https://www.youtube.com/watch?v=JWm4NnpCGgM&feature=youtube_gdata_player ■ http://www.lgblog.co.kr/frnt/postView.dev?ctgrid=8&post_id=688 http://www.lgblog.co.kr/frnt/postView.dev?ctgrid=8&post_id=688 ■ http://news.mk.co.kr/newsRead.php?year=2014&no=1015884 http://news.mk.co.kr/newsRead.php?year=2014&no=1015884
5
Our Products
6
Work flow of typical Electronics Company ●Waterfall is natural : HW is hard to change later. o Board design -> Evaluation Board -> PCB v0.9 -> 1.0 ->... Traditional SW Development in Electronics company Spec. freeze Strict change controlAnalysis Milestone 1Milestone 2...
7
Waterfall in Detail
8
Expectations for Scrum “Productivity 5-10 times industry average has been observed in many Scrums since 1993.” - Jeff Sutherland Is it true in your company?
9
What happens frequently is … “Unfortunately, many organizations change Scrum to accommodate the inadequacies or dysfunctions instead of solving them” - Ken Schwaber
10
What makes it hard to apply Agile? 1. Working in the Trenches 2. Waterfall Assumption 4. HR Policies 5. Systems & Tools 6. Legacy Code 7. Silver Bullet Illusion 8. But Syndrome
11
Training room vs. Trenches
12
Waterfall Assumption 1. Milestone 2. Mini Waterfall 3. Org. Chart == Software Structure Dept. 1 Team 1-1Team 1-2Team 1-3 Comp.1 1-11-21-3
13
HR Policy ● Shared responsibility, but how about evaluation? Shared evaluation? ● Bonus or Incentives ● Roles!
14
Systems & Tools
15
Legacy Code ● 2,000 lines method. ● Code disappeared when scrolling down. ● Ugly but it works!
16
Silver Bullet Illusion
17
But Syndrome! 1. ScrumBut 2. UnitTestBut 3. RefactoringBut 4. CodeReviewBut 5. C.I. But
18
Unit Test But We do unit test but … -check coverage but have no many asserts. -don’t refactor test code. -don’t update test code but ignore when req. changed. -don’t improve the production code
19
Refactoring But We do refactoring but … -It’s done by special team, not us. -don’t care qualitative aspects but cares index only : Cyclomatic complexity < Criteria
20
C.I. But We do C.I. but … - It is maintained by a special team, not us. - we can’t change other’s code - no many tests and not maintained
21
Starting Improvement from the Trenches ●Use the strength of the opponent ●Backward Approach(end -> start) ●Attracting developers: Technically Sexy! ●Spread out slowly
22
SPI org? ● Responsible for company-wide standard process & Tool ● Generally, Agile guys are enemy to them ● Can report to Top management directly ● Can make promotion easily ● Can do company-wide measurement, or auditing easily
23
Backward Approach ●Product Backlog -> Sprint Planning -> Daily Scrum -> Sprint Review -> Retrospective ●Retrospective - Sprint Planning: DoD, Task Size,... - Backlog Clarification & Refinement - C.I: Auto Build, Test Automation * Invite SPI guys to Sprint review and Retrospective. They will be shocked!
24
First Step
25
Sprint Review
26
Critical issue detection ●How much simultaneous is simultaneous? ●How much horizontal is horizontal? ●How much swipe is enough?
27
What Scrum itself can and can’t ●Scrum can o Make things visible, help people see it and learn from it ●Scrum can’t o Make people see it o Make people learn o Make people improve o Make people improve their technical capability
28
How to motivate developers? ●Engineers like cutting-edge technology ●They also like fancy technical practices ●Show them they can sharpen their technical excellence by doing something Agile without telling them it is Agile practices.
29
How to motivate developers? ●Engineers like new technology o Hot topics like Hadoop, Docker, … o Design Principles / Design Patterns o Fancy topics: Fake, Mock, … o Technically Sexy! ●Turn something very hard for them into very easy one.
30
But Syndrome! 1. ScrumBut 2. UnitTestBut 3. RefactoringBut 4. CodeReviewBut 5. C.I. But
31
Trivial is not trivial
32
Make it testable
33
Test Case 1.Given that it is in washing 2.When expected signal comes n times in a row 3.Then we should say it is locked. 1.Given that it is in washing 2.When expected signal comes n-m times in a row, other signals several times and expected signal m times 3.Then we should say it is not locked.
34
Test code TEST(SignalCheck, NotLockedIfSignalNotInARow) { SignalGenerator_GenerateExpectedSignal(n-m); SignalGenerator_GenerateOtherSignal(3); SignalGenerator_GenerateExpectedSignal(m); CHECK_FALSE(isLocked(timer_500us_wrapper, check_signal_count)); }
35
Smart phone application
36
What makes everything hard?
37
Test case 1.Given that a man of height 174cm and weight of 72 kg 2.When he runs around Marina Bay Sands for an hour 3.Then it shows the track record and energy consumption of 105 KCal.
38
Let’s Run the Test
39
How to avoid RefactoringBut 1.Funny Metric: CodeFat 2.Make them exposed to good code 3.Make it fun to code and refactor
40
Google TOTT
41
LG TOTT
42
Conclusion 1. Reality is tough! 2. Many excuses, Hard to change. 3. Use the strength of the opponent. 4. Once started, it gets accelerated 5. Avoid But syndrome 6. Culture first, practice later 7. “Fun” is important! * Still long way to go, Probably endless!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.