software development with lazylabs

Scoping Requirements

Figuring out what to build is an important part of the process and is deceptively more challenging than initially think.

why? what we want to build can change…and changes all the time

This is because figuring out what to build changes throughout a project. It can change once you learn more, once you built a small piece and interact with your application , it can change because you had more time to think. Engineers know this from product owners and clients as the dreaded scope creep.

It is our job to help you figure out what you want and have a process for handling updating your app you fine tune what you would like to build.

managing scope

Focusing on the right things, and the right level of detail:

  • fatmarker sketches vs high fidelity mockups vs figma
  • The right level of detail
  • less is more
  • too much detail on the wrong things leads to missing the things that matter

tools

Use the right tool, for the right job.

meetings

Yes, we consider meetings a tool and like all tools should only be used when appropriate. Initially meetings are good for learning requirements and as inputs for scoping work. Then meetings are usefully for reviewing documented scoped work, live review hard to debug issues. Of course meetings can be used for other things like:

  • talking through bugs as soon as they are found
  • live review of all issues
  • discussing new ideas for features (or changing scope) every time they come up
  • too much detail on the wrong things leads to missing the things that matter

The problem with over using meetings is that it 1. interrupts flow which slows down development 2. there are better ways to capture simple issues, write them down!

pen and paper

Yes, pen and paper! We use pen (actually markers) and paper to capture fat marker sketches of key flows of the user behavior. This is done intentionally to focus only on the high level functionality that matters. This is not the stage to worry about “pixel perfect” designs. Pixel perfect designs and high fidelity mockups or what we consider non functional requirements that are better addressed with other tools and a different stage of the process.

figma diagrams

Figma is great for capturing storyboards that show sequence of events of an application. Each step of the sequence can varyfrom high level fat marker sketch to wireframes to high fidelity mockups.

notion

We use Notion to write things down! Notion is great for capturing requirements including fat mark sketches, figma diagrams, and enough of a write up to understand how a feature works.

We use notion to document scope before starting work and to capture feedback once development work has started. This includes documenting simple bug fixes, capture details on hard to debug issues. By writing things down in notion documents, we have something to point to, and we don’t need to have meetings to remember how something works or what we agreed to.

loom

Loom is This is a great tool for capturing brief videos showing how a new feature should work or how existing functionality broken. This can be a good option when its quicker to record a 1-2 minute video instead writing it down or having a meeting

process

here's how we put it all together:

scope requirements

The first stage is to determine the scope of what we are trying to build. What's included? what's not included?

diagram showing the scoping stage of the process

The goal of this stage is to get from conversations about what we want to build to specs detailed enough that any developer can reasonably understand and go off and starting building. If for any reason yu would not like to move forward with lazy labs, then this is also a good breaking point to hand off specs to other developers.

build, test, and deploy

Once we have the work scoped, the next stage is to actually build, test, and iterate!

diagram showing the build stage of the process

The goal of this stage build your application one piece at a time. Your time and budget is not unlimited, so we cannot afford endless revisions. However, by scoping the work well in the previous stage allows for revisions against the agreed upon scope. By working one piece at a time, we give ourselves the flexibility to determine how to reprioritize scope if changes are needed before the end of the project.