DevDays Vilnius 2018

« BACK TO WORKSHOPS LISTHOMEPAGE

Pim Elshoff

Procurios, The Netherlands

Joop Lammerts

Procurios, The Netherlands

About Pim Elshoff

Pim Elshoff works as a Developer at Procurios. He has over 10 years of experience as a developer with over 5 years in Agile and Scrum. Technology will always be a passion of him, but with more experience his main focus has shifted to people.

About Joop Lammerts

Joop has been a web developer since the beginning of web 2.0. After working in solitude for ages he now finds himself surrounded by enthusiastic colleagues. Developer and Scrum Master at Procurios, Formula One and music enthusiast at home.

 

— WORKSHOP —

(Di|Con)vergent Mob Refactoring

 

Abstract

Programmers come in all kinds and sizes. But we’ve found that there is one major distinction that keeps us from working together: attitude. Optimistic programmers tend to come up with solutions quickly, while not always respecting the problem. Pessimistic programmers tend to come up with questions quickly, while not always respecting simpler solutions.
Working together can be difficult. But by explicitly diverging and converging we can find respect for each other and what we have to bring to the table. By working together we find better solutions than we could working alone.
We will group up in teams of four or five, in so called mobs, and work on a case study in pomodoro’s. We will first diverge, to give the optimists their moment in the spotlight, where they can create tempo and get some things done. Then we will converge and give the pessimists the power, where they can refine and get things done well. If you’re not sure what your attitude is, then we will help you discover it.
We will be helping MeetInc. Their current implementation of what a meetup is, is sorely lacking. And the business has come with new rules. We will use this opportunity to make the code reflect the domain of meetups better.
Your exact mission, should you choose to accept it, is available on GitHub at https://github.com/procurios/diconvergent​And fear not, you are not alone. Your team is there with you, as are the business experts, who can answers all of your questions.
Topics include:
● Refactoring anemic models to useful domain concepts

● Divergence and convergence

● Timeboxing

Agenda

We prefer more, shorter breaks over fewer, longer breaks.

  1. Introduction and preparation (25 min)
         a) Your and our goals of the workshop
         b) Preparation of laptops
  2. Introduction to TDD & DDD
         a) A Test Driven Development exercise
  3. Short break
  4. Introduction to Divergence & Convergence
  5. Forming teams
  6. Divergence
          a) Explanation of work method
          b) 40 minutes “sprint”
          c) Retrospective
  7. Short break
  8. Convergence
          a) Explanation of work method
          b) 40 minutes “sprint”
          c) Retrospective
  9. Short break

10.Divergence and convergence
       a) Introducing the Double Design Diamond
       b) 40 minutes “sprint”, with extra focus on DDD
       c) Retrospective

11. Short break

12. Split up for the remainder into
       a) Continue with group exercises in shuffled groups
       b) Deeper teamwork with Joop
       c) Deeper TDD&DDD with Pim

13. Retrospective

 

Target Audience

Everyone, really! We believe every programmer has a natural tendency. Learning about your strengths and pitfalls and learning about the strengths and pitfalls of others is invaluable. There is no greater teamwork than from a team that truly understands what each person brings and needs.

Level 2 – Intermediate material. Assumes knowledge and provides specific details about the topic.

 

Course Prerequisites

One laptop per group of four is required for the workshop. Participants should prepare by following the instructions on ​https://github.com/procurios/diconvergent.