Coding Quest JavaBin Stavanger Johannes Brodwall Exilesoft Chief

Slides:



Advertisements
Similar presentations
Study Skills… Do you want to get better grades…then listen up!!!!
Advertisements

SCRATCH Lesson Two – Interactive Concepts Using Sensing, Operators, and Variables.
CV Writing & Interview Techniques
Remote Pair Programming BuildStuff.lt Johannes Brodwall Exilesoft Chief Guest starring: Dileepa Jayasuriya.
Extreme Planning: Agile turned to the max Exilesoft Johannes Brodwall Exilesoft Chief
Extreme Collaboration Johannes Brodwall Exilesoft Chief TODO: Good pairings: Senior/senior: Ping-pong Respectful senior/senior: Stategist/tactician.
Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief Guest starring: Chaminda Sooriyapperuma.
Coding dojo PocketMobile Johannes Brodwall, Chief scientist Exilesoft.
Jason Howard. Agenda I. How to download robotc II. What is tele-op used for? III. How to build a basic tele-op program IV. Getting the robot to drive.
Skills Diary: Y7 Rhythm – World Percussion 1 Talk Understand Respect Always Positive In Control Try Ask Talk Question Plan Think Find Out Work on my own.
#IWishMyTeam Growing Effective Agile Chief Scientist – Bouvet.no.
Scrum. An evolutionary/iterative/incremental/agile software process The main roles in Scrum are: – Scrum team: Team of software developers – Scrum master.
Agile development By Sam Chamberlain. First a bit of history..
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Getting from Point A to Point B….  Be a part of what is going on in class.  Get into the reading.  Pay attention.  Ask questions.  Participate in.
Introducing CLT While Avoiding Classroom Culture Shock Marla Yoshida.
Pair Programming Testing 2, October 14, Administration  Project due Monday 2PM SHARP  Remember all parts of documentation (list of tests, project.
How to run an effective (and fun) standup. Notes from session at Agile Open NW By Ed Kraay.
Coding Dojo Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria
Extreme Startup Agile Riga Day 2012 Johannes Brodwall, Principal Architect Steria
Agile Software Development Brian Link
How to dress, act, and prepare for your interview. 1 Add a title for the presentation.
Johannes Brodwall Getting your project off the ground.
Remote Pair Programming Agile 2013 Johannes Brodwall Exilesoft Chief Guest starring: Niruka Ruhunage.
TALKING TO THE PATIENT AND FAMILY!. While talking to the patient and their family… *Sit down and make eye contact with the patient and their family.
© 2011 PLANET TECHNOLOGIES, INC. Create a FREE Weather RSS Web Part Patrick Curran, MCT AUGUST 12, 2011.
Experience Agile Programming SDC 2012, Göteborg Johannes Brodwall Steria Featuring: Ole Chr Rynning.
Skills Diary: Y8 Melody – Classical Music 1 Talk Understand Respect Always Positive In Control Try Ask Talk Question Plan Think Find Out Work on my own.
Copyright © by Mark J. Sebern Software Engineering Process I SE Sprint Execution.
Pair Programming. XP Rule of Thumb “When something is difficult or painful, do it more often until it becomes easier.”
Extreme Planning: Agile turned to the max DevDay.LK Johannes
Successful Interviewing. Objective Students will be able to anticipate and articulate key job skills and be prepared for a real job interview.
Add a title for the presentation1 Interviewing, What To Do And What Not To Do. By: Gage Brandt, Ruby Lira.
JFK-103B1W9 and JFK-103B3W9 This program is going to be used to learn about:  Decision Making Skills  Communication Skills  Team Building Skills and.
Process is continuously improving Have Definition of Done (DoD) DoD achievable within each iteration Team respects DoD The bottom line Delivering working,
Python Programming Using Variables and input. Objectives We’re learning to build functions and to use inputs and outputs. Outcomes Build a function Use.
Habit 5 Seek First to Understand, Then to be Understood
A Study of Medieval British Literature and Culture.
Dr. Nguyen Hai Quan.  Why SCRUM?  What is SCRUM?  Some terms  SCRUM Meetings  Sprint  Estimation  Product backlog  Sprint backlog  Whiteboard.
How great ideas are KILLED Everything here is fictional. Some things may look like the real world.* v.1.0 *Except for Mario sprites, of course.
When you are Agile you get Lean How Agile reduces waste in software develpment.
Click Here to Start!! Introduction You are on a WebQuest! Are you excited to learn the alphabet? We will all learn to identify upper and lower case letters!
Process Mapping Dr. Nishan Sharma University of Calgary, Canada October
Johannes Brodwall Chief Scientist Smidig arkitektur.
SCRUM.
Lean Software Development (Can Çetin)
Experience Agile Programming XP Days Ukraine Йоханнес Бродвалл, Just-a-programmer Стерия
Web Application Design. Data –What data is available? –How do we store it or how is it stored in the DB? Schema Data types Etc. –Where is the data?
Experience Agile Programming Agile Meetup, Sri Lanka Johannes Brodwall Steria Featuring: Shihan Iqbal.
Welcome to the Technology Lab Mrs. Glenboski MCPS – St. Bede Campus Fall 2008.
Coding Dojo Sofware People 2012 Johannes Brodwall, Principal Architect Steria
CRE Programming Club - Class 3 Robert Eckstein and Robert Heard.
Beginning Software Craftsmanship Brendan Enrick Steve Smith
Book Clubs that Bind (Text That Is!) Breaking News… Book Clubs & Literature Circles can and should be authentic teaching and learning. If your students.
Remote Pair Programming Agile India 2014 Johannes Brodwall Exilesoft Chief Guest starring: Niruka Ruhunage.
#msdevcon Community Track IMPLEMENTATION OF SCRUM Bernardin Katić Insa Investment Software AG.
How to write a proposal( 倡议书 ) 九年级写作讲评课. 学校英语俱乐部提出 “ 听英语歌 ” 的倡 议书,请你就这一话题写一篇约 100 词的 英语文章,内容可包括:听英语歌放松心 情,有利于学习 ,有利于了解 空闲时间 …… 等等,可适当发挥。 注意:文中不得出现真实人名、校名等相.
DD Progress Report 2. APPROX. % OF TOTAL PROJECT COMPLETE: –75% of the total project including documentation.
Pete LePage Product Manager Internet Explorer Team.
The Scrum Framework Presented by Somnath Ghosh Scrum Practitioner 24 hours weeks.
GroceryList++ Brian, Peter, Staci, Darrin, Anna.
HMVR System Final Presentation
“FACTORING”.
Johanna Rothman Agile Team Measurements Chapter 12
SAS and all other SAS Institute Inc
HELLO, WE’RE IMPLEMENT We are committed to:
Pair Programming.
Year 10 & 11 Programming Similar, But Different!
Presentation transcript:

Coding Quest JavaBin Stavanger Johannes Brodwall Exilesoft Chief

This talk is for you if you…

You work in a team, but...

Your team doesn ’ t feel like a team

Stand-up Designer Frontend dev Database dev No impediments Johannes Backend dev Scrum master

Behold – the uber coder

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(DefaultSaveOrUpdateEvent Listener.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)

ExceptionGoogle Stack overflow TweakDeployPoke

ExceptionGoogle Stack overflow TweakDeployPoke

ExceptionGoogle Stack overflow TweakDeployPoke

ExceptionGoogle Stack overflow TweakDeployPoke

Stand-up Designer Frontend dev Database dev Yesterday, I worked on Create Project Johannes Backend dev Scrum master

Stand-up Today, I will hopefully fix the exception and also do Delete Project Johannes Scrum master Designer Frontend dev Database dev Backend dev

Stand-up No impediments Johannes Scrum master Designer Frontend dev Database dev Backend dev

Stand-up Johannes Scrum master Designer Frontend dev Database dev Backend dev How could they help anway

Behold – the uber coder

Stand-up Johannes Scrum master Yesterday, I finally finished Delete after 3 days of «coding» Designer Frontend dev Database dev Backend dev I didn’t need the Delete service

Stand-up Johannes Scrum master Designer Frontend dev Database dev Backend dev I didn’t need the Delete service Yesterday, I finally finished Delete after 3 days of «coding»

STOP

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

The fun team

Stand-up I’m ready for a new task. What’s on the board.. Johannes Scrum master

Stand-up «Let’s users administrate their projects» Johannes Scrum master

Stand-up I haven’t done any Hibernate tasks before. Who can I pair with? Johannes Scrum master I can work together with you

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(DefaultSaveOrUpdateEvent Listener.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)

That link doesn’t really seem relevant. Are we getting anywhere? Time to ask for help?

I think Dileepa has worked on this sort of thing before

Dileepa Yeah, just look at the Person HasMany Roles mapping

That’s it! High five!

Pair programming styles

Debate club “No, this variable should be called fooNumber, not fooNum”, “But it’s a common abbreviation”

Dedicated driver “I’ll write the parser” “I’ll design the algorithm”

Driver-navigator “I don’t know how to solve this, so I’ll sit at the keyboard”

Ping-pong

Ingredient #1: Pair programming

Ingredient #2: Test driven development

Failing test Write code Failing test Write code Failing test

Ingredient #3: Refactoring

Failing test Write code Failing test Write code Failing test Refactor code and tests

Put together

Failing test Write code Failing test Write code Failing test

Write code Failing test Write code Failing test Refactor code and tests

Failing test Write code Failing test Write code Failing test Refactor code and tests

Kata: Number to roman

1 => I 2 => II 4 => IV 5 => V 10 => X 50 => L 100 => C 500 => D 1000 => M 1999 => MCMXCIX

Make sharing into a goal

Dileepa Johannes Chintaka Thomas Sergey Arunas

Dileepa Johannes Chintaka Thomas Sergey Arunas

ArunasJohannesDileepaChinthakaSergeyThomas Add new company ✓✓✓✓✓ Display contacts on map ✓✓✓ Filter contacts in list ✓✓ Authenticate user by company ✓✓✓✓ Store password securely ✓✓ Usernames with Norwegian letters are rejected ✓

ArunasJohannesDileepaChinthakaSergeyThomas Add new company ✓✓✓✓✓ Display contacts on map ✓✓✓ Filter contacts in list ✓✓ Authenticate user by company ✓✓✓✓ Store password securely ✓✓ Usernames with Norwegian letters are rejected ✓

ArunasJohannesDileepaChinthakaSergeyThomas Add new company ✓✓✓✓✓ Display contacts on map ✓✓✓ Filter contacts in list ✓✓ Authenticate user by company ✓✓✓✓ Store password securely ✓✓ Usernames with Norwegian letters are rejected ✓

Building your skills

Expect exhaustion

Just do it

Conclusion

Less Overproduction (unused functions in API) Less Waiting (for the only person who knows X) Less Motion (as everyone gets more skilled) Fewer Defects (as two pair of eyes see better) Less Over-processing (from double responsibility) Less Inventory (as team works more focused) Less Transportation (handoffs inside a story)

How

Ask for help – don’t work alone Try ping pong programming for two hours Be open, share and listen

You can start as soon as you get back to work

Thank you