emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Using the agenda to calculate how much work I have scheduled
@ 2009-01-15  2:56 Christopher DeMarco
  2009-01-15 17:01 ` Matthew Lundin
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Christopher DeMarco @ 2009-01-15  2:56 UTC (permalink / raw)
  To: emacs-orgmode

I want to have a realistic expectation of what I can accomplish in a
day.  So I want each TODO to have a time estimate of how long I think
it will take, and for the agenda to add them all up and tell me how
terrible my day is going to be.

First attempt: I found wonderful code on Sacha Chua's blog[1] which
does this, but org-agenda-get-day-entries seems to return *all* "TODO"
entries -- but I want to limit to entries which have only one state
("TODO", not "WAITING" or "DONE").  Is that possible?

Is there a better way of doing this, with my limited Lisp?  I have
looked at the Effort property, but I can't see how to use that from
within an agenda view -- and the ability to know "what time it is
now", and to therefore know how I fare in my daily plan, is important
to me.

Thanks in advance!


[1] http://sachachua.com/wp/2007/12/22/a-day-in-a-life-with-org/

-- 
Christopher DeMarco <demarco@maya.com>
IT Director
MAYA Group
+1-412-708-9660

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Using the agenda to calculate how much work I have scheduled
  2009-01-15  2:56 Using the agenda to calculate how much work I have scheduled Christopher DeMarco
@ 2009-01-15 17:01 ` Matthew Lundin
  2009-01-16 21:39   ` Christopher DeMarco
  2009-01-15 17:08 ` Manish
  2009-01-16 10:31 ` Olaf Dietsche
  2 siblings, 1 reply; 6+ messages in thread
From: Matthew Lundin @ 2009-01-15 17:01 UTC (permalink / raw)
  To: Christopher DeMarco; +Cc: emacs-orgmode

Hi Christopher,

Christopher DeMarco <demarco@maya.com> writes:

> I want to have a realistic expectation of what I can accomplish in a
> day.  So I want each TODO to have a time estimate of how long I think
> it will take, and for the agenda to add them all up and tell me how
> terrible my day is going to be.
>

Yes, try the following custom agenda command:

,----
|  (setq org-agenda-custom-commands
|        '(("E" "Effort view" agenda "" 
| 	  ((org-agenda-ndays 1)
| 	   (org-agenda-skip-function '(org-agenda-skip-entry-if 'notregexp "\\* TODO"))))))
`----

> First attempt: I found wonderful code on Sacha Chua's blog[1] which
> does this, but org-agenda-get-day-entries seems to return *all* "TODO"
> entries -- but I want to limit to entries which have only one state
> ("TODO", not "WAITING" or "DONE").  Is that possible?
>
> Is there a better way of doing this, with my limited Lisp?  I have
> looked at the Effort property, but I can't see how to use that from
> within an agenda view -- and the ability to know "what time it is
> now", and to therefore know how I fare in my daily plan, is important
> to me.

I use the following settings in my emacs file, using properties to set
my estimated effort - you can try tweaking the settings to your liking

,----
| (setq org-global-properties '(("Effort_ALL" . "0:05 0:10 0:15 0:30 0:45 1:00 1:30 2:00 3:00 4:00 5:00 6:00 7:00 8:00")))
| (setq org-columns-default-format "%50ITEM(Task) %17Effort(Estimated Effort){:} %CLOCKSUM %20SCHEDULED %20DEADLINE")
`----

Then within the agenda view, I simply type C-c C-x C-c for a column
view that nicely sums up both the estimated effort on my todos for
today and the sum of the time I've spent on each item, so I can
quickly compare where I'm at vs. where I need to be.

One word of warning: if you have repeating tasks in your agenda, the
time for those tasks will include all clocked time to date, so this
could mess up your daily estimates. Also if your agenda includes
projects or todos with subtodos, the effort and clock sums will
reflect the subitems when you change the time in the agenda view.

If you want a really accurate grid of time clocked for the day, type
"R" for a clock report.

If you want to use the custom command above but jump right into agenda
view, you can add the following setting:

,----
|       (org-agenda-view-columns-initially t)
`----

Hope this helps,

Matt

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Using the agenda to calculate how much work I have scheduled
  2009-01-15  2:56 Using the agenda to calculate how much work I have scheduled Christopher DeMarco
  2009-01-15 17:01 ` Matthew Lundin
@ 2009-01-15 17:08 ` Manish
  2009-01-16 21:49   ` Christopher DeMarco
  2009-01-16 10:31 ` Olaf Dietsche
  2 siblings, 1 reply; 6+ messages in thread
From: Manish @ 2009-01-15 17:08 UTC (permalink / raw)
  To: Christopher DeMarco; +Cc: emacs-orgmode

On Thu, Jan 15, 2009 at 8:26 AM, Christopher DeMarco wrote:
> I want to have a realistic expectation of what I can accomplish in a
> day. So I want each TODO to have a time estimate of how long I think
> it will take, and for the agenda to add them all up and tell me how
> terrible my day is going to be.
>
> First attempt: I found wonderful code on Sacha Chua's blog[1] which
> does this, but org-agenda-get-day-entries seems to return *all* "TODO"
> entries -- but I want to limit to entries which have only one state
> ("TODO", not "WAITING" or "DONE"). Is that possible?
>
> Is there a better way of doing this, with my limited Lisp? I have
> looked at the Effort property, but I can't see how to use that from
> within an agenda view -- and the ability to know "what time it is
> now", and to therefore know how I fare in my daily plan, is important
> to me.

You can blame me for the lack of a tutorial/article on this topic
since this has been pending on me for quite a while now.  But that
does not answer your question, so let me just attempt to get you going
in right direction.

1. Define effort_all global property like below.  You can define the
time periods for your requirements.

,----[ Effort_ALL property ]
| (setq org-global-properties (quote (("Effort_ALL" . "00:00 00:10
00:20 00:30 01:00 01:30 02:00 02:30 03:00 04:00 05:00 06:00 07:00
08:00"))))
`----

2. Define the column format for column view like below.  You can add
more columns like TODO keyword, CATEGORY, DEADLINE etc. as well.

,----[ Column view format ]
| (setq org-columns-default-format "%60ITEM(Task) %5Effort(Estim){:}
%5CLOCKSUM(Clock))
`----

3. Add some tasks to an org file.  (No need to add any effort
estimates at this time, though you may want to add tags.)

,----[ todo.org ]
| * Big task
| *** Phase 1
| ***** Task 1.1
| ***** Task 1.2
| ***** Task 1.3
| *** Phase 2
| ***** Task 2.1
| ***** Task 2.2
`----

4. While in todo.org, switch to column view with C-c C-x C-c.  It
changes to a table/matrix like view.  Now navigate to Estim column.
You can fill the effort estimate now by cycling through the effort
estimate values defined in org-global-properties.  Adding effort
estimate this way will add a property named "Effort" automagically to
the task.  The effort will be summed at each level automatically up to
the highest level.

You can exit the column view by pressing a "q".

6. Once you are done estimatinig efforts, you can start
scheduling/deadlining tasks.

Now to what you've been really waiting for :).  Go to the agenda for
the day by "C-c a a" as usual and switch to column view with "C-c C-x
C-c" and you should see the efforts for each task *and* total effort
scheduled for each day (e.g. for weekly view.)

You may want to configure these additional variables to your taste:
1. org-agenda-columns-add-appointments-to-effort-sum
2. org-agenda-sorting-strategy

Now you can choose to reschedule/reestimate tasks as you see fit.  You
can easily reschedule tasks from the column view itself by
S-<right>/<left> /if/ you add "%SCHEDULED(Time) %DEADLINE" also to
org-columns-default-format.  Note that the effects of change in
SCHEDULED or DEADLINE is not reflected immediately unlike changes in
the effort (you can refresh the view by pressing "g" in the column
view.).

Hope this gives you some ideas if not exactly what you were looking
for.

-- 
Manish

Life is beautiful.*
* Conditions apply.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Using the agenda to calculate how much work I have scheduled
  2009-01-15  2:56 Using the agenda to calculate how much work I have scheduled Christopher DeMarco
  2009-01-15 17:01 ` Matthew Lundin
  2009-01-15 17:08 ` Manish
@ 2009-01-16 10:31 ` Olaf Dietsche
  2 siblings, 0 replies; 6+ messages in thread
From: Olaf Dietsche @ 2009-01-16 10:31 UTC (permalink / raw)
  To: Christopher DeMarco; +Cc: emacs-orgmode

Christopher DeMarco <demarco@maya.com> writes:

> I want to have a realistic expectation of what I can accomplish in a
> day.  So I want each TODO to have a time estimate of how long I think
> it will take, and for the agenda to add them all up and tell me how
> terrible my day is going to be.

Have a look at the org manual section "8.5 Effort estimates". Maybe
this is what you're looking for.

Regards, Olaf

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Using the agenda to calculate how much work I have scheduled
  2009-01-15 17:01 ` Matthew Lundin
@ 2009-01-16 21:39   ` Christopher DeMarco
  0 siblings, 0 replies; 6+ messages in thread
From: Christopher DeMarco @ 2009-01-16 21:39 UTC (permalink / raw)
  To: Matthew Lundin; +Cc: emacs-orgmode

On Thu, Jan 15, 2009 at 11:01:41AM -0600, Matthew Lundin wrote:

> Hope this helps,

It does; it's awesome.  Thanks!


-- 
Christopher DeMarco <demarco@maya.com>
IT Director
MAYA Group
+1-412-708-9660

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Using the agenda to calculate how much work I have scheduled
  2009-01-15 17:08 ` Manish
@ 2009-01-16 21:49   ` Christopher DeMarco
  0 siblings, 0 replies; 6+ messages in thread
From: Christopher DeMarco @ 2009-01-16 21:49 UTC (permalink / raw)
  To: Manish; +Cc: emacs-orgmode

On Thu, Jan 15, 2009 at 10:38:50PM +0530, Manish wrote:

> Hope this gives you some ideas if not exactly what you were looking
> for.

It does indeed.  Thanks a ton!


-- 
Christopher DeMarco <demarco@maya.com>
IT Director
MAYA Group
+1-412-708-9660

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2009-01-16 21:49 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-01-15  2:56 Using the agenda to calculate how much work I have scheduled Christopher DeMarco
2009-01-15 17:01 ` Matthew Lundin
2009-01-16 21:39   ` Christopher DeMarco
2009-01-15 17:08 ` Manish
2009-01-16 21:49   ` Christopher DeMarco
2009-01-16 10:31 ` Olaf Dietsche

Code repositories for project(s) associated with this 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).