Lava is a modern implementation of the Agile development methodology that is a replacement for existing implementations such as Scrum, Kanban, Crystal, etc. Lava was designed specifically to meet the needs of different roles on development teams, such as designers, engineers, and QA, and is also designed to work seamlessly with arbitrary deadlines and goals that do not necessarily fit into traditional sprint cycles. Lava was invented in 2016 by Eric Rowell, a computer scientist and entrepreneur in Silicon Valley.
Lava was created because of my distaste for existing popular implementations of Agile, in particular Scrum. I've personally been involved with, or led, around a dozen different Scrum teams throughout my career starting in 2009, and the recurring theme that I see is that Scrum almost always fails when considering its ROI. I felt that it was time for someone to take a fresh look at an entirely new implementation of the Agile methodology. I feel that Lava perfectly embodies what Agile development was meant to be all along.
The Lava Framework is named after lava flow, where a volcano represents a reservoir of tasks, i.e. the backlog, and the lava represents continuous streams of progress which ultimately lead to new land formations, i.e. working software.
The Lava Framework is designed around designers, engineers, and QA, and also practical deadlines such as feature freeze, minor release dates, and major release dates.
Introducing synthetic deadlines unnecessarily complicates the delivery process. It serves no practical purpose. Some might argue that sprints help teams deliver working software. Perhaps those individuals have never worked in a healthy software development shop in which all branches should be stable at all times. Perhaps these individuals don't know about the importance of unit tests and functional tests. In my experience, the state of the software in question is always useable, and constantly incrementally better than the day before.
One thing that all agile frameworks have gotten right is to stress the importance of quick daily standups. Way to go guys.
Backlog grooming meetings, scoping meetings, retrospectives, sprint planning? Are you serious? Who has time for all of that. Let's optimize for building things rather than getting lost in analysis paralysis.
We are human beings with temporal minds. It makes no sense to estimate tasks with abstract points. This is just another source of redirection that leads to even less accurate estimates.
Despite several strategies to make them less dreadful, Scrum requires entire scoping meetings where a team sits down and estimates the work to be done for all tasks, as a group. This simply does not scale and is horrible for team morale. Designers and engineers should be doing what they love, not voting on how easy or hard specific tasks are.
For example, let's say that you are working on a task that you estimated would take 20 hours of effort. You feel that you are roughly halfway done. At the end of the day, simply update the percentage complete to 50%. If you discover that the task is harder than initially thought, you can update the estimate and percentage complete at any time.
Coming soon. The JIRA Plugin will be the first real world piece of software that helps facilitate the Lava process for project managers.