As our machine learning, data engineering, and artificial intelligence systems evolve, adapt, and learn, so too must we!
The intersection of the twin revolutions of Agile and Open Source Software development methodologies is a fascinating place. These movements are changing the world, and they have more in common than sets them apart. However the differences are fascinating and fundamental, and we are only starting to respectfully learn from each other.
Open source is built on sharing and re-use. I'd argue too much of agile is tangled in proprietary frameworks, and walled gardens. But good practices escape the walls like wind-blown seeds on a breeze.
The Open Practice Library brings together practices from all sorts of places. We are commonly asked about how we manage intellectual property, and our answer is, "Respectfully." We ask contributors to share their practices with us under a creative commons license, and ensure they attribute all good ideas to their originators wherever possible. But sometimes, we don't know who first practiced a practice. However practitioners can (nearly) always share what they do, and how they do it, in their own words.
In a conference paper published in 2004, Stefan Koch identified one of the key differences between Open and Agile was in how they work. Distributed, or remote collaboration is normal in Open Source communities. Whereas agile practice was traditionally co-located. The pandemic has forced many agile teams to adapt and adopt more distributed practices. Some say we're living in a post agile world. Others might say we're living in a post open world too. Open Source is now mainstream. In a keynote earlier this year, Chris Wright, CTO of Red Hat said
"Open source is in almost 99% of audited codebases. Now, come to think of it, I think we can say that "open source software ate the world."
Reusing code, making it better and constantly maintaining it minimises waste and duplication. Agile methods put the customer in focus to prioritise how we spend our energy on product development. To me, these things naturally align. But somehow, the open and agile communities could be living on different planets!
I'd love to bring them together at the Open Practice Library to become a thriving community of open and distributed practitioners.
Open and distributed?