My Co.lab Journey—WEEK 2

My Co.lab Journey—WEEK 2

Success is the progressive realization of a worthy ideal — Earl Nightingale

WHAT DID YOU LEARN

I learned the following this week:

  • Product Estimation: How to effectively estimate and communicate engineering effort on various tasks that make up a product—as a developer in a cross-functional team
  • Agile Practice: How to follow industry best practices for working in a product team.
  • Minimum viable product(MVP): Creating a small viable solution that brings value to users,
  • Writing a technical one-pager.

 

PRODUCT ESTIMATION

This is the estimation of time and resources required to build a product.

Product estimation can be broken into 3 steps:

  1. Product break-down
  2. Tech Research
  3. Time estimation and communication

Nugget: Think of products as smaller workable tasks, instead of a whole. Your goal as a developer is to make both communication and Estimation easier for your team.

1. PRODUCT BREAKDOWN

  • Split product into multiple tasks Think of what sort of tasks you will need to complete your product. Think of back-end and front-end feature work(API, DATABASE) these can all be tasks.

  • Ensure that each task(frontend/backend) can be individually tested as its entity.

  • Think of each task as work that can be done in parallel with other developers working on the product.

2. TECH RESEARCH

Don't reinvent the wheel unless you really have to. There are lots of tools that can help you—APIs, cloud services, developer tools, scripts(create-react-app), vs code plugins, etc.

Nugget: Look for existing frameworks you can use to your advantage. Pick frameworks that make sense for your application, then make a pro/con comparison for both. e.g reactjs vs vuejs

3. ESTIMATION AND COMMUNICATION

Important points on Estimation:

  • When it comes to Time Estimation, It's better to overestimate rather than underestimate.
  • The longer the task, the harder to estimate.
  • If a task takes 2 days of work break it down into sub-tasks, then put an estimation on those sub-tasks.
  • Prioritize tasks that align with your MVP—deprioritize stretch goals(anything not required to ship your MVP)

Important points on Communication:

  • Work closely with your PM/Design team from the onset
  • Try to find a product that is actually viable within the entire time given.
  • Communicate what you think are stretch goals and what you believe to be an MVP
  • Don't over-promise be realistic
  • Compromise, suggest alternatives to unrealistic goals.

 

AGILE PRACTICE

Agile practice is designed for cross-functional teams made up of product, engineering, and design experts. This team together identify opportunities and design solutions as a connected and integrated team. The philosophy behind cross-functional is that strong representation and collaboration between 3 key product disciplines, will ultimately bring the best product decisions and drive innovation.

Roles of Product, Design, and Engineering in a cross-functional team.

  1. Desirability (Product): This criterion is the degree to which our customers need and value a solution. Product managers have this criterion in mind when they are building a product.
  2. Feasibility (Developers): This is the degree to which we can technically architect a solution. What is possible based on the available technology?
  3. Usability (Design): This is the degree to which we would achieve the customer's need through a simple easy that's easy to use.

Product Backlog

This is the most important list in product development. It is the assembly of things you want to work on. The way you organize it, informs what you do next and how the team will execute it.

User Story

Backlogs are made up of many user stories. The user story is the smallest unit of work for a product.

User Story Structure As a {who} I want {what} because of {why}

Product development rituals

These are rituals that help teams build a potentially shippable product in a short period of time.

The rituals are:

  1. The Kick-off: This happens once every big project. The goal here is to get the team ready to start a new project.
  2. Refinement: In this ritual, the team prepares its requirements for the sprint planning meeting. Estimation is also discussed here.
  3. Planning: Here the team decides on what will be the focus for the next sprint(gotten from the product backlog). In planning, you are building a smaller backlog of things you will be focusing on in the upcoming week.

    Nugget: Planning a new sprint is easier if you have kept your sprint backlog from the past up to date.

  4. Stand-up: The goal of the daily stand-up is to review your progress and plan toward the sprint goal/.

  5. Review/Retrospection: Here you share your work with customers and stakeholders and receive feedback to inform your next sprints. this is where the feedback loop is built in Agile practice.