1.07k likes | 1.3k Views
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
E N D
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
XP: Collective code ownership Pair programming Whole team Sustainable pace
A sad team A super team Getting to great
Johannes: You’llcreate CRUD SOAP service for projectswithapplications Planning Okay Johannes Johannes Backend dev “Scrum” “Master” The sad team
How longwill it take? Planning Um… Johannes Johannes Backend dev “Scrum” “Master” The sad team
Planning It’s prettyeasywithHibernate Okay, 8 hours for each of Create… then Backend dev 2 Johannes Johannes Backend dev “Scrum” “Master” ! The sad team
Stand-up Today, I willworkonCreate Project Designer Frontend dev Database dev Johannes Johannes Backend dev Scrum master The sad team
Stand-up No impediments Designer Frontend dev Database dev Johannes Johannes Backend dev Scrum master The sad team
Behold – the uber coder The sad team
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
Stand-up Yesterday, I workedonCreate Project Designer Frontend dev Database dev Johannes Johannes Backend dev Scrum master The sad team
Stand-up Today, I willhopefullyfixtheexception and also do Delete Project Johannes Johannes Scrum master Designer Frontend dev Database dev Backend dev The sad team
Stand-up No impediments Johannes Johannes Scrum master Designer Frontend dev Database dev Backend dev The sad team
Stand-up How could they help anway Johannes Johannes Scrum master Designer Frontend dev Database dev Backend dev The sad team
Behold – the uber coder The sad team
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
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
STOP The sad team
Imagine you should carry 10 wooden beams Each is 3 meters and 30 kg
Stand-up I’mready for a newtask. What’sontheboard.. Johannes Johannes Johannes The fun team
Stand-up «Basic submitleaverequest» Johannes Johannes Johannes The fun team
Stand-up Hiran Johannes Wehaven’tworkedtogetheryetthisweek The fun team
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
That link doesn’treallyseem relevant. Are wegettinganywhere? Time to ask for help?
I thinkManoj has workedonthis sort of thingbefore The fun team
Yeah, just look at the Person mapping file Manoj The fun team
That’sit! High five! The fun team