Model-Driven Development | Glossary

Definition:

Model-Driven Development is a format to design and implement a software quickly, effectively, and at minimum cost. This methodology is also known as Model-Driven Software Development (MDSD), Model-Driven Engineering (MDE), and Model-Driven Architecture. MDD is a modeling technique focused on construction of a software model typically designed using UML diagrams.

This model is advantageous in providing productivity over other models because of its simplest approach in specifying the software functionality before the code generation. It promotes collaboration among the teams and individuals who work on developing the software construct models, clear communication between the developers and project managers on how the software works.

Further Reading:

Disciplined Agile Delivery: A Practitioner’s Guide to Agile Software Delivery in the Enterprise by Scott W.Ambler & Mark Lines

Glossary

Non-Solo Development | Glossary

Definition:

In Extreme Programming (XP), pair programming is a practice that suggests two developers should work together sharing one keyboard as they code. This is also a type of code review/ design in real-time as one person watches when the other codes. The key benefit is better quality coding before the code is generated.            

Non-solo development produces higher quality code, code with fewer defects, and less technical debt.  Most all of us have seen the chart that shows the cost of a defect growing exponentially during the development lifecycle.  Fixing a bug in a maintenance mode requires someone (or a pair) to wrap their brain around often complex algorithms in order to understand the logic, make the repair, and not break something else.  This is far more costly later, rather than when the code is “fresh in your head”. Having a second set of eyes present while code is being authored often catches these bugs before they happen.

Further Reading:

Book: Disciplined Agile Delivery by Scott W. Ambler and Mark Lines