Registration & Details Here!
Don Kennedy, Smart Data Systems and the Technology First Board of Directors
“We are uncovering better ways of developing software by doing it and helping others do it”
-Agile Manifesto, 2001
There is a lot of talk in and outside of the technology community about “being agile” and helping organizations increase their ability to react quickly to what seems to be an ever-changing business environment. Just in the last 18 months we have seen unprecedented spikes of demand on Health care, Manufacturing, and Logistics systems as well as perceived permanent shifts in where and how we work, shop, and visit our physicians. At the heart of all of these changes are millions of lines of code written by craftswomen and craftsmen. Software development and engineers continue to be at the forefront of an accelerating digital change and why Technology First is proud to continue to support this community at the heart of it all. In this month’s edition we wanted to highlight some of the ideas, people, and practices from this important part of our community
One set of principles deeply entrenched in this part of the technology world are Agile Principles. They are now over twenty years old and you would assume many of us may have felt or heard of them as you worked with your developers or technical teams. While often confused with the adjective Agile, the Agile Manifesto is actually a set of principles that have evolved and continue to very much be an effective and sustainable way of working for many organizations around the world. While there also continues to be some misunderstanding of the Agile manifesto and Agile community, I hope to demystify some of what being “Agile” means to many within the software community.
Allow me first to give a very brief history of where some of these principles came from as I think this lays important groundwork. I will apologize in advance as with any history many things are lost and, in an attempt to be concise, it can be difficult to give it the adequate coverage it deserves. But in 2001 and growing out of sympathy for the need to find alternatives to documentation-driven, heavyweight software development processes, seventeen people, some competitors and most very independent thinkers, documented specific ideas they believed would provide that alternative. Underneath this manifesto of ideas are the bedrock themes of values and culture. So the manifesto and principles are really nothing more than a set of values that was intended to underpin and promote an organizational model based on People, Collaboration, and the Organizations models in which the original group would want to work. What has since grown out of those original ideas is a celebration of a sustainable, quality, process model that works to hold up the idea that “people are our most important asset”.
With that history under us, I would also highlight critics of the principles will often confuse the original ideas and all too often accuse “Agilest” of being anti-methodology, anti-modeling, and completely against documentation. These are all incorrect beliefs, but a common theme among many critics in this way of working and building software. What the principles are and how people incorporate them into their way of working is a much longer subject that I could not begin to cover here, but my understanding is these principles stand more for certain principles than they are against anything if that makes sense. This is also where I will maybe get into a little trouble and admit some people do hide behind some of these ideas, like humans can, and will use them to fight against certain processes more than maybe they should. That said, inherently the principles are again about balance in planning, or documentation, etc. So while the principles highly value Individuals and interactions over process and tools, nowhere do these principles say you should not embrace documentation, planning, or methodologies. I will also admit I am very much a traditionalist when it comes to business in many ways and while I work with many developers, I am not a software developer myself, so it has taken me time and first hand witnessing the value of these principles to come to a better understanding of the intrinsic value they bring to people, teams, and entire businesses. While we do not have adequate time to cover these principles here I hope this brief piece and the principles themselves below will help in some way to provide insights to those unfamiliar with Agile practices. If nothing else, I would encourage you to remain open to the idea that as humans we can fall into habits and ruts of behavior all too easily and practicing new ways of working can have unforeseen benefits.
What follows is the manifesto itself and the twelve principles of Agile Software freely copied in its entirety from https://agilemanifesto.org/
We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on
the right, we value the items on the left more.
We follow these principles:
Our highest priority is to satisfy the customer
through early and continuous delivery
of valuable software.
Welcome changing requirements, even late in
development. Agile processes harness change for
the customer's competitive advantage.
Deliver working software frequently, from a
couple of weeks to a couple of months, with a
preference to the shorter timescale.
Business people and developers must work
together daily throughout the project.
Build projects around motivated individuals.
Give them the environment and support they need,
and trust them to get the job done.
The most efficient and effective method of
conveying information to and within a development
team is face-to-face conversation.
Working software is the primary measure of progress.
Agile processes promote sustainable development.
The sponsors, developers, and users should be able
to maintain a constant pace indefinitely.
Continuous attention to technical excellence
and good design enhances agility.
Simplicity--the art of maximizing the amount
of work not done--is essential.
The best architectures, requirements, and designs
emerge from self-organizing teams.
At regular intervals, the team reflects on how
to become more effective, then tunes and adjusts
its behavior accordingly.
Please join us at the Taste of IT this November 17th and look at our developer track for more interesting content around software development and its practices! Registration and Details here!