DBT Framework for Story Implementation

by Alex Yakyma
Define-Build-Test (or DBT) is one of the seven agile practices that scale (see "Scaling Software Agility" by Leffingwell). And even though organizing successful agile development at scale is a sum of a whole number of techniques and approaches, DBT paradigm is something to start with as it is the most important step to efficient value creation.

Let’s consider the anatomy of a DBT effort.


Product owner defines a story for the team so that it is understandable enough to be estimated and so the team could commit to deliver the story within a sprint. A developer writes the code that implements the functionality of the user story and tester performs the verification. These are the three logical steps that each DBT team performs. Although there is a number of important nuances relevant to successful deployment of this practice. Let’s consider them in more detail.

Roles overlap. Developer and tester may very actively contribute to the definition. Product owner may sometimes help them test it (in fact, it is not uncommon that product owner writes cucumber tests, for example). Developers may and actually should help testing it via implementing module and unit test as well as system tests. Testers may help with the implementation; I had a chance to witness that as well. Although it is still very important that only product owner can accept (or not accept) the ideas that define the functionality. Same way developer and tester have their exclusive authority to decide how to implement the story. At the same time:

The role overlap is the evidence of effective self-organization within a DBT team, it fosters creative thinking and innovation.

Iterative nature. It is important that the team performs all the three “steps” in creating user value, however it is also crucial how exactly they do that. If a DBT team performs these steps sequentially and in a single pass then they are actually “waterfalling” the story implementation. Here are the reasons why this is not a very good idea:


• Product owner has no chance to efficiently re-define the story
• Batches between the “steps” are too large
• Developers and testers have little chance to efficiently manage technical risks

Indeed what happens is a big batch of story scenarios, business rules, and conditions create even bigger batch of conditional flows, data structures and interfaces that in turn influence testing. Uncertainty of the outcome grows disproportionally. Also these large batches inhibit feedback and communication within the DBT team. And even more importantly:

If the team fails to deliver full user story within a sprint, they deliver zero user value.

There is an alternative way – a multi-cycle DBT effort. This way we reduce the batches because instead of “passing” the entire whole story to implementation, we take a slice of value at a time. Same way as we split user stories into smaller stories, we split story into slices which we don’t have to consider as stories (no need to estimate them, or write acceptance criteria separately for them and so on). A good set of approaches of how to do it can be found in a post by Bill Wake . In this case DBT-effort looks like this:


This way we avoid the “snowball effect” of batches which helps keeping the outcome within much more predictable time boundaries. Also a “vertical slice” of a user story gives the product owner immediate opportunity to evaluate her assumptions. Developers and testers also drive out most of the risks this way, because this tiny slice goes thru the entire system vertically and makes all the system layers “work together” to perform a valuable function. We have selected just one of the examples of splitting story into two DBT cycles based on “Main functionality – Everything else” approach. But there can be many other ways too. Also, there can be more than just two such cycles.

Another important takeaway is that:

Effective product owner works with the team at the level of a DBT cycle, which supports effective just-in-time requirements elaboration.

Now, if the team fails to deliver the entire scope of a story they can still finalize their current cut of the story (the output of the currently finished DBT cycle) and, if the product owner accepts that, count it as user value (say 3 points out of a 5-point story). With this approach teams understand their velocity better as well as their burn-down chart becomes more reliable sprint tracking tool.

DBT formations. Even though we call an individual agile team a DBT team emphasizing that they can define and implement their each backlog item, the implementation of each user story is not precisely done by the whole team. Instead, DBT formations self-organize around each user story.



DBT formations have the following characteristics:

• They are the groups of at least 1 developer, 1 tester and the product owner
• Product owner is always shared across multiple DBT formations within the team
• A DBT formation emerges around a user story and dissolves after the story is completed

In other words, DBT formation is a small team, a subset of the agile team they belong to. It emerges and lives for as long as the user story requires and then the new formations organize around the next stories and so on. Efficient dynamics of DBT formations foster:

• Collective code ownership
• Continuous refactoring
• Knowledge sharing
• Quality

Indeed, team members rotate across different areas of the codebase each time they organize into DBT formations and thus exchange information very efficiently within the formation itself as well as with the rest of the team. Also they keep the code clean because each time they encounter someone else's code that already starts smelling, they just improve the design so that a) they could effectively work with it and b) other DBT formations could add new functionality faster in the near future. The quality of the system functionality maintains high because DBT formation starts catching defects in early cycles which minimizes required rework associated with bug fixing during the implementation.

77 comments:

  1. I am looking your upcoming post, really unique information you have shared here, keep your blog as updated.
    Regards,
    Software testing training in chennai

    ReplyDelete
  2. It was clear to understand the concept of dbt framework, thanks admin.
    Regards,
    Selenium Training in Chennai

    ReplyDelete
  3. I would like to add your post in my RSS feed, can you update your blog regularly.
    Qtp training in Chennai|Loadrunner Training

    ReplyDelete
  4. Thanks for Sharing the valuable information and thanks for sharing the wonderful article..We are glad to see such a wonderful article..
    QTP Training in Chennai | QTP Training Institute in Chennai | QTP Training

    ReplyDelete
  5. Useful post.A debt of gratitude is in order for sharing this post. A lot of chances are accessible in IT parts. Programming testing has an incredible breadth in today's IT industry. Begin your profession in testing field. Taking preparing will help you to accomplish a particular position.
    Thanks,
    Software Testing Training in Chennai | Testing Training in Chennai | Software Training institutes in Chennai

    ReplyDelete
  6. Excellent sharing. Testing is a wonderful field for IT peoples. Want to learn Selenium Training reach GangBoard. Hadoop Online Training

    ReplyDelete
  7. The best thing is that your blog really informative thanks for your great information!
    erp in chennai

    ReplyDelete
  8. Excellent blog. I dont know Java but after read this wonderful blog now I am writing very big java program also. Really I thanks lot kindly keep updating, I referred this blog more of my friends. No.1 CCNA Training in Chennai | No.1 CCNP Training in Chennai

    ReplyDelete
  9. Candid institute Spring and Hibernate course provides a comprehensive introduction to Spring and Hibernate open source frameworks as well as Web Services and AJAX. Suitable for both Spring3/Hibernate3 and Spring4/Hibernate4, the course includes coverage of the core Spring and Hibernate capabilities, as well as the integration capabilities provided by Spring.
    spring and hibernate training in chennai

    ReplyDelete

  10. Needed to compose you a very little word to thank you yet again regarding the nice suggestions you’ve contributed here.

    SELENIUM TRAINING IN CHENNAI

    ReplyDelete
  11. I and my friends were going through the nice, helpful tips from the blog then the sudden came up with an awful suspicion I never expressed respect to the website owner for those secrets.
    big data training in bangalore

    ReplyDelete
  12. Superb! I found some useful information in your blog, it was awesome to read.Thank you for sharing.Best Electrical Project Center in Chennai | Best Electrical Project Center in Velachery

    ReplyDelete
  13. Very good informative article. Thanks for sharing such nice article, keep on up dating such good articles.
    Austere Technologies. Best Cloud Solution services company. For more information please visit www.austretech.com

    ReplyDelete
  14. IT'S AN INTERESTING BLOG WITH A GOOD INFORMATION. THANKS FOR SHARING.

    NO.1 IOT Services | INTERNET OF THINGS

    ReplyDelete
  15. Hi, am a big follower of your blog. I am really happy to found such a helpful and fascinating post that is written in well manner.

    mobile website builder

    ReplyDelete

  16. I wish to show thanks to you just for bailing me out of this particular trouble.As a result of checking through the net and meeting techniques that were not productive, I thought my life was done.
    Advanced Selenium Training in Chennai

    ReplyDelete
  17. I read our full content was really amazing,then the this more important in my part of life.
    The given information very impressed for me really so nice content.


    white label website builder

    ReplyDelete
  18. It’s very useful site for learn. This information’s are very helpful to us. It will improve my knowledge. Thank you for sharing this wonderful site.
    LoadRunner Training in Chennai | LoadRunner Training | LoadRunner Course in Chennai | Best LoadRunner Training Institute in Chennai

    ReplyDelete
  19. Inspiring writings and I greatly admired what you have to say , I hope you continue to provide new ideas for us all and greetings success always for you.
    Summer Camp Training in Chennai | Summer Camp Training in Madipakkam

    ReplyDelete
  20. It is very useful information. It will help to improve my knowledge in Selenium. Thank you for sharing this awesome site.
    Selenium training Chennai | Selenium testing training in Chennai | Best selenium training in Chennai | Selenium classes in Chennai

    ReplyDelete
  21. VERY INFORMATIVE BLOG. KEEP SHARING SUCH A GOOD ARTICLES.

    Join in Avinash College Of Commerce for Best career in commerce

    ReplyDelete
  22. I have read your blog its very attractive and impressive. I like it your blog.DotNet Project Center in Chennai | DotNet Project in Velachery

    ReplyDelete
  23. Thanks for posting this useful content, Good to know about new things here..Embedded Project Center in Chennai | Embedded Project Center in Velachery

    ReplyDelete
  24. Thanks for posting this useful content, Good to know about new things here..PHP Project Center in Chennai | PHP Project Center in Velachery

    ReplyDelete
  25. Thanks for sharing this informative blog.I have read your blog and I gathered some valuable information from this blog...Embedded Project Center in Chennai | Embedded Project Center in Velachery

    ReplyDelete
  26. Its really nice and informative, thanks for sharing this great content to my vision. Keep blogging like this..Java Project Center in Chennai | Java Project Center in Velachery

    ReplyDelete
  27. I have read your blog its very attractive and impressive. I like it your blog...PHP Project Center in Chennai | PHP Project Center in Velachery

    ReplyDelete
  28. Really enjoying your sharing, you have a great teaching style and make these new concepts..VLSI Project Center in Chennai | VLSI Project Center in Velachery

    ReplyDelete
  29. Nice blog. Thank you for sharing. The information you shared is very effective for learners.VLSI Project Center in Chennai | VLSI Project Center in Velachery

    ReplyDelete
  30. Hi Thanks for the nice information its very useful to read your blog. We provide best Block Chain Services

    ReplyDelete
  31. Thank you for sharing this valuable information. But get out of this busy life and find some peace with a beautiful trip book best Andaman honeymoon packages

    ReplyDelete
  32. Great post. Wonderful information and really very much useful. Thanks for sharing and keep updating.
    Construction erp software in chennai

    ReplyDelete
  33. Thank you for sharing this valuable information. But get out this busy life and find some peace with a beautiful trip. book ANDAMAN HOLIDAY PACKAGES @ 35999

    ReplyDelete
  34. Thank you for sharing this valuable information. But get out this busy life and find some peace with a beautiful trip. book CHEAP ANDAMAN PACKAGES @9999

    ReplyDelete
  35. Thank you for sharing this valuable information. But get out this busy life and find some peace with a beautiful trip. book Andaman Tourism

    ReplyDelete
  36. Thank you for sharing this valuable information. But get out this busy life and find some peace with a beautiful trip. book Best Travel Agency In India

    ReplyDelete
  37. Hi Thanks for the nice information its very useful to read your blog. We provide About Best Software Development Services

    ReplyDelete
  38. Thanks for one marvelous posting! I enjoyed reading it; you are a great author. I will make sure to bookmark your blog and may come back someday. I want to encourage that you continue your great posts.
    Devops training in Chennai

    Devops training in Bangalore

    Devops training in Pune

    Devops training in Online

    Devops training in Pune

    Devops training in Bangalore

    Devops training in tambaram"

    ReplyDelete
  39. Hi Thanks for the nice information its very useful to read your blog. We provide best Find All Isfs Courses

    ReplyDelete
  40. Hi Thanks for the nice information its very useful to read your blog. We provide best Massil Technologies

    ReplyDelete
  41. Hi Thanks for the nice information its very useful to read your blog. We provide best Association Of Chartered Certified Accountants

    ReplyDelete
  42. Thanks for your sharing such a useful information. this was really helpful to me.

    Article submission sites
    Education

    ReplyDelete
  43. Amazing Article ! I have bookmarked this article page as i received good information from this. All the best for the upcoming articles. I will be waiting for your new articles. Thank You ! Kindly Visit Us @ Coimbatore Travels | Ooty Travels | Coimbatore Airport Taxi | Coimbatore taxi

    ReplyDelete