From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id cGlFDiXrHWJdWwAAgWs5BA (envelope-from ) for ; Tue, 01 Mar 2022 10:45:09 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id 8L/6CyXrHWJ6xwAA9RJhRA (envelope-from ) for ; Tue, 01 Mar 2022 10:45:09 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id E2F9E3BC91 for ; Tue, 1 Mar 2022 10:44:59 +0100 (CET) Received: from localhost ([::1]:38782 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nOz3y-00071g-KF for larch@yhetil.org; Tue, 01 Mar 2022 04:44:58 -0500 Received: from eggs.gnu.org ([209.51.188.92]:55742) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nOy73-00010v-KV for emacs-orgmode@gnu.org; Tue, 01 Mar 2022 03:44:05 -0500 Received: from mout.web.de ([212.227.15.4]:43473) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nOy71-0000MB-8P for emacs-orgmode@gnu.org; Tue, 01 Mar 2022 03:44:05 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1646124239; bh=z4lYWOri9HofVy48AZnKuG7bChU8Hl2lFJXeogSJjIo=; h=X-UI-Sender-Class:References:From:To:Cc:Subject:Date:In-reply-to; b=JJsJydCr8P01APXpWSRNPPLbxXWDoNDiBOy7Sammb9LUHTfZPtY9209mAZmBPFX14 8g4DpJo2r8lA2Po2cy5w3XvyDOXqiBJLOe0pHbu39keLzX4yHKrksP3jshmH2xBLnW zNVa0JGyLMXRgHZbN8GEdO4r7Bv5ZruUMrbssgkw= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from fluss ([84.149.92.66]) by smtp.web.de (mrweb005 [213.165.67.108]) with ESMTPSA (Nemesis) id 1N6b8s-1oHDMn2F7W-018JX8; Tue, 01 Mar 2022 09:43:59 +0100 References: <87tuci9zp6.fsf@k-7.ch> User-agent: mu4e 1.6.10; emacs 27.2 From: "Dr. Arne Babenhauserheide" To: =?utf-8?Q?S=C3=A9bastien?= Gendre Subject: Re: How do you manage complex project with Org-mode Date: Tue, 01 Mar 2022 07:43:15 +0100 In-reply-to: <87tuci9zp6.fsf@k-7.ch> Message-ID: <87fso2awqa.fsf@web.de> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" X-Provags-ID: V03:K1:flJ9nyGmgmdY20DOF7A8LuixopkTSovy+OY1gV1TI9LwBKu2kQs Uwt+iOJ4y98Our3Ye9qnUVHiKd2ynwamLcwN3LCt/5NFX2N2LsJzNamIW5SYjX6o+/cz4RU le+h6tk8BOTjfwLXkObYA5B76JrsGAlRIfsMYhDvCysdzWBLh4OSg1Jljqc/VnJ+QxVG0s4 EenO7ldeY81w8nGsZxB2A== X-UI-Out-Filterresults: notjunk:1;V03:K0:fnwJyYXGhik=:RufAmDIT/r8/Lmj6zn38vO WaUC/U0a8NA1R0FphkPY4fMvpcFaVOhCiskN54pOVTgv8MtsnoOw54AQx/XUqHddJeYDSj2v0 BGUGpuC2kFUwKlEkuGsjEEgfsU2pmzyJLRf0TpaKoqUHl/YJia9Sx42Jvx3pZv3hQheHVZFNv AnuGSfu3TYfvP+Jlt+hruxn9uzHUsiQRH4Na+OPVYjRZC983dIAun+3AuirKv+wWOyhiBVzAp zHF5pI335T0B98F0vxkS2sPZQ9LEmGRU8H6LKkPFbN/mLHcb977Swf1lX0+DGbvTjxSqwhlNf m+pO8k1BMlBu8/NxFmUw88w/ued06j5cOooRflHGIZfYFEslSnNK9KrQPQQ6ppdA//yqUhIEy gIKbSrktbJI17HYf6L2fm5Cy8YHIzaOWdrEHeHc+QNfbsEab4xNb8DdLh+MeFXCmyxuPYLhcV iAuI/fHYVdU1gavSgNhEWJscdymhDwikafswC4mXJ7V01Zb0hQGxxXI+FXkIUk3kslD0qVCYc nmfh8a1AeaL+BsYutcC0yN8bHeSHR2sw+XaShjeZ4TkLv3qIDNl9MJAFS7iVnVGe5EikUtWfD g7dwWs/FTtpEDs2Q2QcRP0muKIxbAS6bqsleKxPywEVLzpTvWsV1quXkGIMqZjL0Qdq5F+UTK io+WWianjJfCOZ/PCLvdGrN78lMMVJvQUGGKUWXcSyN23v5wuUkLv9G5Wwo0ceWZuNuNgswGm wVf934qDACHUE8OEzop9w+AQqNkA2SXIxplAuZ/P5mcRwghg+RCnw+zxpL4TZ7Xt6FYwZLvBo JYbL0xk+VqSDZJYDpPXQfBdOwGat5rnsLBqDE4zOuFrWv8J6S36Fl53pidR6punQnB1nqVeuU dxZ14HvVmbpT2H/AspdjzHqaMzoKf7s7Z2I9bWPNhCXZVN9jVcxAwqFhe1yQQa/AH2pm7z5j1 sPmdEtTkZRADR6VAVZt9ObgM6mqSdItNvecA6dIPSESytxgCwv3aoivC3/JgjHpW27VWZWQo2 hIY5g8OziJI0PA9muANfOaEz0obISLHf7o9+LnGpCY8o212qwafu1OJVHoZunOfQCjaftmoXf w29CKY7PhsOkjk= Received-SPF: pass client-ip=212.227.15.4; envelope-from=arne_bab@web.de; helo=mout.web.de X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: emacs-orgmode@gnu.org Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: 0.00 Authentication-Results: aspmx1.migadu.com; none X-Migadu-Queue-Id: E2F9E3BC91 X-Spam-Score: 0.00 X-Migadu-Scanner: scn1.migadu.com X-TUID: vvgXmMW9doVb --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hello Seb, It sounds like org-mode can be a great fit. S=C3=A9bastien 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=E2=80=99s warning sign that I=E2=80=99m becoming ine= fficient. 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 =E2=86=92 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-bloc= k-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 =E2=80=94 do thi= ngs 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 (=3D level 1) "" (let ((str "=E2=94=94")) (while (> level 2) (setq level (1- level) str (concat str "=E2=94=80=E2=94=80"))) (concat str "=E2=94=80> ")))) (advice-add 'org-clocktable-indent-string :override #'my-org-clocktable-ind= ent-string) ) Here=E2=80=99s 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 :prop= erties ("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 =2D-=20 Unpolitisch sein hei=C3=9Ft politisch sein, ohne es zu merken. draketo.de --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQJEBAEBCAAuFiEE801qEjXQSQPNItXAE++NRSQDw+sFAmId3M4QHGFybmVfYmFi QHdlYi5kZQAKCRAT741FJAPD66GcEACrVhM1TZecElNL6hzHeIhcCeCFei44bjIX Kev38T+Nr6HBL/qzLFBdD4xKZjJF+x1ba5rMHL/gHDr3Dh3h50+MdrI1PMMSU6xG x1I5+MbAjviYv7d+ytaGM8r4xcZFYPiPWe2pMcebuDdbpN4Ln/7Qh6gnogpLBAZY yIP67iYVkK0CVpcMpFcecxIVBy0ElcnH4jtjuq3JxbIH42HDs1vzEz5glsOKhSqf oGUvSRwXVkLpceY2LspQvNteGzk9GL9d7isdAirAgCPI7uNE9dZOEq5szw6hbhfZ rzHXiBke0e/Sm0nugjB27cYJfCbsoZ6g6MtImnlanpK/skKnlduHLhrwnTXUJubT 1nxWRt/wN2P+NlVVACTQraWExVG9ejQAGWUBGhVpuqnrUsx4i+sBkpOEzIvZ+MxN klMBozZ2Lyl9tQo9DpPuTi+pp+NfgGwZzB/TrO5pNKQlPObYSs/uAhVH+Q7ImRSC fhkJJPEpiaYmkJ/Ltngz3f7APNJOfoyH0pGi97mNQH4DgKA5WbZe8wpGCyAfT0T9 0s9kd84knUKZP6UwUBuMAS0AcFh4aJaYN6qn9PobJLwKvJVqyEfbqrNFGkF7F654 DClLGjvdxj+aunOWJgc1LpzC0zo2shVvsrDPJu2c7toQIcw5Sf4eO7umHVqCCMM4 2zxooNferojEBAEBCAAuFiEE3Si95tmHXKvOSosd3M8NswvBBUgFAmId3M4QHGFy bmVfYmFiQHdlYi5kZQAKCRDczw2zC8EFSDjcA/97+ze+ZynHFLXKM3RzYaEE/IJa mH7Y3jUo+iSJImfgucZ/gIjK6GbUzkF3z9Ddkvs27tVimOs0CVOyErr4KrAhAkhb JPArTt0lxJBxFoKb3dF/MI24Ea5OlYd3pNo1dU9kTd1wlUyDevKupeRjpbwgkRB3 ZJ8MaINWBssTlwVWrg== =N9Ja -----END PGP SIGNATURE----- --=-=-=--