Are we holding true to the principles of Agile, as described in the manifesto? Are we finally "uncovering better ways of developing software by doing it and helping others do it"? Are we finally valuing "individuals and interactions over processes and tools"? Maybe -- everyone is trying their best. But we do seem to be more sprint-like in our delivery, delivering working software frequently, "from a couple of weeks to a couple of months [2020 update -- a couple of hours], with a preference to the shorter timescale."
We are living in a digital age which is characterized by speed, quality, and experience. Ask any customer if they are ready to compromise on any of these and the answer would be a definite'no'. That's why all companies are striving for faster, flexible, and customer-centric approaches to application delivery. But the biggest hurdle in creating an ecosystem that supports a faster, flexible, and customer-centric delivery is the lack of collaboration between the systems and teams across the ecosystem. While most teams in a mid-sized/big IT organizations practice agile methodologies and collaboration at a team level, there is a considerable disconnect between the cross-functional teams and the systems they use.
After completing my computer science degree, I started working with Olivetti back in the 80s. That was 20 years after the glorious Ing. C. Olivetti invented the world's first personal computer (which very few know about). This clearly changed widespread perception of computers as these dangerous monsters occupying huge rooms that you would rather stay away from. Instead, sitting on a desk, now anyone could use a computer. A revolution started, and the rest is history.
Sometimes, however, I have a hard time talking about DevOps. The reason is because many of the key terms related to DevOps lack clear and precise definitions. DevOps is such a big deal that it has bred its very own lexicon. Search Google for "DevOps terms," and you'll find a slew of "dictionaries" and "glossaries" dedicated to defining the various terms that go hand in hand with DevOps. Yet despite these resources, some deep ambiguities remain regarding the actual meaning of various terms that you hear frequently in DevOps-centric conversations.
Over the years, promoters of Agile development have known that things tend to run aground with larger software projects or large organizations. Now, the drive to digital, automation and AI may be too much for even the most Agile of teams. As Ron Jeffries, co-creator of the Extreme Programming (XP) methodology recently put it, Agile has become another cover story for relentlessly pushing developers to keep producing more and more, faster and faster. With digital, AI and automation, the scale gets even more untenable, and this is where Agile as we know it tends to fall down. Another view, of course, is that Agile is the only way to grow a digital business.