07 - Week 07

Time management
Weekly planning iteration
Author

ProtossGP32

Published

May 1, 2023

Introduction

RoadMap: Define what you want, know your energy and yourself

Things to accomplish:

  • Create a REST API application with SpringBoot
  • Learn to properly define unit tests and integration tests for REST API applications
  • Create the first CI/CD pipeline for a Spring Boot project
  • Complete my tasks for the Team Project in Sprint 2
  • Deeper understanding of the DevOps methodology

TO-DO: list all the tasks that you have to do by concepts, technologies, tools, etc…

  • Categories:
    • Class Project (CP)
    • Team Project (TP)
    • Continuous Integration/Continuous Delivery (CI/CD)
    • DevOps Learning (DOL)
    • Planning & MindSet (PMS)
    • MSX-related tasks (MSX)
CATEGORY TASK WEIGHT INTRODUCED ON
CP Create Library REST client 5 Week 1
CP Unify User HTML forms 5 Week 1
CP Unify Publications creation 8 Week 1
CP Migrate H2 to another DB 13 Week 1
CP Create missing Unit Tests 8 Week 1
CP Update soft. script with Postman 8 Week 2
CP Swagger and Mockito into Library 8 Week 2
CP Enable logging in Java 8 Week 2
CP Quarto: automate weekly planning 13 Week 2
CP Finish MongoDB tutorials 8 Week 4
CP Finish React Lab-RE01-1 8 Week 5
CP Finish React Lab-RE02-1 8 Week 5
CP Finish React Lab-RE03-1 8 Week 7
CI/CD Learn GitHub Actions 13 Week 1
CI/CD Install Jenkins 8 Week 1
CI/CD Create staging environment 13 Week 1
TP Finish User Entity 13 Week 1
TP Create missing Unit Tests 8 Week 1
TP Enable logging 5 Week 2
TP Create REST API 5 Week 2
TP Finish GamesCollection 8 Week 5
DOL Deploy workloads on Kubernetes 13 Week 1
DOL Learn about OpenStack 21 Week 1
DOL Learn about OKD 21 Week 2
DOL Learn about Argo workflows 21 Week 2
DOL Learn about SQL and Postgres 21 Week 2
DOL Learn about Terraform 21 Week 3
DOL Learn about Ansible 21 Week 3
DOL Install a SMTP server 13 Week 1
MSX Test wired adapter 5 Week 3
PMS Weekly planning 8 Week 1
PMS Weekly retrospective 8 Week 1
PMS MindSet & Lectures 5 Week 1

Spring goal: categorize and filter them by importance and urgency based on your roadmap

  • Important and urgent:
    • CP: Swagger and Mockito into Library (W8)
    • CP: Finish MongoDB tutorials (W8)
    • TP: Finish User Entity (W13)
    • TP: Update functional diagrams (W8)
    • DOL: Learn about OKD (21)
    • DOL: Learn about Argo workflows (21)
    • DOL: Learn about Terraform (21)
    • DOL: Learn about Ansible (21)
    • PMS: Weekly planning (W8)
  • Important but not urgent:
    • CP: Create missing Unit Tests (W8)
    • CP: Create Library REST client (W5)
    • CP: Migrate H2 to another DB (W13)
    • CP: Update soft. script with Postman (W8)
    • CP: Enable logging in Java (W8)
    • TP: Create missing Unit Tests (W8)
    • TP: Enable logging (W5)
    • TP: Create REST API (W5)
    • CI/CD: Learn GitHub Actions (W13)
    • CI/CD: Create staging environment (W13)
    • DOL: Deploy workloads on Kubernetes (W13)
    • DOL: Learn about SQL and Postgres (W21)
    • DOL: Learn about OpenStack (W21)
    • MSX: Test wired adapter (W5)
    • PMS: Weekly retrospective (W8)
    • PMS: MindSet & Lectures (W5)
  • Not important but urgent:
    • DOL: Install a SMTP server (W13)
    • CI/CD: Install Jenkins (W8)
  • Neither important nor urgent:
    • DOL: Finish Penpot deployment and documentation (W5)
    • CP: Unify User HTML forms (W5)
    • CP: Unify Publications creation (W8)

Decision-making: plan your week

Each week, define tasks for each energy slot of the day (3 each day, 5 days a week). At the end of the week, review it to see how many of the tasks have been accomplished. Once done, plan the next week taking into account the feedback from the previous week:

TIME OF DAY MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY
Morning Holiday BSC PMS: Weekly planning (W8) CP: Enable logging in Java (W8) CP: Finish React Lab-RE03-1 (8) TP: Update functional diagrams (W8)
Afternoon Holiday BSC DOL: Learn about Argo workflows (21) DOL: Learn about OKD (21) TP: Enable logging (W5)
Evening Holiday BSC CP: Create missing Unit Tests (W8) CP: Finish MongoDB tutorials (W8) TP: Create missing Unit Tests (W8) TP: Finish User Entity (W13) PMS: Weekly retrospective (W8)

Ultimate goal: metrics

Make a retrospective of the previous week, analyse the results of the planning and take action.

  • Number of planned tasks per category:
CATEGORY NUMBER OF PLANNED TASKS NUMBER OF COMPLETED TASKS
Class Projects (CP)
Team Project (TP)
CI/CD
DevOps Learning (DOL)
Planning and MindSet (PMS)
MSX-related tasks (MSX)

Completed tasks

Think about the complexity of the completed tasks and if they matched the expectatives:

  • If the task was easier than you thought, move it to lower energies spaces
  • If the task was harder than you though, think about spitting it into less complex tasks

Monday:

  • Holiday
  • Team project: improved GamesCollection implementation and defined integration tests
  • Lecture about brain hemispheres

Tuesday:

  • Morning: BSC
  • Afternoon: BSC
  • Evening: Nothing

Wednesday:

  • Morning: React useEffect hook
  • Afternoon: BSC
  • Evening: Nothing

Thursday:

  • Morning: React + BSC
  • Afternoon: BSC –> Docker compose insights
  • Evening: Nothing

Friday:

  • Morning: Docker compose insights + ReactJS useEffect cleanup code
  • Afternoon: BSC
  • Evening:

Unfinished tasks

Think about the reasons why these tasks aren’t done:

  • Did you lack some kind of resource (knowledge, tools, etc…) to even start it?
  • Did you find any obstacle that slowed down your progress? The obstacle can be either internal or external, related or unrelated to the task
  • Is this task something that you’ve been dragging along for some time? Is it really necessary?

Monday:

  • Holiday

Tuesday:

  • Didn’t follow the timetable

Wednesday:

  • Didn’t follow the timetable

Thursday:

  • Didn’t follow the timetable

Friday:

  • Didn’t follow the timetable

Retrospective

Based on the previous analysis, identify the weak points of the previous planning, discard useless tasks, reassing new weights to pending tasks and schedule your next week:

  • Best decision of all week
    • Coming to class at 9AM and using the first hour to gear up with pending tasks (Team projects, BSC, etc…)
    • Focus on SpringBoot integration tests
      • This will make it easier to locally test any interaction with the DB, automating any required check
  • Avoided pits
    • Pits not avoided:
      • SpringBoot integration tests
      • ReactJS useEffect hook
  • What have you reorganized during this week?
    • Priorities: energies redirected to DevOps instead of programming
  • Core concepts learnt during this week / What have you learned?
    • Learned about Spring Boot tests (Service and access to DB)
  • Have you respected SCRUM cycles? Have you respected learning approach cycles?
    • No

Weekend homework

  • Lectures:
  • React:
  • VS Code:
    • Try some React plugins
    • Learn how to install them via CLI