Before Agile there were a number of ways by which programmers developed software. There was Waterfall, a system that required a team of developers to plan time-consuming projects, write lots and lots of code, and sign off on large commitments without the user being able to see even an example of what the finished design would look like.
There were heavy frameworks that required decisions on how to deliver and execute and allowed for a structure to maintain control.
Evolution of Agile
There were also Software Development Life-Cycles (SDLC) that supported continuous prototyping. Agile was created based on he shortcomings of he Waterfall system and the positive characteristics of SLDCs.
Agile changed in a number of ways through the decades till in in 2001 a group of experts and obsessives created the Agile Manifesto, a list of 12 guiding principles and 4 values that hoped to further evolve Agile as a software development system.
Agile has changed and evolved in so many different ways users are versed in adapting to small tweak in design and functionally. Simply calling a system Agile can mean a number of different things to different people.
As a definition, Agile would be a number of fundamentally similar procedures that encourage the delivery of the most appropriate working software as early as possible.
But it gets a little complicated. There are two branches of Agile. One is the project development part of the software. The other is Agile project management that has more to do with control and governance of the project.
Why be agile?
Agile works because a group of related frameworks, concepts, behaviors and techniques behave simultaneously to favor the software that is most appropriate at the earliest possible time in a realistic manner. In a dual working system, agile software development handles the developmental side of creating great software in a project or BAU context , whereas, Agile project management controls and governs the entire system for the delivery of complex projects.
In Agile it’s important to know that a variety of developmental methods, such as Kanban, Scrum an Lean Developmenal Software should be used for this system to be most effective. Similarly, Agile paradigms such as PMI Agie, PRINCE2Agile should be used to address the full nuances of intricate projects such as explicit risk management, governance, and resourcing.
Another great feature for using Agile is that practically no other software delivery system allows changes to be made to an ongoing system that is under development to reduce calamities later. It allows the consumers to be an active part of the entire process and ultimately gives the customer what they want.
How to make Agile work for you
Since Agile is such a multi-purpose software development and management tool it can be used in a variety of ways. However, there need to be certain paradigms in place to make the most effective use of this resource. Agile is more of a mindset than anything else so a change needs to be implemented from what was considered normal at your company to see if Agile words for you. In the next blog series we will get into a bit more of the ideal settings that need to be in place to make Agile a system that favors a company and its culture.