Hello Seb, It sounds like org-mode can be a great fit. Sébastien Gendre writes: > But, as a student, I regularly have big and important projects to do for > the school. The kind of project who need several days to be done, with > deadlines too soon, and if you fail one them the consequences can be > disastrous. And generally, I have to many of these project in the same > time and not enough time to do all the work. So, I also need to follow > the progress of each project to choose which is sufficiently advanced to > be stop for the benefit of another less advanced project. Do I understand it right that what you need is to track the time required to reach milestones, not following the *progress*? So following progress seems like it would take more mental bandwidth than needed. You could have one org-mode task (headline) per milestone, with a DEADLINE (org-deadline), and then SCHEDULE (org-schedule) appointments. To track how much time you will still need, you can use org-set-effort. I did that at work for a while to train to get better at estimating. By having the effort in a clocktable I could see progress *when needed*. Hitting R in the org-agenda shows the clockreport-mode and you can see the Effort in the agenda by setting (org-agenda-clockreport-parameter-plist (quote (:link t :maxlevel 2 :properties ("Effort")))). For a while I had the clocktable active by default. You can also add that to the column-mode (org-columns) to get a quick overview for a file (leave with org-columns-quit). Customize: (org-columns-default-format "%25ITEM %TODO %3PRIORITY %TAGS %17Effort(Estimated Effort){:} %CLOCKSUM") > And I don't know how to manage this kind of projects with Org-mode. How > to do it, without failing a 6 days project because I spent to much time > on something else and I have only 3 days left with 3 half-day important > appointment I cannot cancel. I can't risk failing a single one of these > project by trying. So, when I am in a period with a lot of these > projects, I stop using Org-mode and concentrate on doing these project > as fast as I can. And because I often have this kind of project, I spend > most of the year without being able to use Org-mode. I found that org-mode is the only organization tool for which using the tool actually reduces the time I need for organization. That works by taking notes in org-mode, too, and keeping it simple. What I do: ** Custom starting point: agenda-with-kanban A function to show the agenda it besides the Kanban table. I start each day and after each larger break by hitting F12. It shows me the agenda and entry points into my work. This enables me to stay focussed. ** One planning file I have a single file for all my tasks. That keeps working surprisingly long. Once a year or so it needs some cleanup to become faster again. ** Kanban Table at the top I have a kanban table. It shows as most important information the tasks I am doing right now. If I am doing more than three work-tasks at the same time, it’s warning sign that I’m becoming inefficient. With this I start every day in org-mode by clicking on the link of the project from the kanban table to get to its notes (which I also track in org-mode). See https://www.draketo.de/light/english/free-software/el-kanban-org-table → https://hg.sr.ht/~arnebab/kanban.el ** Capture tasks for Projects Projects have as many tasks as I need to track. At work they are usually Stories (3-5 days). Nowadays I create new tasks by using org-capture templates with one template per larger project and one for bugs, but I used to just use two templates (which might be a better fit for you): - (i) task to start immediately and - (l) task to start later ** Setup (with-eval-after-load 'org (setq org-agenda-custom-commands '(("o" "Agenda and TODOs" ((agenda) ; nil ((org-agenda-compact-blocks nil)(org-agenda-block-separator ?-)(org-agenda-overriding-header ""))) (tags-todo "-notodo-TERMIN" ((org-agenda-block-separator ?-))) (tags "KANBAN" ((org-agenda-block-separator ?-) (org-agenda-compact-blocks nil) (org-agenda-overriding-header "")))))))) (defun my/org-agenda-show-kanban () (interactive) (save-excursion (search-forward ":KANBAN:") (org-agenda-goto) (org-narrow-to-subtree) (show-all) (fit-window-to-buffer) (widen) (recenter-top-bottom 0))) (defun agenda-and-todo () (interactive) (org-agenda nil "o") (delete-other-windows) (my/org-agenda-show-kanban) ;; desktop systemsettings shortcuts: map f12 to ;; emacsclient -e '(progn (show-frame)(agenda-and-todo))' (global-set-key (kbd "") 'agenda-and-todo) > So, if you have any suggestion on how to manage, in Org-mode, projects > with: > * Lot of work to do (many days) > * Short deadline (not enough time) This is something to fix. Also outside org. Always feeling like having to catch-up can burn you out otherwise. As an analogy: Even if you have to sprint sometimes, what you really want to do is to take a brisk walk, so you can still talk to your fellow students and think about the best way to address the tasks — do things well thought-out. > * High importance (disastrous consequences in my future in case of fail) > * Many of them in the same time > * Progression need to be followed to chose where to sacrifice time to > limit the damages Ideally have a plan beforehand which things to drop when time becomes tight. For example tag them or such. These are optional, otherwise you could not drop them when times becomes tight. (also I have a nicer clocktable layout so level2-entries look good: ;; nicer org clocktable layout (defun my-org-clocktable-indent-string (level) (if (= level 1) "" (let ((str "└")) (while (> level 2) (setq level (1- level) str (concat str "──"))) (concat str "─> ")))) (advice-add 'org-clocktable-indent-string :override #'my-org-clocktable-indent-string) ) Here’s the relevant part of my org-agenda setup: (use-package org-agenda :defer 8 :custom ;; provide desktop alerts, so I can have appointments in org-mode, too (alert-default-style 'libnotify) (appt-disp-window-function 'alert-for-appt) (org-agenda-include-diary t) (appt-delete-window-function (lambda ())) (org-agenda-clockreport-parameter-plist (quote (:link t :maxlevel 2 :properties ("Effort")))) (org-columns-default-format "%25ITEM %TODO %3PRIORITY %TAGS %17Effort(Estimated Effort){:} %CLOCKSUM") (org-global-properties '(("Effort_ALL" . "0:30 1:00 2:00 3:00 6:00 8:00 16:00 40:00"))) (org-agenda-start-with-clockreport-mode t) :config ;; Rebuild the reminders everytime the agenda is displayed (add-hook 'org-agenda-finalize-hook (lambda () (org-agenda-to-appt t))) ;; Run once when Emacs starts (org-agenda-to-appt t) ;; Activate appointments so we get notifications (appt-activate t) (defun appt-reparse-diary-file () "force reparsing the diary file" (appt-check t)) (add-to-list 'midnight-hook 'appt-reparse-diary-file)) Best wishes, Arne -- Unpolitisch sein heißt politisch sein, ohne es zu merken. draketo.de