From: "Dr. Arne Babenhauserheide" <arne_bab@web.de>
To: "Sébastien Gendre" <seb@k-7.ch>
Cc: emacs-orgmode@gnu.org
Subject: Re: How do you manage complex project with Org-mode
Date: Tue, 01 Mar 2022 07:43:15 +0100 [thread overview]
Message-ID: <87fso2awqa.fsf@web.de> (raw)
In-Reply-To: <87tuci9zp6.fsf@k-7.ch>
[-- Attachment #1: Type: text/plain, Size: 7465 bytes --]
Hello Seb,
It sounds like org-mode can be a great fit.
Sébastien Gendre <seb@k-7.ch> 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 "<f12>") '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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 1125 bytes --]
next prev parent reply other threads:[~2022-03-01 9:45 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-01 1:43 How do you manage complex project with Org-mode Sébastien Gendre
2022-03-01 4:03 ` Matt
2022-03-02 19:44 ` Sébastien Gendre
2022-03-01 6:43 ` Dr. Arne Babenhauserheide [this message]
2022-03-02 20:00 ` Sébastien Gendre
2022-10-08 19:53 ` Jean Louis
2022-03-01 7:12 ` Tim Cross
2022-03-02 20:33 ` Sébastien Gendre
2022-03-02 21:55 ` Tim Cross
2022-03-20 5:16 ` Ihor Radchenko
2022-03-20 21:24 ` Tim Cross
2022-03-21 9:25 ` Ihor Radchenko
2022-03-20 5:06 ` Ihor Radchenko
2022-03-01 19:26 ` Antonio Carlos Padoan Junior
2022-03-02 20:53 ` Sébastien Gendre
2022-03-01 21:06 ` Milan Zamazal
2022-03-02 20:58 ` Sébastien Gendre
2022-03-02 16:29 ` Quiliro Ordóñez
2022-03-02 21:05 ` Sébastien Gendre
2022-10-09 5:08 ` Jean Louis
2022-10-08 19:15 ` Jean Louis
2022-10-09 9:13 ` Christian Moe
-- strict thread matches above, loose matches on Subject: below --
2022-03-01 4:38 Eric Abrahamsen
2022-03-02 21:26 ` Sébastien Gendre
2022-03-02 23:35 ` Eric Abrahamsen
2022-10-09 9:19 Payas Relekar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87fso2awqa.fsf@web.de \
--to=arne_bab@web.de \
--cc=emacs-orgmode@gnu.org \
--cc=seb@k-7.ch \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).