Many people in the software industry have heard about Agile. It is ubiquitous and can't deny the fact that it is redefining the way of how software is developed.
But most of the people do not know what Agile is not. Software developers who have worked in AGILE have their own definitions. Rather, every company / organisation has their own definition for AGILE [which is good and bad at times].
Looking at the last two decades when the software industry had begun its maturity, there were few methodologies for developing softwares. These methodologies were based on Process and Principles. A lot of focus was given to documentation which led to excess and result in efforts as well as maintenance. In Agile focus is more on delivering smaller piece of software which requires very less documentation. This means AGILE is not an excuse to producing documentation. It can be in various forms such as user stories, Epics, meeting notes etc.
Software professionals often mistake Agile as a process driven method. It’s not! Agile is more of an iterative and adaptive approach as compared to the traditional waterfall where there are various stages where the software could see the light of the day after months of work without knowing if this is what customer wants.
The Waterfall method is notorious when it comes to changing requirements where as Agile is seen as the saviour, but that is not just what Agile is. It eliminates the risk of changes in the last stages when the software is about to be delivered. It is more about collaboration with Customers and Team members