tags: WebHack#37

What is Extreme Programming (XP)?

Speaker: Robert & Dan
Slides: TBD

Schedule

  • Intro to VMWare Pivotal Labs

    • How We Works
      1. Scoping Meeting
      2. Project Starts
    • Culture
      1. Do the right thing
      2. Do what works
      3. Be kind
  • How to ask questions

  • Why XP?

  • XP at VMware Pivotal Labs

  • 5 min break

  • Q & A

  • Retrospective

  • Discussion / Networking

Why XP and XP at VMWare Pivotal Labs

Agenda

Why XP?

  • Responding to change is a competitive advantage
  • For new products we often don't have enough information to start
  • Quality is baked in to the process
  • It's collaborative and modern

Communication

  • Communication is central to everythin we do
  • This includes within the team and with the users of the product

Feedback

  • We use interactive prototypes, user research, design reviews, metrics and feedback sessions to collect feedback

Simlicity

  • Build the simplest thing that works.
  • By only building what is absolutely necessary, we avoid waste and it keeps the sysem easier to maintain

Respect and Courage

  • Be king
  • Be bold
  • Be honest

Balanced Team

  • A balanced team is made up of at least one Product Manager, one Designer and two Developers

Colocation

  • All roles share the same working area. Everyone joins morning stand-up

Iteration Planning Meeting

  • Iteration planning meetings ensure a healthy backlog and shared understanding of stories

Pair Programming

  • Two programmers work together to write code
  • Ping-Pong the whole process
  • Benefits
    • Knowledge transfer
    • Collective ownership
    • Brainstorm ideas
    • Realtime code review
    • Builds communication skills
  • Challenges
    • Tiring
    • Takes time to learn

Test Driven Development

  • In TDD we write tests before the implementatin and refactor constantly. We use spikes to experiment when needed, and both top-down and bottom-up style of writing tests

Refactoring

  • Refactoring is changing the structure of the code without changing behavior
  • Can be done at any time and allow us to adapt to feedback

Continuous Integration and Development

  • automatically test and delopy

Sustainable Pace

  • We work from 9am - 6pm with a one hour lunch.
  • Don't burn out

Quick Poll and the result

Q & A

  • Q: Are there situation not to do pair-pro?

  • Q: What's a "pivot?"

  • Q: How do you decide whether or not to use a mock module in TDD?

  • Q: what's the best tips to improve communication during pair pro?

  • Q: How often do you shuffle pairs? Do you fix the date or depends on the task?

  • Q: What if you have odd number of people?

  • Q: Are code reviews completed by someone outside of the pair who implemented the code? If yes, is that also done as a pair assignment?

Retrospective

Networking

Select a repo