JAOO: Dan North om BDD

JAOO startede for mig i dag. Fra søndag morgen kl. 9 (gaab alt for tidligt på en søndag) sad jeg i Dan Norths tutorial om behavior-driven development (BDD) heldigvis yderst underholdt og med rigtig mange AHA-oplevelser.

Jeg har forberedt mig på dagens tutorial ved at gå til Århus .NET UserGroups (ANUGs) BDD-foredrag i onsdags og det var første gang jeg stiftede bekendskab med BDD og teorierne bag. Derfor var jeg også lidt nervøs for dagens tutorial, fordi tutorials ofte er for de folk, der har erfaring med emnet i forvejen og som har en masse spørgsmål om hvordan man bliver bedre til den pågældende praksis, og hvad det er de gør galt i bestemte situationer. Heldigvis var tutorialen i dag en lille tutorial, hvor der var plads til at tage hensyn til alle deltagere. Foredragsholderen Dan North ("opfinderen" af BDD) tog lige en runde først hvor vi alle kunne give input til hvad vi gerne ville have ud af dagen og kunne fortælle lidt om vores baggrund.

Kort fortalt blev programmet:

  • Lidt om Agile.
  • Hvad er BDD'
  • - hvorfor BDD'
  • Hvordan kommer man i gang med BDD?
  • Lidt om Domæne-drevet design, test-drevet-udvikling, Accept-test-drevet planlægning og lean, som BDD er inspireret af.

Dan er en fantastisk underholdende taler, og han sørgede for at holde alle vågne og engagerede trods tidspunktet. Mine større AHA-punkter kom især omkring hvordan man skriver BDD-stories, hvordan man får kortlagt, hvilke features og krav det er, hvilke stakeholders der er (kerne-stakeholders og de "tilfældige" (incidental) stakeholderes) og domæne-drevet design.

At man ofte kommer til at glemme at stakeholders er "anyone who cares"...

  • om hvor meget applikationen kommer til at koste
  • om hvad applikationen gør og hvordan man bruger den
  • om hvorvidt applikationen belaster netværket
  • om hvorvidt den er sikker
  • om hvorvidt applikationen passer med lovgivningen på domæneområdet
  • om hvor nemt applikationen er at deploye og diagnostisere
  • om hvor velskrevet (kodemæssigt) og velopbygget (arkitekturmæssigt) applikationen er
  • om hvor nemt det er at lave ændringer i applikationen

Bare lige for at nævne et konkret punkt ud af mange...

Jeg fandt også ud af at jeg er nød til at få læst Eric Evans' bog om domæne-drevet-design (DDD) - der er nu flere af talerne jeg har snakket med, der har nævnt bogens lyksaligheder og selv om jeg har haft glæden af at møde Eric Evans, så har jeg aldrig fået snakket DDD med ham.

Man kan få et indblik i Dan Norths betragtninger og tanker via hans blog på dannorth.net og det kan anbefales.

Men hvor udbredt er BDD' Er det noget du bruger' Kender du nogle gode kilder til at finde ud af mere om BDD' Er det overhovedet værd at se på'

Kommentarer (2)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Ole Østergaard

Er lige kommet hjem fra RubyFoo i London, hvor Dan North også lige nåede et smut omkring i lørdags. (Han nåede lige at få fyret af at siden Ruby nu har eksisteret i 16 år, er det endelig gammelt nok til at sove sammen med andre sprog... hvilket JRuby jo gør i vildskab.) Meget underholdende fyr, ja.

Det virker som om alle der er lidt interesserede i TDD og BDD, er begyndt at bruge Cucumber til at køre sine stories/features. Det er nok netop dette værktøj der skulle til for at brede BDD ud til masserne. Tag et kig på cukes.info og http://wiki.github.com/aslakhellesoy/cuke4duke. Jeg bruger selv Cucumber til at integrationsteste et Java-projekt, og jeg er meget glad for det. Cucumber kan efterhånden teste kode i ret mange sprog - jeg er ikke helt sikker på om Aslak Hellesøy og Ola Bini nåede at få Ioke-integrationen på plads i går, men det er i hvert fald på vej :-)

Mht. Eric Evans' DDD-bog, så er der en "resume-udgave" her, som er noget nemmere at sluge end originalen: http://www.infoq.com/minibooks/domain-driven-design-quickly

  • 0
  • 0
Torben Mogensen Blogger

For mig er BDD en forkortelse for "Binary Decision Diagrams", som er en kompakt repræsentation af logiske formler, som bruges i forbindelse med blandt andet verifikation af hardware og software. Så jeg blev lidt skuffet over, at indlægget "blot" handlede om (endnu) en softwareudviklingsmetode.

  • 0
  • 0
Log ind eller Opret konto for at kommentere
IT Company Rank
maximize minimize