Conference | Live Schedule | Talks | Get your ticket | Set your timezone
Software Engineering Completeness (Part 1) : Knowing when you are Done and Why it matters ?
Peter Muldoon
On Day 2 at 16:00 (CET/Berlin) in Track A [Saphir Room and online]
Whether creating new features, fixing bugs or looking at larger issues affecting a codebase, what does "Done" mean in software engineering terms and what is its effect on delivering change in the real world?
Being "Done" can mean just checking code into a repository but primitive approaches to delivering change and marking it as complete can lead to unwieldy code bases that are difficult to manage and foment technical debt.
Being "Done" involves aspects of software engineering that are "above the code" and should ask questions on the completeness of the changes. Has code quality/technical debt been addressed ? How does tactical fixes versus strategic direction achieve different versions of being finished ? what about the vital task of decommissioning of old code or refactoring cleaner solutions as better thinking on solutions emerges?
In this presentation, we will explore these topics and build up a Software Engineering Completeness pyramid for change delivery analogous to Maslow's Hierarchy of Needs pyramid for human survival. This will illustrate differing levels of being change complete with the bottom level equating to unsustainable hacking of a codebase up through tiered levels of engineering practice where qualitative shifts in perspective is required to future proof your application.
These levels in the pyramid directly translate to engineering competence and maturity in the field of software expertise and can help map what level of engineering accomplishment/proficiency you aspire to. Part 1 will focus on the first 2 levels in this pyramid.
The revelation that "Doneness" - properly defined - and executed is a force that drives superior software engineering and strikes to the heart of achieving improved outcomes. This clarity of thinking on the real cost of software ownership promotes flexible software, creates happy consumers and allows for clean succinct communication to others of when you are actually and finally DONE.
Please login to comment