Skip to main content

Sprint 01 - Plan

Let's get started by planning for the first weekly sprint of the challenge and begin day 1 of 100. You may note that we are only planning for 5 days of the week instead of full 7 days. It's important to keep those two extra days to reflect back, refactor the code, fix any other technical debt and if nothing else, kind of relax a bit.

Day 1 - Discover

  • Define the key problem you would like to sovle

    This is the most important step. You need to define the problem you would like to solve. It is very likely that you will end up solving a different problem by the end of the challenge. But, it is important to start with a problem you are passionate about.

    And do not worry about building a pitch deck or a business plan or long vision statement etc. at this point. Just focus on the problem you would like to solve and jot down something that you can easily explain in about 30 seconds.

  • Identify the primary user that will use the product

    Jot down some notes about your primary user, that will use this product. Based on the target audience, sometimes the user that will use your product may not be the user that will pay for it. We will come back to this distinction later, particularly if you are building a B2B product.

  • Define the future state, once service/product is ready

    Tell the story of how the world will be different once your product is ready. Use what you have identified in the first step, to define the future state. This will help you to define the MVP.

Day 2 - Explore

  • Market Research

    If you have picked up a problem you already know, you may have some fair understanding already on what is available in the market. If you are picking up a problem you are not familiar with, you need to do some research on the problem space. Find if there are any solutions already addressing the problem. If there are, jotdown a couple of gaps in the solutions or opportunities to improve the existing solutions.

    If there are none, see if there are similar problems in other domains, and how are they being addressed. This will give you some ideas on how to address the problem.

    If there are no other similar problems, Congratulations, you may have found a new category of problems or a new problem space. Typically this requires a lot of research and experimentation. Since this is a new problem space, you may have to educate your users as well. But this is a great opportunity to build a product that can be a category leader. So, go for it.

Day 3 - Define MVP

  • Come up with a name

    It is very likely that by the time you finish the challenge, you may build something completely different. So, don't spend too much time on finalizing the name and registering a domain. Just go with something that is easy to remember.

  • Prepare high level mockups (really rough sketches)

    You do not need sophisticated design tools to create mockups. Sketching on paper is good enough. And please do not create a mockup of every single screen with all the details. Just create a high level mockup, in broad strokes of just one or two really important screens that define your product.

  • Run mockups by a couple of potential users

    If you have identified and recruited a potential customer, run these mockups by them. If you have not identified yet, run the mockups by a couple of people who you think will be potential users. This will help you to validate the problem and the solution you are proposing.

Day 4 - Architecture

  • Identify essential services we must build in step 1

    If you are not sure about the architecture, you can start with a simple monolith and then break it down into microservices as you progress. But, it is important to identify the essential services that you must build in step 1.

  • Define architecture

    Define what kind of cloud architecture can support your use case. Just pick one cloud provider that you are comfortable with and get started. The architecture we choose must support rapid experimentation and iteration. This means, it should be really easy to deploy new features and test them with real users.

  • Pickup preliminary technology stack

    For the architecture and essential services identified, pick the right technology stack. If you are not sure, pick something that you are comfortable with and can learn quickly. Do not worry about picking the latest and greatest technology.

tip

Pick the right architecture and tools for the problem we are solving. It is not about picking the latest and greatest technology. Or the most complicated architecture or technology and tools everybody is talking about.

Day 5 - Create place holders or a coming soon page

  • Create a repository structure

    For most use cases, you are just fine to start with a single repository. Even if you are building a microservice architecture, you can start with a mono repo to manage all services.

  • Build initial Infrastructure

    Do not resort to creating infrastructure manually using the UI (or Console). Use Infrastructure as Code (IaC) tools to create the infrastructure. This will help you to create the infrastructure in a repeatable manner and makes it really easy to make changes and deploy new versions of the infrastructure.

tip

You may completely skip this step in the first sprint and come back to it later.

  • Build a coming soon page to start with

    This is optional, but if its a web application, go ahead and build a coming soon page.

If you are able to complete the above steps, you will have a good foundation to start building the product and made a lot of progress already. Congratulations! You are on the right track. 🎉