Cognitive-Driven Development Helps Software Teams to Keep Code Units Under the Limit!
Gustavo Pinto, Alberto de Souza

TL;DR
This paper explores how Cognitive Driven Development (CDD) helps software teams maintain small, manageable code units, improving code quality and testing ease through practical team experiences and lessons learned.
Contribution
It provides empirical insights into CDD's effectiveness in controlling code size and complexity during software development from real team experiences.
Findings
CDD helps keep code units small despite product evolution
Developers tend to relax size limits to handle complexity
Limiting code size facilitates easier testing
Abstract
Software design techniques are undoubtedly crucial in the process of designing good software. Over the years, a large number of design techniques have been proposed by both researchers and practitioners. Unfortunately, despite their uniqueness, it is not uncommon to find software products that make subpar design decisions, leading to design degradation challenges. One potential reason for this behavior is that developers do not have a clear vision of how much a code unit could grow; without this vision, a code unit can grow endlessly, even when developers are equipped with an arsenal of design practices. Different than other design techniques, Cognitive Driven Development (CDD for short) focuses on 1) defining and 2) limiting the number of coding elements that developers could use at a given code unit. In this paper, we report on the experiences of a software development team in using…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Techniques and Practices · Open Source Software Innovations · Software Engineering Research
