Presentation is loading. Please wait.

Presentation is loading. Please wait.

Agile in a Huge-Waterfall company Wisang Eom. Who am I? Working for LG Electronics, Korea – Role: Agile coach & Trainer – Main Activities: TDD, Refactoring,

Similar presentations


Presentation on theme: "Agile in a Huge-Waterfall company Wisang Eom. Who am I? Working for LG Electronics, Korea – Role: Agile coach & Trainer – Main Activities: TDD, Refactoring,"— Presentation transcript:

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!


Download ppt "Agile in a Huge-Waterfall company Wisang Eom. Who am I? Working for LG Electronics, Korea – Role: Agile coach & Trainer – Main Activities: TDD, Refactoring,"

Similar presentations


Ads by Google