03 - Week 03
Time management
Weekly planning iteration
Introduction
RoadMap: Define what you want, know your energy and yourself
Things to accomplish:
- Create a REST API application with SpringBoot
- 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 | 3 | Week 1 | |
CP | 13 | Week 2 | |
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 |
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 |
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 Python and Django | 13 | 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 | 8 | Week 3 | |
MSX | 5 | Week 3 | |
PMS | 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
34 tasks:
- Important and urgent:
CP: Complete SonarQube GitHub action (W13)- CP: Swagger and Mockito into Library (W8)
- TP: Finish User Entity (W13)
- TP: Update functional diagrams (W8)
- DOL: Learn about observability (W13)
- DOL: Learn about OKD (21)
- DOL: Learn about Python and Flask (13)
- 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: Unify User HTML forms (W5)
- CP: Unify Publications creation (W8)
CP: Create GitHub issues (W3)- 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: Update UMLs (W5)
- 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: Redo 3D case for wired adapter (W8)- 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
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:
WEEK 3 | MONDAY (W34) | TUESDAY (W26) | WEDNESDAY (W32) | THURSDAY (W34) | FRIDAY (W37) |
---|---|---|---|---|---|
Morning | CP: Enable logging in Java (W8) |
CP: Swagger and Mockito into Library (W8) | TP: Update functional diagrams (W8) | ||
Afternoon | TP: Finish User Entity (W13) |
DOL: Learn about Python and Django (13) | DOL: Learn about Argo workflows (21) | DOL: Learn about OKD (21) | TP: Enable logging (W5) |
Evening | DOL: Learn about observability (W13) |
TP: Update UMLs (W5) | CP: Create missing Unit Tests (W8) | TP: Create missing Unit Tests (W8) | 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:
- Morning: planning done and GitHub issues created
- Afternoon: redesign of MSX adapter case
Tuesday:
- Morning: completed SonarQube GitHub action
Wednesday:
- Morning: kept working on Library REST API controllers and services
- Afternoon and evening: started the Python CRUD Rest API with Django tutorial, pending to finish it
Thursday:
Friday:
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:
- Replaced afternoon and evening tasks with MSX wired 3D case redesign
Tuesday:
- Replaced afternoon and evening tasks with MSX wired adaptor testing and projector repairs
Wednesday:
- Replaced afternoon and evening tasks with the pending Python task from Tuesday
Thursday:
Friday:
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
- Avoided pits
- I avoided spending too much time configuring a new IDE (PyCharm) for the Django tutorial
- What have you reorganized during this week?
- Django tutorial instead of Argo workflows
- MSX related stuff over finishing observability course
- Core concepts learnt during this week / What have you learned?
- API Rest with Django (not much)
- API Rest with Spring Boot
- Dealing with Generics in Java SE and designing factory strategies in REST APIs