1 / 107

Extreme Collaboration

Extreme Collaboration. TODO: Good pairings: Senior/senior: Ping-pong Respectful senior/senior: Stategist /tactician Junior/junior: Timer Junior/senior: Driver/trainer – optimize learning Junior/senior: Co-pilot/pilot – optimize progress. Johannes Brodwall Exilesoft Chief scientist

chung
Download Presentation

Extreme Collaboration

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Extreme Collaboration TODO: Good pairings: Senior/senior: Ping-pong Respectful senior/senior: Stategist/tactician Junior/junior: Timer Junior/senior: Driver/trainer – optimize learning Junior/senior: Co-pilot/pilot – optimize progress Johannes Brodwall Exilesoft Chief scientist @jhannes

  2. How can a team collaborate well?

  3. This talk is for you if you…

  4. You work in a team, but...

  5. Your team doesn’t feel like a team

  6. XP: Collective code ownership Pair programming Whole team Sustainable pace

  7. Defining pair programming

  8. Two people working on the same files

  9. Who has tried pair programming?

  10. Positive experiences

  11. Negative experiences

  12. Why no more?

  13. After this talk

  14. Commit to try

  15. A sad team A super team Getting to great

  16. Part I

  17. The sad team

  18. Johannes: You’llcreate CRUD SOAP service for projectswithapplications Planning Okay Johannes Johannes Backend dev “Scrum” “Master” The sad team

  19. How longwill it take? Planning Um… Johannes Johannes Backend dev “Scrum” “Master” The sad team

  20. Planning It’s prettyeasywithHibernate Okay, 8 hours for each of Create… then Backend dev 2 Johannes Johannes Backend dev “Scrum” “Master” ! The sad team

  21. Stand-up Today, I willworkonCreate Project Designer Frontend dev Database dev Johannes Johannes Backend dev Scrum master The sad team

  22. Stand-up No impediments Designer Frontend dev Database dev Johannes Johannes Backend dev Scrum master The sad team

  23. Behold – the uber coder The sad team

  24. Exception! org.hibernate.PropertyValueException: not-null property references a null or transient value: ....common.entities.Application._applicationsBackref org.hibernate.engine.Nullability.checkNullability(Nullability.java:95) org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:313) org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204) org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:130) org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210) org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:56) org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195) org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:50) org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93) The sad team

  25. The sad team

  26. The sad team

  27. The sad team

  28. The sad team

  29. Stand-up Yesterday, I workedonCreate Project Designer Frontend dev Database dev Johannes Johannes Backend dev Scrum master The sad team

  30. Stand-up Today, I willhopefullyfixtheexception and also do Delete Project Johannes Johannes Scrum master Designer Frontend dev Database dev Backend dev The sad team

  31. Stand-up No impediments Johannes Johannes Scrum master Designer Frontend dev Database dev Backend dev The sad team

  32. Stand-up How could they help anway Johannes Johannes Scrum master Designer Frontend dev Database dev Backend dev The sad team

  33. The sad team

  34. Behold – the uber coder The sad team

  35. The sad team

  36. Stand-up Yesterday, I finallyfinishedDeleteafter 3 days of «coding» I didn’tneedtheDelete service Johannes Johannes Scrum master Designer Frontend dev Database dev Backend dev The sad team

  37. Stand-up Yesterday, I finallyfinishedDeleteafter 3 days of «coding» I didn’tneedtheDelete service Johannes Johannes Scrum master Designer Frontend dev Database dev Backend dev The sad team

  38. STOP The sad team

  39. Imagine you should carry 10 wooden beams Each is 3 meters and 30 kg

  40. Part II

  41. The fun team

  42. Stand-up I’mready for a newtask. What’sontheboard.. Johannes Johannes Johannes The fun team

  43. Stand-up «Basic submitleaverequest» Johannes Johannes Johannes The fun team

  44. Stand-up Hiran Johannes Wehaven’tworkedtogetheryetthisweek The fun team

  45. The fun team

  46. Exception! org.hibernate.PropertyValueException: not-null property references a null or transient value: ....common.entities.Application._applicationsBackref org.hibernate.engine.Nullability.checkNullability(Nullability.java:95) org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:313) org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204) org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:130) org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210) org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:56) org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195) org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:50) org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93) The sad team

  47. That link doesn’treallyseem relevant. Are wegettinganywhere? Time to ask for help?

  48. I thinkManoj has workedonthis sort of thingbefore The fun team

  49. Yeah, just look at the Person mapping file Manoj The fun team

  50. That’sit! High five! The fun team

More Related