Cognitive-Driven Development (CDD for short) is a design coding technique that aims to reduce the complexity of code units (e.g., a class) by systematically posing a limit in the number of coding items — that adds complexity to that code unit — that could be used at once. Recent research works on CDD suggest that this practice indeed help developers to build and maintain modular software. This is one side of the story. The other side of the story is how difficult it is to actually make developers use CDD on daily basis. Time pressure, lack of good tools, and adding an another tool to the developers arsenal may not be always seen as beneficial. In this talk, we will discuss the good and the bad of CDD adoption in practice, with a few lessons we learned throughout the process.
Gustavo is a Research Engineer at Zup Innovation and an Assistant Professor at the Federal University of Pará, in Brazil. He is currently focused on applying machine learning techniques to improve software engineering tasks. Gustavo is a well-published author, with over 100 research papers published. He writes regularly at his ML4SE newsletter (in PT-BR).