When developing and delivering complex systems it can be all too easy to primarily focus on features and overlook important software qualities, specifically those related to software architecture. Being agile, with its focus on extensive testing and frequent integration often gives teams early success at quick delivery and often thoughts that the architecture can safely evolve. Some teams have had some limited success with continuous delivery. However, issues still arise when there is not good validation through tests and constant attention to the code quality. Time has shown that various agile practices are not sufficient to prevent or eliminate technical debt, which can ultimately affect reliability and releasing with confidence. It is important to recognize what is core to the architecture and the problem at hand when evolving the system. If there is not enough attention on the architecture and codebase, technical debt will creep in to the point where it can become hard to deliver quickly and with confidence.
Two principles that can help teams deliver more quickly and with confidence is to focus on code quality and delivery size. Small frequently delivery with constant attention to a good codebase is crucial to being able to sustain faster reliable delivery. Practices that can help keep the code clean or prevent it from getting muddier include: Testing, Divide & Conquer, Gentrification, Quarantine, Refactoring, and Craftsmanship. This talk will examine techniques such as Continuous Integration, Continuous Delivery, Continuous Inspection, Good Testing, as well as other techniques to pay good attention to code quality, all of which are key to allow teams to deliver fast and with confidence.
Joseph W. Yoder (agilist, computer scientist, and pattern author) is the founder and principal of The Refactory (www.refactory.com), a company focused on software architecture, design, implementation, consulting, and mentoring on all facets of software development. Joseph is an international speaker, long standing member of the ACM, and the President of The Hillside Group, a group dedicated to improve the quality of software. Joseph is an author of the Big Ball of Mud pattern, which illuminates many fallacies in software architecture. Joseph (Joe) is an internationally recognized leader in many facets of software development specifically with Clean Design and Agile Best Practices. Joe's work has included working with both large and small companies and working with startup organizations. Joe has many years of practical hands-on experience where he has conducted architecture and design reviews of enterprise applications and systems, reviewed the design and implementation of a various systems and frameworks, provided assessments and `detailed analysis of existing systems, assisted with framework and object-oriented development, and leading various successful agile teams. Joe has recently been working with organizations and thought leaders on the best practices for including quality aspects throughout the complete software life-cycle. In 2015 he won the New Directions award with a colleague at Saturn 2015, given to the presentation that best describes innovative new approaches and thought leadership in the application of architecture-centric practices for the presentation “QA to AQ: Shifting from Quality Assurance to Agile Quality” (https://insights.sei.cmu.edu/saturn/2015/05/saturn-2015-awards-conferred.html).