КС2

Наш журнал - не продается.

Разработка сайта

КонтекстСообщение
Gambler
2010.05.14 06:05:40

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

Но время - это только половина дела. До сих пор внедрение новой функциональности на КС2 шло с большим скрипом. Почему? Была куча идей по улучшению, но они были собраны в длинные списки. Воплощение такого списка в жизнь требовало десятков часов работы, а значит - недель и недель неразрывного времени. В конце концов все приходило к тому, то сейчас надо потратить выходной на кодинг и дизайн, а через два месяца, может быть, будут какие-то позитивные результаты. Временной трубопровод.

Теперь мне кажется, что такой подход к задаче с самого начала мешал ее выполнению. Пару недель назад я прочитал книжку Extreme Programming Explained. Можно попробовать на практике приемы так называемого \"гибкого программирования\", которые там описаны.

Вкратце, работает оно следующим образом. Все задачи разбиваются на мелкие фишки, каждая из которых может быть реализована за несколько часов. Разработка ведется короткими циклами, например длинной в одну неделю. В начале каждой недели выбираются фишки, которые будут сделаны в течении недели. Каждый день программисты собираются на несколько минут и говоря что они сделали вчера, что они планируют делать сегодня, а так же обсуждают (кратко) проблемы, которые блокируют их прогресс.

Написанный код интегрируют в готовую систему как можно чаще, в идеале каждый день. Делают только то что нужно. Задачи сортируют по приоритетности (т.е. более важные делаются сначала, вне зависимости от того, насколько они сложны в исполнении).

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

Сидя на затянутой корпоративной лекции я набросал список сиюминутных задач по улучшению сайта:

- Профили пользователей (несколько емейлов, мессенджены, пару строк о себе, настройки того, кому это показывать).
- Нормальная смена пароля.
- Нормальная смена емейла.
- Рассылки оповещений о статьях. (Приходят по емейлу. Можно подписаться, отписаться.)
- Рассылки форума. (Можно подписаться на форум и на отдельную ветку.)
- Рассылки новостей.
- Исправить форматирование новостей, чтобы не проглатывались переносы строки.
- Предварительный просмотр статей.
- Предварительный просмотр новостей.
- Предварительный просмотр постов.
- Интерфейс для форматирования постов с кнопками, которые вставляют теги.
- Возможность удаления своих постов с форума.
- Возможность редактирования заголовков своих тем на форуме.
- Личные сообщения.
- Сборники статей/сериалы.
- Жанры или теги.
- Система загрузки/показа скринов.
- Список для таких вот задач, чтобы не загрязнять форум.

На мой взгляд, самый высокий приоритет тут у пользовательских профилей. Я просто про них забыл, но вообще они нужны. Остальное - не знаю. Итерации будут начинаться и заканчиваться ночью с воскресенья на понедельник и длиться одну неделю. Первая - с 17го по 23е мая. Если есть комментарии по приоритетам, то комментируйте.

Gambler
2010.05.20 03:05:23
[изменено]

Первый забег. 17e - 23е мая.

Зачачи:
- Профили пользователей (сделано).
- Смена пароля (сделано).
- Смена емейла (сделано).

Найденные проблемы:
- Включены "магические" кавычки на сервере (исправлено).
- По-моему не работает отправка емейлов (исправлено).
- Система шифрует емейлы даже для залогиненных пользователей (исправлено).

Профили я сделал самые простые: текстовые. Если надо будет, доработаю потом. Увидеть их пока что можно только кликнув по никнейму на форуме.

Gambler
2010.05.24 05:05:39
[изменено]

Второй забег: 24е - 30е мая.

Задачи: сделать личные сообщения.

(Забег позорно провален.)

Gambler
2010.06.02 07:06:22

Второй забег: 31е мая - 7е июня.

Задачи: все-таки сделать личные сообщения (в процессе).