Тема работы
Разработка средства управления задачами.
Актуальность
В современном мире умение раскладывать все задачи по приоритету и не забывать выполнять самые важные является одним из самых важных умений. Без инструментальной поддержки этого процесса довольно трудно. Есть значительное число средств общего назначения. Для задач, возникающих в программистких проектах, есть некоторые особенности, и есть много средств, ориентировынных именно на программисткие проекты.
Однако существующие решения имеют недостатки:
- Большинство из них web-based и тормозят даже не приличном канале, и не работают без интернета
- В случае работы с несколькими проектами нет возможности получить общий список заданий для всех проектов.
- Слабая интеграция со средствами разработки (IDE)
Расшифровка темы
Разрабатываемое средство должно обладать следующими возможностями.
- Поддержание списка задач, организованного в иерархическую структуру проектов.
- Поддержка для каждой задачи приоритета, deadline, планируемого времени выполнения, оценки сложности, и комментариев/заметок.
- Возможность просмотра задач для конкретного проекта, а также задач для проекта и всех проектов вложенных в него
- Поддержка истории выполненных задач для проекта. Задача, помеченная как выполненая, переносится в историю, и может быть возвращена. Возможен просмотр истории задач -- возможно, на экране списка задач. Должна быть возможность очистки истории.
- Должен быть механизм запросов -- показ задач по определенным критериям.
- Отдельные "проекты" могут соответствовать внешним источникам -- Trac/Bugzilla или Todoist/RTM. Изменения задач в этих проектах должны синхронизироваться. Измененные или добавленные на удаленном сервере задачи должны отдельно выделятся до команды пользователя.
План работы
Осень:
- Сделать еще одну итерацию обзора, включив больше средств и явно выделив списки атрибутов и задачи, способы группировки задач, и набор операций
- Построить модель предметной области
- Разработать алгоритмы синхронизации изменений и методы показа изменений пользователю
- Полностью реализовать алгоритм синхронизации при работе с Trac
- Реализовать алгоритм синхронизации при работе с еще одним источником данных
- Провести usability тестирования
Ожидаемые результаты
Средство управления задачами с поддержкой нескольких источников.