Anthony Sciamanna's Software Development and Coaching Blog. Focusing on Extreme Programming (XP), Lean Software Development, Modern Agile, DevOps, continuous improvement and experimentation.
Evolutionary Design is an essential practice for software organizations to deliver great software continuously, yet it is often overlooked. Software is still frequently planned and designed in large batches upfront, with complex architectures already determined, slowing delivery, increasing risk, and missing opportunities for collaboration and learning.
Blog Article My friend and colleague, Tim Ottinger and I published this blog post about SPOT and coincidental duplication. You can read it on the Industrial Logic blog here . Conversation Tim and I also hosted a TwitterSpace conversation on this topic which can be heard here:
When software development teams begin practicing TDD and mircotesting, they commonly adopt a mocking framework and use it everywhere. This practice can cause harm to the codebase as well as the team’s interactions. It’s easy to overlook the overuse of mocking frameworks without the experience of working with high-quality microtest suites.
I frequently practice code katas with the development teams I coach and train. I’ve pulled this list of code kata websites out of my notes a few times in the past month, so I decided to publish this information as a listicle (list article). I’ve found code katas to be an important practice to help build new skills and establish habits. Practices like Test-Driven Development, refactoring, automated…
Code katas provide an opportunity to practice our software development skills, recognize patterns, and learn how to apply techniques. In general, we professional software engineers don’t spend enough time practicing. The Roman Numeral Kata provides an opportunity to practice creating an algorithm via TDD and following some of the TDD patterns like: Identifying the Essence and Doing the Simplest…
Code katas provide an opportunity to practice our software development skills, recognize patterns, and learn how to apply techniques. In general, we professional software engineers don’t spend enough time practicing. The Gilded Rose Kata is one of my favorites. It helps build skills necessary for successful refactoring, to make small incremental changes relying on automated refactoring tools as…
Issues with user stories are a common problem for software development organizations that adopt agile frameworks. At some point in their journey development organizations will ask, “How do we write better user stories?” Well-meaning coaches or consultants come to the rescue. Their advice usually includes adopting the Connextra user story format (also called role-feature-reason ). Sometimes the…
Pocket Developer from Pretend Store One of my primary roles as a development coach is helping software development teams and their organizations build a culture of technical excellence (often helping them build the skills to get to Continuous Delivery). When teams begin their journey to becoming high-performing they need to shed their current habits that are obstacles to their advancement. One of…
Code katas provide an opportunity to practice our software development skills, recognize patterns, and learn how to apply practices. In general, we professional software engineers don’t spend enough time practicing. Code katas are one way we can practice. The Parrot Kata is based on a code sample in Martin Fowler ’s Refactoring book. It is inspired by Monty Python’s Flying Circus Dead Parrot…
There are a handful of books that have had a significant impact on me. One book, in particular, inspired me to become a software consultant, Gerald Weinberg’s The Secrets of Consulting . If you don’t know who Weinberg is I suggest reading his Wikipedia entry as a first step. He was a well-known software consultant and author, having written over 40 books in his lifetime. His books are timeless and…