Presentation is loading. Please wait.

Presentation is loading. Please wait.

Bare-knuckle web development Agile Prague Johannes Brodwall, Chief scientist Exilesoft Global.

Similar presentations


Presentation on theme: "Bare-knuckle web development Agile Prague Johannes Brodwall, Chief scientist Exilesoft Global."— Presentation transcript:

1 Bare-knuckle web development Agile Prague Johannes Brodwall, Chief scientist Exilesoft Global

2 Philosophy Demonstration Ruminations

3 Part I:

4 The bare-knuckle philosophy

5 Fear => Pair Hubris => Speed (and fun)

6 High impact with low ceremony

7 Framework light Test-driven No calculators

8 Light on framework

9 Frameworks solve 80% of the job…

10 … and makes the rest 10 times as hard

11 “Why did Hibernate suddenly slow down?”

12 “How do I make JBoss behave the way I want?”

13 “How do I implement a custom SOAP header with JAX-WS?”

14 “Why did my dependencies not inject?”

15 “How do I do anything with Spring”

16 Test-driven

17 Fast feedback cycle

18 “I can see how TDD works for toy examples…”

19 “… but how can we use it when we have all these really complicated technologies???”

20 (Hint: “all these complicated technologies” I think I see your problem right here... )

21 Don’t use a calculator…

22 Part II:

23 Demo: Phonebook web app

24 Part III:

25 The real world

26 Build your app this way?

27 Probably not

28 Well, why not?

29 I am most likely insane

30 Understand what’s going on

31 «Don’t reinvent the wheel»

32

33 Are you using technology to solve your problems?

34 Or so that you don’t have to face your problems?

35 ... yet.

36 Overheated brain

37 95 % test coverage

38 5-10 seconds

39 95 % test coverage 5-10 seconds < 1 day to create «framework»

40 SOAP: 1.Construct XML 2.POST on HttpURLConnection

41 @Override public String getCountryByIp(String ipAddress) { Document soapRequest = soapElement("S:Envelope", $("S:Body", wsxElement("wsx:GetGeoIP", $("wsx:IPAddress", ipAddress)))); Document soapResponse endpoint.postRequest(getSOAPAction(), soapRequest); return $(soapResponse).xpath("/Envelope/Body/*").xpath("GetGeoIPResult/CountryName").text(); }

42 No friction

43 Thinking in tests

44 1.

45 Guiding test/ Web tests/ Acceptance test/ Usage Flow test

46 2.

47 Get the infrastructure to work => separate out responsibility

48 3.

49 Fine grained tests for internal logic

50 Shallow, then deep

51 (without changing tests)

52 Conclusion:

53 YAGNI

54 No calculator until…

55 Don’t use a framework you couldn’t have written yourself

56 Thank you jbr@exilesoft.com http://johannesbrodwall.com http://exilesoft.com/exilee http://twitter.com/jhannes


Download ppt "Bare-knuckle web development Agile Prague Johannes Brodwall, Chief scientist Exilesoft Global."

Similar presentations


Ads by Google