Building Behavior Driven Teams - PHPCon Poland 2014

38 %
63 %
Information about Building Behavior Driven Teams - PHPCon Poland 2014
Software

Published on September 24, 2014

Author: karolsojko

Source: slideshare.net

Description

Many teams in their development process tend to focus on answering the question “how” instead of “why”. This leads to many misunderstandings which in turn decrease productivity and pleasure of working.
In my presentation I waned to introduce Behavior Driven Development which is one of the ways to improve communication within a team. I will share my knowledge on how to start with BDD in your company and say a couple of words about things like StoryBDD, SpecBDD and living documentation. Taking my team as a use case I will also speak about how BDD helped us in understanding each other and making software that matters.

BUILDING BEHAVIOR DRIVEN TEAMS PHPCon Poland 2014

Karol Sójko Project Leader @ Schibsted Tech Polska @karolsojko PHPers 3City organiser+ " Ö karolsojko@gmail.com #BDD #PHP #Symfony #TDD #ImpactMapping #Agile #Team

Common Team Problems ú

COMMUNICATION Expect the unexpected

THE GREAT WALL Between Us

Rambo Developers & Colonel Trautman Managers

Outdated Documentationor what’s left of it

Tail Chasing Like a boss

Boomerangs Please don’t come back

What Is BDD z

Full Stack BDD V Behavior Driven Development Inner Quality X Outer Quality Quality Spec BDD Story BDD

# $ Backlog Story BDD Features Scenarios Green Refactor Red StoryBDD & SpecBDD Spec BDD

Impact Mappingq

Why Who How What Who How What What… … Impact Mapping

Increase Books Sale Who How What Who How What What… … Impact Mapping

Increase Books Sale Readers How What Authors How What What… … Impact Mapping

Increase Books Sale Readers Organize Events What Authors Make Book Clubs Popular What What… … Impact Mapping

Increase Books Sale Readers Organize Events Inviting Readers Authors Make Book Clubs Popular Voting for books Creating book clubs… … Impact Mapping

Living Documentation`

Increase Books Sale Readers Organize Events Inviting Readers Authors Make Book Clubs Popular Voting for books Creating book clubs… … Scenario Workshop Feature: Creating book clubs
 In order to make book clubs popular
 As a reader
 I want to create book clubs
 
 Scenario: Successfully creating a book club
 Given I am a registered user
 When I create a book club
 Then all users can join it

Increase Books Sale Readers Organize Events Inviting Readers Authors Make Book Clubs Popular Voting for books Creating book clubs… … Refine Examples Before Given I am a registered user
 When I create a book club
 Then all users can join it Given I am logged in as “john@doe.com”
 When I am on book club creation page
 And I fill in “Name” with “PHP Book Club”
 And I press “Create”
 Then a pubic book club “PHP Book Club” should exist ! After

Being SpecificY

/**
 * @Then a public book club :bookClubName should exist
 */
 public function aPublicBookClubShouldExist($bookClubName)
 {
 $dm = $this->getDocumentManager();
 $bookClub = $dm->getRepository('AcmeDemoBundle:BookClub')
 ->findOneBy(array('email' => $bookClubName));
 
 if (empty($bookClub)) {
 throw new Exception(sprintf(
 'Book club %s has not been found',
 $bookClubName
 ));
 }
 } Behat steps

use PhpSpecObjectBehavior;
 
 class BookClubSpec extends ObjectBehavior
 {
 /**
 * @param AcmeDemoBundleDocumentUser $user
 */
 function it_should_be_available_for_readers($user)
 {
 $user->isReader()->willReturn(true);
 
 $this->isAvailableFor($user)->shouldReturn(true);
 }
 
 /**
 * @param AcmeDemoBundleDocumentUser $user
 */
 function it_should_not_be_available_for_readers_if_premium($user)
 {
 $user->isReader()->willReturn(true);
 $this->setPremium(true);
 
 $this->isAvailableFor($user)->shouldReturn(false);
 }
 
 } class BookClub
 {
 protected $premium;
 
 /**
 * @param $premium
 */
 public function setPremium($premium)
 {
 $this->premium = $premium;
 }
 
 /**
 * @param User $user
 *
 * @return bool
 */
 public function isAvailableFor(User $user)
 {
 return $user->isReader() && !$this->premium;
 }
 } PhpSpec Implementation

BDD in your CompanyZ

Business and Development

When you have a hammer …

Avoid Buzz Words

The Batman

Don’t attack every angle

Measure business valuesnot developers

Use Case #1 The Comet CultB

Small Team

4 Different Locations

Communication Breakdown

Us and Them

The Guesstimates

Rock Solid

Issue reincarnation

What to test?

Use Case #2 SchibstedB

Team building 101

Buzz word project

Mind reading

Achievement Unlockedf

Goal Comprehension

Release soon & adjust quickly

Focus on Quality

Client’s Trust

Quicker Agile Adoption

The Team

Good Reads

Question Time! https://joind.in/talk/view/11851 http://behaviordriventeams.com

#bdd presentations

Add a comment

Related presentations

Related pages

Building Behavior Driven Teams - PHPCon Poland 2014 ...

Many teams in their development process tend to focus on answering the question “how” instead of “why”. This leads to many misunderstandings which ...
Read more

Building Behavior Driven Teams // Speaker Deck

In my presentation I waned to introduce Behavior Driven Development ... Building Behavior Driven Teams ... Building Behavior Driven Teams - PHPCon Poland 2014.
Read more

Presentations by Karol Sójko // Speaker Deck

Building Behavior Driven Teams - PHPCon Poland 2014. ... 2014 by Karol Sójko. Building Behavior Driven Teams. Feb 19, 2014 by Karol Sójko. It ...
Read more

Do not want to be coding experts in secret - Schibsted ...

... behavior driven teams” at the PHPCon ... over Poland and also from other countries. Karol´s presentation is about “Building Behavior Driven Teams ...
Read more

Workshop: Quality Assurance for PHP Projects - PHPCon ...

... PHPCon Poland 2014. ... Create a build procedureRead more

Agile Portugal 2014 "Building Empowered Teams ...

Agile Portugal 2014 "Building Empowered Teams" by waydes. on Sep 05, 2014. Report Category: Leadership & Management
Read more

Behavior Driven It | LinkedIn

View 784 Behavior Driven It posts, presentations, experts, and more. Get the professional knowledge you need on LinkedIn. ... Matthew David / June 27, 2014.
Read more

PHPCon Poland 2014 schedule - Joind.in

PHPCon Poland 2014 26 - 28 Sep 2014 at Hotel Orle Gniazdo. Details; Schedule; Event comments; Talk ... Saturday 27th September 2014. 10:00 : 2. The road to ...
Read more

Building the "right" regression suite using Behavior ...

1. Building the “right” regression suite using Behavior Driven Tes5ng (BDT) Anand Bagmar So#ware Quality Evangelist ...
Read more