Here's a video on YouTube making the case for why agile was an innovative methodology when it was first introduced 20 years ago.
However, he argues these days, daily scrums are a waste of time, and many organisations would be better off automating their reporting processes, giving teams more autonomy, and letting people get on with their work:
First, it's worth noting that many organisations that claim to be "agile" aren't, and many that claim to use agile processes don't.
Just as a refresher, here's the key values and principles from the agile manifesto: http://agilemanifesto.org/
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
* 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.
Your workplace isn't agile if your team is micromanaged from above; if you have a kanban board filled with planning, documentation, and reporting tasks; if your organisation is driven by processes and procedures; if you don't have autonomous cross-functional teams.
Yet in many "agile" organisations, I've noticed that the basic principles of agile are ignored, and what you have is micromanagement through scrums and kanban boards.
And especially outside software development teams, agile tends to just be a hollow buzzword. (I once met a manager at a conference who talked up how agile his business was, and didn't believe me when I said agile was originally a software development methodology — one he revealed he wasn't following the principles of.)
Spot.on. my business has adopted an agile mindset across the entire org, but it's still waterfall, because IT have so much governance in place and outsourcing contracts that prevent teams from actually working on things in a fluid and agile way. Every member of a squad is on multiple projects, plus our systems are so broad we cannot have a resource from each source system dedicated to a squad.
Secondly, no documentation? We moved from an on-prem Oracle DB to GCP so that we would have one central place for data and across all business units.. there was no documentation and we had to spend the next 4 years reverse engineering the data marts because all the IP left the business.. it took 4 years because of the previous point.
And because it's big corporate business, you have to make it work otherwise you lose your big bonus etc etc
The principle is “Working software over comprehensive documentation… That is, while there is value in the items on the right, we value the items on the left more.”
Agile absolutely needs documentation but it shouldn’t hold up delivering working solutions and shouldn’t be more complicated than necessary.
We don’t want the old-school projects where software was ready but not delivered until a bible of doco was typeset, printed and bound.
We don’t want the old-school projects where software was ready but not delivered until a bible of doco was typeset, printed and bound.
I miss those days. That bible of documentation was usually the means to have the others, i.e. the customer or other teams using your software, be able to do their work in that software. And I feel that by delivering software without extensive documentation you are extending your agile way of working to the customer. When does agile stop and actually deliver every component meant to be delivered?
I think thread OP's point about documentation is that you shouldn't have dedicated items/tasks just for documentation. You've got to document as you go. I always come back at the end to clean up documentation but once a piece of code is complete and proven to work, I document it. Usually even adding in-line comments as I go.