Ride the Walrus! (Whalerider-2011)

From Wiki4Intranet
Revision as of 13:58, 18 September 2011 by VitaliyFilippov (Talk | contribs)

Jump to: navigation, search
Author

Stas Fomin
Footer
Ride the Walrus! (Whalerider-2011)
Subfooter

Stas Fomin, 18:00, 10 October 2013

Наш подход к выбору инструментария разработки «Ride the Walrus [1]»:

  • Не изобретать велосипедов и не строить из себя безумного интегратора, давая по желаемой системе каждому и пытаясь потом с этим жить.
  • Использовать только софт («моржа»), используемый в mainstream — свободно развивающийся под влиянием десятков тысяч разработчиков. Таким образом, мы получаем самые передовые и удобные практики и процессы. И даже если морж не очень красив внешне — под влиянием массы пользователей внутри он приобретает гибкую структуру.
  • Использовать только открытый и бесплатный софт — такой софт, в отличие от закрытых вендорских коробок, легко укротить и направить в нужном направлении.
  • Не лениться и укрощать его!
    • Выжимать все «соки из моржа», реализовывать все скрытые возможности!
    • То есть небольшое количество легких доработок крупно увеличивает возможности и юзабилити, при небольших затратах.
  • Это дает нам:
    • Удобство для разработчиков: минимум бюрократии, минимум необоснованных ограничений, отсутствие странных интерфейсов.
    • Организационную свободу и масштабируемость.
  • Принцип «по системе на область» — Subversion (+ ViewVC), Bugzilla, MediaWiki. Лишние системы сюда влезают плохо, и это хорошо!
  • Какие конкретно соки выжаты из моржа — специфика использования:
    • Интранет корпоративный, постоянные желания интеграции с продуктами M$, права доступа, трудозатраты (а то и задним числом), двухуровневая поддержка, управление багами по почте, SCRUM.
    • Локальная Windows-вики, использование Wiki для документирования, CRM. Слежение за ошибками.
    • Множество далёких от вики и вообще не очень близких к вебу пользователей, желание научить людей говорить и писать — блогофорумы, внешние ресурсы, ВикиПрезентации.

План

План «Оседлай моржа»:

  • Ролик Ride the Walrus.
  • Другие подходы к выбору систем: велосипед (-поддержка, -обучение, -умирает, -CLOC), коробка (-закрытая, -платная, -vendorLockIn), безумный интегратор (-понимание, -интеграция, -поиск данных) (в последнее и у наших попытки удариться бывают).
  • Наш подход: морж (жирный, -внешность, но мощный). Mainstream (100500000 юзают). Opensource. Укротить и допилить — «Оседлай моржа!»
  • По системе на область: код, знания, дела. SVN+ViewVC, MediaWiki, Bugzilla (вот уж морж так морж). Лишние системы лезут плохо: тесты == знания (тест-кейсы), тесты == код (авто), тесты == дела (прогоны). И обратите внимание, что так делает весь интернет — возьмите любой гуглкод.
  • Могли ли быть альтернативы? Могли ли. DVCS в моде (но не факт что в интранете хороши). CVS ещё не сдох (nt, March Hare). Trac, Mantis, Roundup — слабоваты. Jira — закрытый морж :) DokuWiki, MoinMoin. У MediaWiki есть преимущества — лучше расширяемость, хранит в базе, есть SMW.
    • Последняя попытка захотеть «безумного интегратора» была — CRM. Ибо слабая сторона вики — атрибутика. Но она ж решается Semanticом. Мы уже приползли в его сторону — моделируем CRM на MediaWiki. Приползли, надо отметить, не мы одни, есть как минимум Halo.
  • Как оседлать моржа? Лёгкие доработки, которые дают +++ к юзабилити. Примеры:
    • Медиаподдержка. Куча плагинов, куча готового софта — тех, Graphviz, UML, Gnuplot, SVGEdit, Freemindplane. А кстати, недавно слабали Visio <-> SVG, мы прикрутим.
    • Простейший вид интеграции: buglist -> wiki, ссылки bugzilla <-> wiki, viewvc.
    • Простые юзабилити-доработки вики: Edittools, автопредпросмотр (почти интерактив), HTML-почта (wiki, bz) и дифы, черновики, которые надо только поставить и не терять данные при закрытии браузера.
    • Аналогично про багзиллу: Ctrl-Enter, фокусы и табиндексы, быстрый поиск, морфология, массовая загрузка аттачей, предпросмотр комментов, RSS'ы.
    • Сок из ViewVC: кодировки, индексация содержимого - простой комбайн ViewVC+Tika+Sphinx (-SVNSearcher).
    • И ещё пример — «слежение за ошибками». Коли уж у вас царит раздолбайство гибкость и стоит unstable-система на боевом, пускай все ошибки логгируются и сами стучат по почте мне. А я их фикшу в 5 минут, народ удивляется.
  • Корпоративные реалии, или какой для них нужен сок из моржа, и почему 4Intra.Net (потому что отокуют клиенты, менеджеры и винда):
    • Отокует винда и продукты M$:
      • Bugzilla <-> Excel и т.п.: CSV-экспорт, вьюшки наружу, Excel-импорт — массовое обновление и постановка багов.
      • Wiki <-> Word: WikEd-копипаста, выгрузка, вордовый псевдоCSS: иерархические списки, автооглавления, альбомная ориентация, точки после номеров разделов :), авто-нумерация ссылок на разделы. Сюда же использование для документирования — сверхстатьи, импорт/экспорт копий.
      • Почта: Грёбаный Exchange Server, портящий письма (Base-64, multipart). Чтение RSS’ов через Аутглюк — HTTP-авторизация. Ответы багзилла демону, удаление оверквотинга.
      • Винда: Массовая заливка файлов через Flash-плагин (на очереди, похоже, копипаста скриншотов из него же). Локальная Windows-сборка (внизкачай) — «всё включено».
    • Отокуют менеджеры и клиенты:
      • Money трекер из багзиллы: Fix Worktime, а ещё задним числом, а ещё размазывание времени по багам, а ещё перенос времени с бага на баги с размазыванием. Дополнительные атрибуты — «темы», «договора», и т. п. А потом проверки на корректность заполнения. Ужос, и багзилла этого не умеет обычная, но мы от этого убежать не смогли.
      • Если давать всем по кастом полю — сойдёшь с ума очень быстро. Надо стараться заменить на А) Теги Б) Общий набор полей. Здесь багзилла преуспела. Двухуровневая поддержка — «внешние» продукты (про стенд и аналогию с see also), второй интерфейс для клиентов (и redirect to my bugzilla). SCRUM — печать карточек (+картинка).
      • А ещё права доступа — больная тема вики (и наша). В багзилле с ними труднопонимаемо, но хорошо.
    • Компания — не веб ⇒ куча народу, от него далековатого. А нужно быть ближе. Для компании хорошо, когда сотрудники пиарятся — но никто ж сам не пишет! А как научить? Начать с малого — блоги / срач в комментах! — на вики (+картинка+форумы). А ещё есть внешние ресурсы типа Team.
    • Инструменты вытаскивания: опросы. ВикиЭкзамены — можно обучать персонал, можно легко писать тесты, можно ими собеседовать. S5-презентации — хороший пример дешёвой доработки, сильно повышающей юзабилити (ещё внутренние семинары). ВикиЗакладки (+семантические закладки для удобства).

Презентация

Ride the Walrus — подход к выбору инструментария разработки

Виталий Филиппов

CUSTIS
  1. Отсылает к рекламе из Футурамы: „попробуй 100 % свежевыжатый моржовый сок!“