vit_r: default (Default)
[personal profile] vit_r
Начиная новый проект, каждый раз думаю, как сделать TODO лист более эффективным. Прочёл стопку книжек, пробовал много программ и способов, пару сам написал. Но счастья не нашёл. И вот вчера, обдумывая новый способ записи, понял, что проблема на идеологическом уровне.

Записывается общее название действия, а не его результат. Для сделать то-то есть единственный правильный ответ Done, хотя проблему могут решать и варианты Stopped, Delegated, Frozen, Rejected...

То есть, список надо делать более циничным и правдивым, чтобы все варианты не выглядели ошибкой, а являлись полноправными.

Возьму простой случай: Продать Х. Это может быть Убедить купить, Оформить покупку, Освободить место на складе способом самовывоза. И так далее.

Сейчас пытаюсь классифицировать честные задачи. Ищется минимальный набор типов, способный покрыть большую часть задач. Так что нужны предложения, замечания, мысли...



Первоначальный вариант под катом. Список не причёсанный и не полный, так как писалось в отеле, одной ногой в двери на выход.

  • найти информацию

  • показать результат (выполнить дурь начальника и отчитаться)

  • создать видимость (процесса)

  • передать работу

  • сделать документ

    • сложить информацию в одно место

    • отчёт

    • презентация

    • бумажка для галочки (создаётся документ, который никому не нужен, но участвует в процессе)



  • запрограммировать функцию / написать программу

  • администрация софта (найти, скачать, установить, и т.п., короче сделать так, чтоб заработало)

  • убедить (кого-то)

  • проинформировать

    • сообщить

    • объяснить

    • представить (Цель не передача информации, а создание чувства, что она правильная, каким бы бредом она не была. Пример - TED)



  • уничтожить

    • стереть (следы)

    • выкинуть

    • деинсталлировать

    • очистить


  • получить/раздобыть

    • информацию

    • софт

    • материальный объект

    • деньги (сюда входит постановка счёта, отсылка, проверка проводок, отсылка напоминаний и т.п.)



  • выяснить (Напрячь интуицию. Догадаться об информации, которая не лежит на поверхности, или получить о ней слухи. Сюда входит всё возможное, исключая профессиональный промышленный шпионаж.)

    • скрытые мотивы

    • политическую расстановку

    • перспективы

    • скрытые планы

    • скрытые факты



  • найти ответственного

  • создать пути коммуникации
    • официальные пути обена информацией

    • "кротовые норы" (эффективный в противоположность официальному путь обмена информацией

    • подтверждённый обмен (путь доставки с подтверждением для прикрытия задницы и ответа на заяления В первый раз слышу!)


  • саморазвитие

    • выучить

    • развить навык

    • натренировать

    • отрепетировать (подготовить сценарий с вариантами)

    • создать эмоциональную связь

    • получить сертификат


  • официально зафиксировать (решение, отношения, протокол, договор)

  • выбрать решение

  • придумать

  • запланировать



UPD Немного подедактировал список. Как ожидалось, особого ажиотажа вопрос не вызвал. Буду исправляться и писать ерунду.

Date: 2012-02-01 08:37 pm (UTC)
From: [identity profile] b00ter.livejournal.com
В посте я вижу неортогональный список операций. Не проще ли выделить объекты взаимодействия и типовые активности, а потом определить допустимые комбинации?
Edited Date: 2012-02-01 08:38 pm (UTC)

Date: 2012-02-01 08:47 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Ну я же попрошу попробовать самостоятельно...

Date: 2012-02-01 08:51 pm (UTC)
From: [identity profile] b00ter.livejournal.com
Ага. Завтра попробую.

Date: 2012-02-01 09:07 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Шпасибо. Буду ждать.

Date: 2012-02-02 07:20 am (UTC)
From: [identity profile] b00ter.livejournal.com
Хорошо, поехали.

Сущности:
- персоны (т.е. конкретные люди)
- роли (рабочие - начальник, подчиненный, коллега; деловые - потенциальный заказчик, заказчик, потенциальный исполнитель, исполнитель; квалификационные - специалист, консультант; общественные - знакомый, друг, родственник, близкий родственник)
- цели (тактика - задача, план, веха, проект; стратегия - процесс, направление, миссия)
- инструменты (материальные - программное обеспечение, аппаратное обеспечение, прибор, устройство; нематериальные - методика, документ, официальный документ, знание, консультация, отчет)
- ХЗ (нечто неопределенное в данный момент, например, что равновероятно может быть и консультацией, и софтом, и методикой)
- группы (комбинации вышеприведенного в виде - множества (без учета порядка), списка(с учетом порядка), иерархии, линейных связей).

У каждой из сущностей могут быть псевдонимы и инварианты. Например, компания = иерархия персон.

Далее, операции. Я не буду придумывать новых, просто обобщу исходный список:
- найти/выбрать
- создать/запустить
- уничтожить/завершить
- сделать
- передать
- повторить

Т.о. идеальное TODO - это что-то вроде приложение для смарта (с синхронизацией в облако, куда без этого) с голосовым распознаванием и выделением объектов и операций по словарю (словарь расширяем, а еще лучше - саморасширяем) + возможность ввести заметку при помощи скольжения пальцем по экрану (как стандартные элементы тут будут отстойными). Запись идет в список и после чего ей вешается еще одна характеристика - время (точка или диапазон), в рамках которого она будет актуальна. Предположу, что достаточно два состояния - "активно" и "завершено", а "заморожено" и "отложено" получается автоматически при помощи манипуляции с таймлайном.

В данном ПО будет главное интерфейс, т.е. время на создание записи должно быть минимально и просто, чтобы можно было выработать привычку с минимальным раздражением.

Как-то так.

Date: 2012-02-02 12:43 pm (UTC)
From: [identity profile] kababok.livejournal.com
хм, а роли и группы в более объемлющий класс "иерархия" нельзя объединить?

(я чуть ниже и своего понаписал — у нас многие мысли перекликаются :)

Date: 2012-02-02 01:09 pm (UTC)
From: [identity profile] b00ter.livejournal.com
А каким образом?

Просто группа и иерархия - это композитные модификаторы, т.е. они объединяют набор сущностей без рассмотрения, что эти сущности из себя представляют. Можно, конечно, копнуть глубже, но в рамках данной задачи, кажется, это будет лишним.

Date: 2012-02-02 08:11 pm (UTC)
From: [identity profile] vit-r.livejournal.com
- персоны ...
- роли ...


Основная проблема - не всегда понятно, где роль, а где персона. Тем более, для задачи, в которой важна компактность записи.

- цели (тактика - задача, план, веха, проект; стратегия - процесс, направление, миссия)
Опять же, тонкое деление не однозначно даже для стратегии против тактики.


- ХЗ (нечто неопределенное в данный момент,

Это нельзя делать, классификация должна покрывать всё. Иначе вот это будет присвоено 90 процентам записей

- найти/выбрать
- создать/запустить
- уничтожить/завершить
- сделать
- передать
- повторить


Я не вижу различия между последними тремя. И я не уверен в формуле "уничтожить = завершить". Хотя, первое у меня было неучтено.

В данном ПО будет главное интерфейс, т.е. время на создание записи должно быть минимально и просто, чтобы можно было выработать привычку с минимальным раздражением.

Для правильного интерфейса нужна правильная информационная модель. Нельзя методом дизайна создать что-то удобное, если надо выбирать (не задумываясь) больше чем из семи и выбор не однозначен.
Edited Date: 2012-02-02 08:47 pm (UTC)

Date: 2012-02-03 06:09 am (UTC)
From: [identity profile] b00ter.livejournal.com
Основная проблема - не всегда понятно, где роль, а где персона. Тем более, для задачи, в которой важна компактность записи.

На самом деле тут отношения есть, я просто не стал их акцентировать. Понятно, что у одной персоны может быть несколько ролей, равно как и, наоборот, одну роль могут играть несколько персон.

В данном случае, на мой взгляд, стоит придерживаться простого правила - если определен человек (например "показать результаты Алисе"), то это персона, если человек не определен и могут быть варианты - это роль ("показать результаты коллеге"). Понятное дело, что тогда задача может уточнятся (т.е. требовать исправления, что плохо, ибо время и переключение контекста), но, мне кажется, это делать необязательно. Все-таки между напоминалкой и педантичным списком задач для беспрекословного исполнения должна быть разница.

Опять же, тонкое деление не однозначно даже для стратегии против тактики.

Ну, на этот счет можно условится жестко. Например, атомарная/рутинная/типовая задача/проект с протяженностью не более двух месяцев - это тактика, комплекс проектов или направлений исследований - стратегия. Для упрощения можно совсем отказаться от использования терминов "тактика" и "стратегия" - толку в них мало.

Это нельзя делать, классификация должна покрывать всё. Иначе вот это будет присвоено 90 процентам записей

Это, увы, нужно, потому что почти всегда есть неопределенность. Разумеется, она имеет свойство уменьшаться (а данные по объекту уточнятся), но надо понимать, что ХЗ - это лишь связка, маячок, а контекст будет раскрываться в других словах.

Но что применение этой сущности должно быть ограничено - согласен. Например, по времени или по допустимым действиям.

Я не вижу различия между последними тремя.

Сделать - это да, повтор "создать", хотя предполагалось, что под сделать имеется ввиду некое относительно атомарное действие вне основных контекстов, например "сделать ТО".
Передать - это трансфер между сущностями. "Передать сущность:документ сущность:персона"
Повторить - операция над операциями (мы так до функций высших порядков договоримся :)), т.е. повторение уже существующей операции.

И я не уверен в формуле "уничтожить = завершить".

Там не равенства, а инварианты. Я просто поставил их рядом, потому как эти операции обычно завершают некий цикл.

Для правильного интерфейса нужна правильная информационная модель. Нельзя методом дизайна создать что-то удобное, если надо выбирать (не задумываясь) больше чем из семи и выбор не однозначен.

А вот тут позвольте не согласится.

1. дизайн играет не последнюю роль (успех Эппл, например), в деле с TODO, когда альтернатив, мягко говоря, до пояса, наиболее критичным будут аспекты именно быстрого вовлечения, непринужденной работы и последующего привыкания. Скажем так, если пользователю не понравится лук или он будет тратить на внесение заметки более 30-60 секунд - на успех можно рассчитывать, только если доплачивать за использование.

2. как мы знаем, построить идеальную модель все равно не получится (с тем же успехом можно заняться моделированием всего, но это уже экстремизм). Да, мы можем покрыть большинство наших каждодневных задач, но это все равно будет достаточно неполная картина мира. Поэтому я и уточнил, что система должна быть расширяемой и каждый мог ее адаптировать под свой типовой набор действий/сущностей.

3. в моем списке не более 6 пунктов, хоть в сущностях, хоть в операциях. Да, сущности потом требуют уточнения (например, для персоны необходимо будет выбрать из потенциально объемной адресной книги), но это можно сделать в несколько шагов.

Date: 2012-02-03 09:20 pm (UTC)
From: [identity profile] vit-r.livejournal.com

На самом деле тут отношения есть, я просто не стал их акцентировать. Понятно, что у одной персоны может быть несколько ролей, равно как и, наоборот, одну роль могут играть несколько персон.

Это только усложняет модель. И в большинстве случаев совершенно лишнее.

В данном случае, на мой взгляд, стоит придерживаться простого правила - если определен человек (например "показать результаты Алисе"), то это персона, если человек не определен и могут быть варианты - это роль ("показать результаты коллеге").

Второй вариант - это не постановка задачи, а постановка вопроса. Перед выполнением надо решить, что такое "коллега", что в большинстве случаев не тривиально. (Для того задача построения путей коммуникации и существует, чтоб определить действие однозначно и убрать муки выбора)



Это, увы, нужно, потому что почти всегда есть неопределенность. Разумеется, она имеет свойство уменьшаться (а данные по объекту уточнятся), но надо понимать, что ХЗ - это лишь связка, маячок, а контекст будет раскрываться в других словах.

При обнаружении не определённых в системе элементов, надо добавлять определение в систему, а не кормить её мусором. То есть задача "выполнить некую фигню" разбивается на две "определить какую именно фигню" (процесс постановки задачи/планирования) и "эту конкретную фигню выполнить" (выполнение задачи)

Но что применение этой сущности должно быть ограничено - согласен. Например, по времени или по допустимым действиям.

Ограничение возможно только одно "Нельзя". Любые "слабые" ограничения имеют тенденцию размываться.

1. дизайн играет не последнюю роль (успех Эппл, например)

Эппл тем и отличается, что использует для создания интерфейсов не программистские модели, а те, что в голове у пользователя. Начиная от рабочего стола и мусорной корзины.

как мы знаем, построить идеальную модель все равно не получится

Строимая модель - это не конечная версия, а зародыш. Что вырастет - зависит от полевых испытаний.

И классы должны быть легко определимыми, а не абстрактными базовыми.

Profile

vit_r: default (Default)
vit_r

June 2025

S M T W T F S
1234567
891011121314
15161718192021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 2nd, 2025 10:07 am
Powered by Dreamwidth Studios