1 minute read

This article is under construction. The main idea, for now, is to expose some content about the Business/Context Driven Development process (B/CDD).

The process

B/CDD: The process.
  1. Prioritize:
    • What problem do we need to solve? What is necessary to solve it?
  2. Check Requirements:
    • Is acceptable the complexity and uncertainty level of what needs to be done?

      If it is not, refine the scope/strategy before starting working on it!
  3. Build:
    • Work within a quality level (ETC), and focus on good enough deliveries.

      ETC = Easy To Change.
  4. Test:
    • Ensure that your work works and that you’ll have feedback if something stops working.
  5. Release:
    • Communicate the changes and make them available.
  6. Learn:
    • After understanding the impacts of what is done (ROI), set the following steps and try to promote improvements to the workflow.

      ROI = Return On Investment

The different stages/deliveries

B/CDD: The different stages/deliveries.
  1. Make it Work
  2. Make it Right
  3. Make it Even Better

They happen in different stages/deliveries and can be one or more pull requests for each of them.

The feedback loop

B/CDD: The feedback loop.

The deliveries must always meet the minimum quality expectations.

Make it Work example:

A well-tested use case (the implementation can contain duplication or lack of abstractions) declared with a good name and inside a suitable namespace - the final result must be a cohesive module.

You can repeat the same stage until you have sure about prioritizing the next one.

The idea here is to move forward when there is clarity about what and how much can be done to improve what is already working in production.

What would a codebase look like?

The following link contains a PDF with examples of different ways to organize the folders and files of a Ruby on Rails application. The B/CDD version would be like the last versions.

Get the PDF (Ruby on Rails file structure by Rodrigo Serradura)

Access this GitHub repository to see a Ruby on Rails application created following this process and applying the B/CDD code guidelines.

https://github.com/serradura/todo-bcdd/

Content to share

B/CDD: The process description
B/CDD: The process with emphasis on the different stages/deliveries
B/CDD: The different stages/deliveries description.

Já ouviu falar do ada.rb - Arquitetura e Design de Aplicações em Ruby? É um grupo focado em práticas de engenharia de software com Ruby. Acesse o canal no telegram e junte-se a nós em nosso meetup mensal (100% on-line).

Comments