2025 Public Training Schedule
January 14 – 17, 2025 – Agile Analysis and Design Patterns – Half-Day Sessions
(c) 2024 To Be Agile
Developing software in short sprints requires a different approach than traditional software development, though it seems strange to call something only a few decades old “traditional.” Winston Royce coined the term “waterfall software development” in 1970 and he said in that very same article that we shouldn’t use it because it doesn’t really work.
Many of the things that we recognize as poor software development practices seem to have been fostered in a Waterfall environment, such as specialization, siloing of knowledge and teams, and more importantly, creating an environment where software doesn’t need to be changed and so little attention is put on writing code that can be changed. Then, when the inevitable happens for successful software and changes are needed, it becomes extremely expensive to provide them.
We think about software in a lot of ways by relating it to tangible things, because we cannot truly visualize it or understand it. We think about software construction like physical construction but they are actually worlds apart both in the skills you need and the way you approach the problem. This should be no surprise because the forces at work in each problem domain are entirely different.
In physical construction, the forces are the laws of physics but in virtual construction we don’t have the laws of physics. However, we do have physical law and here’s the distinction: We work from a predefined system that includes binary logic, predicate calculus, propositional calculus, functional programming, object-oriented programming, and much more to come, I’m sure. Our very understanding of modelling the world is evolving and it’s showing us a model for how we think and understand the world in our own minds and giving us ways of seeing ourselves we could never have otherwise experienced. For me, this is what’s most exciting, seeing the relationship between consciousness and software because it in itself is the little microcosm that we can look into and see another aspect of ourselves.
The Scrum Software Development Essentials Training is about learning by doing. Participants experience what it’s like working and developing valuable software in Scrum teams through a series of guided exercises. Doing these exercises, you’ll get a chance to apply the practices of Scrum and Extreme Programming as well as object-oriented analysis and design patterns to software development problems.
Over the course of three afternoons, you’ll build a software application using test first software development, pair programming, refactoring to patterns, and apply a variety of advanced techniques. These are the same practices that will help you master Scrum software development. Please contact me if you’d like to bring this training to your team.
Previous Post: « Finding the Right Metaphors
Next Post: Quality in Software »