Lava Framework

What is Lava?

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.

Why Lava

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.

Lava Manifesto

The agile framework should revolve around people and deadlines, not the other way around

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.

No more sprints

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.

Daily standups are goodness

One thing that all agile frameworks have gotten right is to stress the importance of quick daily standups. Way to go guys.

No more useless meetings

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.

Estimate work in hours and days, not points

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.

Individuals, not entire groups, should estimate tasks

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.

It should be easy to reprioritize tasks at any moment

It should be easy to rebalance workloads across the team(s)

It should be easy to see where a project stands relative to important deadlines

At the end of each day team members should update percentage completes

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.

Lava JIRA Plugin

Coming soon. The JIRA Plugin will be the first real world piece of software that helps facilitate the Lava process for project managers.