01 - Week 01
Introduction
RoadMap: Define what you want, know your energy and yourself
Things to accomplish:
- Finish the Library Web application using Web Controller (GET/POST)
- 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)
CATEGORY | TASK | WEIGHT |
---|---|---|
CP | Finish Borrow Entity | 8 |
CP | Add HTTP session login | 8 |
CP | Create Library REST API | 8 |
CP | Create Library REST client | 5 |
CP | Unify User HTML forms | 5 |
CP | Unify Publications creation | 8 |
CP | Migrate H2 to another DB | 13 |
CP | Update Quarto docs | 5 |
CP | Create missing Unit Tests | 8 |
CP | Review GitHub issues | 3 |
CP | Create GitHub issues | 3 |
CI/CD | Learn GitHub Actions | 13 |
CI/CD | Install Jenkins | 8 |
CI/CD | Create staging environment | 13 |
TP | Review Team Project status | 5 |
TP | Finish User Entity | 13 |
TP | Finish Vertical Slicing designs | 13 |
TP | Create missing Unit Tests | 8 |
TP | Do a weekly scrum | 8 |
TP | Update OpenProject tasks | 8 |
DOL | Learn about observability | 13 |
DOL | Deploy workloads on Kubernetes | 13 |
DOL | Learn about OpenStack | 21 |
DOL | Install a SMTP server | 13 |
DOL | Update Quarto docs | 8 |
PMS | Weekly retrospective | 8 |
PMS | Weekly planning | 8 |
PMS | MindSet & Lectures | 5 |
Spring goal: categorize and filter them by importance and urgency based on your roadmap
27 tasks:
- Important and urgent (6):
- CP: Finish Borrow Entity (W8)
- TP: Review Team project status (W5)
- TP: Finish User Entity (W13)
- TP: Update functional diagrams (W8)
- TP: Finish Vertical Slicing designs (W13)
- DOL: Learn about observability (W13)
- PMS: Weekly planning (W8)
- Important but not urgent (16):
- CP: Create missing Unit Tests (W8)
- CP: Add HTTP Session login (W8)
- CP: Unify User HTML forms (W5)
- CP: Unify Publications creation (W8)
- CP: Review GitHub issues (W3)
- CP: Create GitHub issues (W3)
- CP: Create Library REST API (W8)
- CP: Create Library REST client (W5)
- CP: Migrate H2 to another DB (W13)
- TP: Do a weekly scrum (W8)
- TP: Create missing Unit Tests (W8)
- TP: Update UMLs (W5)
- CI/CD: Learn GitHub Actions (W13)
- CI/CD: Create staging environment (W13)
- DOL: Deploy workloads on Kubernetes (W13)
- DOL: Update Quarto docs (W3)
- PMS: Weekly retrospective (W8)
- PMS: MindSet & Lectures (W5)
- Not important but urgent (5):
- CP: Update Quarto docs (W3)
- TP: Update OpenProject tasks (W8)
- DOL: Install a SMTP server (W13)
- CI/CD: Install Jenkins (W8)
- DOL: Learn about OpenStack (W21)
- Neither important nor urgent:
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 1:
WEEK 1 | MONDAY (W16) | TUESDAY (W24) | WEDNESDAY (W24) | THURSDAY (W47) | FRIDAY (W34) |
---|---|---|---|---|---|
Morning | CI/CD: Learn GitHub Actions (W13) | ||||
Afternoon | CP: Create Library REST API (W8) | CP: Migrate H2 to another database (W13) | DOL: Install a SMTP server (W13) | ||
Evening | DOL: Learn about observability (W13) | CP: Create Library REST client (W8) | TP: Finish Vertical Slicing designs (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) | 7 (W51) | |
Team Project (TP) | 5 (W47) | |
CI/CD | 1 (W13) | |
DevOps Learning (DOL) | 2 (W26) | |
Planning and MindSet (PMS) | 1 (W8) |
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
Completed tasks:
- CP: Review GitHub issues (W3)
- TP: Review Team project status (W5) –> Quick check on the OpenProject tasks status
- CP: Finish Borrow Entity (W8) –> Completed the day after because Monday afternoon and evening I couldn’t work
- CP: Update Quarto docs (W3) –> Already done during previous tasks
- CP: Add HTTP Session login (W8) –> Completed on Wednesday morning instead of [TP: Finish User Entity (W13)]
- TP: Update OpenProject tasks (W8) –> Rought review of the tasks status, then added [TP: Finish User Entity (W13)] task in the same slot
- TP: Do a weekly scrum (W8) –> Done on 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?
TP: Review Team project status (W5) –> Monday afternoon I wasn’t available for work
TP: Do a weekly scrum (W8) –> Tuesday morning the team didn’t meet
DOL: Learn about observability (W13) –> Tuesday evening I didn’t work, no reason at all
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:
- At the end of the week I had more energy in the morning, I could complete some high-energy tasks there. This week I’ll stick to the plan of doing low~mid-energy tasks in the morning, see if the pattern from previous week repeats
- On afternoon and evenings I couldn’t get in the mood of working. This week I’ll try to get to work earlier after lunch, doing some 10-min tasks to build momentum