Top 5 Things You Should Know About Agile

Moonfarmer’s super clear guide to what Agile means and how it works

Published in
7 min readJan 18, 2018

--

When talking about the Agile methodology you may hear some funny terminology. Work periods are called “Sprints,” to-do lists are categorized in terms of a “Backlog” with “Epics” and “Stories”…

At this point it may sound like we’re writing a sci-fi superhero graphic novel. But this is all a part of the fine nuance of software development. And we’d argue that Agile is far from some unearthly contrivance; it couldn’t be more human.

Agile is an increasingly popular project management methodology. As opposed to the more traditional models, Agile places heightened importance on the people doing the work, and how they work with each other. At Moonfarmer, we work in an Agile way because we value feedback and collaborating with our customers. We understand that project requirements can change over time. We like that Agile is iterative, adaptive, and totally transparent.

Everyone approaches Agile a little differently, so we’ve outlined a super clear list of the top 5 things to know about the Agile Method Moonfarmer style. When we get starry-eyed and talk about our love of thoughtful design and elegant code, it’s our commitment to following the principles of Agile that allows us to do what we do best, and our clients and partners to be involved every step of the way.

1. “Agile” Means “Iterative”

The core tenets of Agile are all about incremental growth and continuous improvement. Starting a project with the minimum requirements and evolving the product through production mitigates some of the inherent risks that come with software development.

For example: let’s say you come to Moonfarmer and simply ask us to build you a ship. Without further exploration, we might deliver something like this:

When what you really wanted was this:

Or maybe we build you a boat but once you start sailing, you realize it isn’t exactly what you need. You notice that you need a gangplank, or maybe you don’t love that mermaid on the bow after all.

Requirements can and will change over the course of a product’s development. A key characteristic of Moonfarmer’s process is that as we are building, we’re constantly considering requirements and adjusting for those changes. As we adjust, we test our solutions in order to make sure they are the best way forward. We then iterate and make improvements to the product based upon what we learn.

Here’s how we do that:

  • We Build A Backlog — To begin, we translate what we understand about a project’s requirements into specifications that live in our Project Backlog. To ensure everyone involved has a shared understanding, we document these requirements in a human-readable language called Gherkin (sorry, aliens).
  • We Cycle Through Sprints — We iterate through development work in two-week periods called Sprints. During a sprint, our team has regular internal meetings called Stand Ups. After our sprints we have Sprint Review meetings with our clients. Working in this way allows us to constantly receive feedback, re-visit requirements, and adapt to a project’s evolving needs.
  • We Test — We know that every solution needs to be tested. This happens constantly — internally within our team during sprints, externally in sprint reviews with our clients, and out in the real world when a product is released to the market. Feedback we receive from testing is incorporated in order for the product to be great.

This is iteration. No product is great until it’s tested over and over again, and iterated upon until it’s right. Agile and the scientific method go hand-in-hand. This is how we do what we do. Great Spotify playlists also help.

2. Agile Can Handle Shifting Priorities

As we mentioned, in each Sprint Review we’ll address the specific project requirements as they’re outlined in our Project Backlog. These requirements are prioritized and scheduled depending on what’s best for the product.

For our developers, the project backlog is organized into three separate sections: 1) major features or project goals known as Epics, 2) more specific elements of functionality known as Stories, and 3) any reported Bugs, or enhancements that need to be made to existing product features.

For our designers, the project backlog has design tasks organized into practice areas such as User Experience Design, Feature Design, Communications, Onboarding, and Aesthetics and Visual Design of the product.

Our developers and designers work hand-in-hand constantly throughout each day. Their worlds are one and the same and are in full alignment when we present solutions to our clients. Before and during our sprint reviews together you’ll always know where we’re at with our backlog priorities, why they are designated as priorities, and what’s on our schedule next.

3. Agile Designs With Empathy

Our team iterates through a project’s design with a practice known as Design Thinking. This process is designed to help designers understand users, challenge assumptions, redefine problems and create innovative solutions to prototype and test. It cycles through five phases.

  1. Empathize — We begin by envisioning who is going to use the product. Once we have a sense of our audience we will develop simple user personas to better empathize and understand their needs.
  2. Define — Once our audiences and personas are detailed, we will develop use-case scenarios for the project. These clear, direct, and easy to understand goals will define the desired outcomes.
  3. Ideate — Building off of our audience and goal definitions, our user experience team will begin to ideate on solutions.
  4. Prototype — Using the best solutions selected during the ideation phase, we will create interactive prototypes reflecting features of the finished app. We will rapidly iterate between ideation and prototyping as the product is refined.
  5. Testing — The final prototypes will be tested by the customer team and stakeholders themselves for feedback. This feedback will be integrated into the prototypes prior to final production.

4. Agile Teams Are Flexible And Self-Organizing.

Our team structure is made up of a flexible number of resources — design and UX specialists, frontend and application developers, and other “consultant” developers. Specialists join in the team depending on what’s needed at any given time.

There are four components to our team: Client Stakeholders, Product Owners, Producers, and Agile Teams. Each Agile Team is run by a Technical Lead.

The most important thing for a client to know is that they will interface constantly throughout the project with a dedicated Producer. Our Agile Team member numbers in the room may swell or minimize depending on which kind of expertise is needed. No matter what, the team always has the same internal Technical Lead on board to provide continuity and ensure all expectations are met.

We are lean, efficient, and self-aware. We bring in the best team members when they need to be at the table, at the right time. This is how our Moonfarmer crew works together with our partners to ultimately achieve a minimum viable product (MVP).

5. Agile Isn’t Over After Launch

We demand more from our MVPs than most companies, and have a full list of principles and foundational elements that need to be considered and accomplished in order for a product to earn the title of MVP.

Our work isn’t done once our MVP is out there swimming in the cosmos. Naturally the MVP needs to be iterated upon, and we do that through the Agile method. Together we’ll repeat our Agile method over and over and over again until an MVP becomes a full-fledged product. Once it does, we get very teary-eyed and proud. Before the 2020 Coronavirus Pandemic caused us to shift from an in-person operation to a primarily remote operation, we would celebrate by ringing a gong in the center of our office. Nowadays we ring the virtual gong or celebrate with lots of slack emojis.

Bonus: Good Questions Are The Secret Sauce Of Agile

The most important element of the Agile method is challenging what we think we already know. This means that we cast aside our own egos and recognize that the greatest possible outcome can only be achieved by a great product that does what it needs to do.

At Moonfarmer, we believe that great teams constantly ask questions, and that the best client feedback is delivered through questions. In order to ask great questions one must answer to the good of the product. A great product is achieved when those good questions enjoy tested and proven answers.

Therefore, we ask a lot of questions. We hear a lot of questions. We listen, learn, apply curiosity, debate, work as a team, and solve problems.

As such, questions are the secret sauce that makes Agile great. They lead to harmony, progress, and great software.

If you’d like to learn more, or explore the possibility of starting an Agile project, feel free to reach out. We’d love to talk.

--

--