Персональные инструменты
 

ShowTeamWork — различия между версиями

Материал из CustisWiki

Перейти к: навигация, поиск
м (1 версия)
м (Где скачать?)
Строка 97: Строка 97:
  
 
==== MediaWiki ====
 
==== MediaWiki ====
 +
 +
 +
== Gource ==
 +
=== Основная идея ===
 +
 +
* Визуализация и {{good-words|структур каталогов}} («облака имен»)!
 +
* Модель {{good-words|«Пчелы» и «цветы»}}!
 +
* Видны:
 +
** «Горячие зоны».
 +
** {{good-words|Кроссфункциональные}} парни.
 +
** {{bad-words|Заброшенные}} люди и код.
  
 
== Наш фреймворк ==
 
== Наш фреймворк ==
Строка 103: Строка 114:
  
 
Свободные, ''open-source'' программы:
 
Свободные, ''open-source'' программы:
* [http://code.google.com/p/codeswarm/ CodeSwarm] (GPLv3).
+
* [http://code.google.com/p/codeswarm/ CodeSwarm] (GPLv3) (требует установленной <tt>Java</tt>).
 
* [http://code.google.com/p/gource/ Gource] (GPLv3).
 
* [http://code.google.com/p/gource/ Gource] (GPLv3).
 
* [http://www.mplayerhq.hu/ MEncoder] (GPL version 2).
 
* [http://www.mplayerhq.hu/ MEncoder] (GPL version 2).
Строка 118: Строка 129:
 
digraph G{
 
digraph G{
 
   rankdir=LR
 
   rankdir=LR
 +
 +
  edge [color=blue]
 +
 
   node [style=filled shape=note]
 
   node [style=filled shape=note]
   "Лог-файл" [fillcolor="yellow" shape=box3d]
+
   node [fillcolor="goldenrod1" shape=box3d]
 +
  "Лог-файл"
  
   [fillcolor=aliceblue]
+
   node [fillcolor=aliceblue shape=note]
 
   "Музыка"   
 
   "Музыка"   
 
   "Настройки"
 
   "Настройки"
 +
  "Сценарий"
  
 +
  node [fillcolor="#0084FF" shape=egg]
 +
  "Кеш-данные" "Субтитры"
 +
 +
 +
  "Музыка"  -> "Кеш-данные" [label="Задает длительность"]
 +
 +
  "Визуализация"  [fillcolor=yellow shape=diamond]
 +
  "Настройки"->"Визуализация"
 +
  "Лог-файл" ->"Визуализация"
 +
 
 +
  "Визуализация"  -> "Кеш-данные"
 +
 +
 +
  "Сценарий" -> "Субтитры"
 +
 +
  "Субтитры"  -> "Результат"
 +
  "Кеш-данные" -> "Результат"
 +
 +
  "Результат" [fillcolor=gold shape=house]
 
}
 
}
 
</graph>
 
</graph>
 +
 +
Упрощенная схема генерации представлена выше.
 +
 +
Важно знать следующее:
 +
 +
{{note}} Единственный необходимый входной файл — лог:
 +
cvs log > cvs.log
 +
или
 +
svn --verbose log > svn.log
 +
 +
{{note}} Будучи запущенной <tt>ShowTeamWork</tt> без дополнительных файлов автоматически проанализирует лог, и
 +
* выделит наиболее крупные каталоги
 +
* подберет для них случайную контрастную палитру цветов
 +
* сгенерирует файл настроек
 +
* предложит одну из заготовленных<ref>Свободный, выпущенных под лицензией Creative Commons</ref> музыкальных дорожек в стиле ''Ambient''.
 +
 +
== Где скачать? ==
 +
Скомпилированные под Windows бинарники, вместе с исходниками опубликованы пока [http://narod.ru/disk/15793999000/showteamwork.zip.html здесь].
 +
 +
Подождите пару дней, мы заведем полноценный проект, вероятно на Google Code.
 +
 +
Но если не терпится — можно пробовать прямо сейчас, единственное софтверное требование — наличие <tt>Java</tt>.
 +
 +
Cразу посмотрите каталог <tt>samples</tt>, должно быть все понятно.
 +
 +
Чуть позже, мы подробно распишем здесь назначение каждой настройки.
 +
 +
== Контакты ==
 +
* [http://belonesox.moikrug.ru Стас Фомин].
 +
Но скоро планирую причесать код и опубликовать по-человечески, на хост-фабрике open-source проектов (скорее всего Google Code).
 +
 +
== Примечания ==
 +
<references/>
  
 
{{replicate-from-custiswiki-to-lib}}
 
{{replicate-from-custiswiki-to-lib}}

Версия 08:54, 9 декабря 2009

Проблема

При грамотном процессе разработки, с применением средств групповой работы, таких, как:

накапливается огромная история коллективного взаимодействия команды.


Хочется:

  • эффективно извлечь из этих данных полезные знания:
Работа
кто, как и где «вкалывает»,
Взаимодействие
кто с кем, и в каких темах
например:
  • достаточно ли было Agile-кроссфункциональности?
  • где были проблемы (заброшенные области, забытые люди)
  • и т.п.
  • быстро и нескучно рассказать о работе своей команды:
    • демонстрации заказчикам;
    • гордость перед коллегами;
    • хедхантинг новых сотрудников.

Однако на практике возникает проблемы:

  • Question.svg как эффективно исследовать этот пласт информации?
  • Question.svg как эффектно показать свою работу лицом?

Question.svg Может посчитать метрики? Ненавистные SLOC и иже с ними? Да, такие инструменты есть:

В зависимости от глубины детализации можно получить:

    • либо пару унылых метрик («KSLOCs в месяц на сферического разработчика в вакууме», то есть в нашей метафоре максимум — «площадь лесного массива»)[1].
    • либо многостраничные Excel-dashboardы, заполненные мириадами цифр, в которых почти также бессмысленно лезть человеку, если он не профессор Чарли Эппс из сериала Numb3rs с его верными суперкомпьютерами и волшебными алгоритмами DataMining-a.

  • Читать логи переписки и коммиты в VCS?

No.svg То есть разрабатывать «шахту знаний» киркой и мотыгой? Бродить по лесу и считать деревья? Муторно!


Question.svg Что же делать?

Есть альтернативный способ «увидеть лес за деревьями» и при этом выжать краткую информацию по процессу — Визуализация. В динамике!

Есть уже даже несколько моделей!

Целых две ☻ .

Codeswarm

  • CodeSwarm.
  • Самая древняя! (год с копейками).
  • Визуализация физической модели «Люди и файлы» (на самом деле 4-ре модели: «Simple», «Chaotic», «Maxwell», «Legacy»).

Основная идея

    • «Люди» не любят друг друга — отталкиваются!
    • «Файлы» тоже отталкиваются! «обратно пропорционально расстоянию»
    • «Людей» и «Файлы» притягивает при коммитах!
    • «Люди» сближаются из-за совместной работы над одними файлами



А также:

  • Файлы можно красить (по директориям).
  • Работа красит — файлы красят людей.
  • Цветной пульс проекта в динамике.

Что не хватает?

Important.svg Именно поэтому «самодельных» визуализаций — почти нет!

  • Сохраненного видео. Только рисует.
  • Какое видео без музыки?
  • Инфоканал — текст бегущей строкой — субтитры!
  • Максимальная автоматизация:
    • «старт с нуля» — только включить и дать на вход лог!
    • «эволюционные доработки» — легко и быстро «править кино».

Important.svg Наше решение все это делает!

Примеры

Bugzilla

MediaWiki

Gource

Основная идея

  • Визуализация и структур каталогов («облака имен»)!
  • Модель «Пчелы» и «цветы»!
  • Видны:
    • «Горячие зоны».
    • Кроссфункциональные парни.
    • Заброшенные люди и код.

Наш фреймворк

Мы используем

Свободные, open-source программы:

А также несколько треков свободно доступной электронной музыки от Tunguska Music Society (License: Creative Commons). Если вы поленитесь искать музыку — мы сделаем клип на базе случайного трека (несколько треков идут в комплекте). Бесплатно и патриотично! Если хотите публиковать свои ролики, напоминаем о пока еще существующих цифровых правах на музыку и рекомендуем использовать только свободно доступную музыку — тут огромный выбор музыки в стиле Ambient.

Схема генерации

[svg]

Упрощенная схема генерации представлена выше.

Важно знать следующее:

Note.svg Единственный необходимый входной файл — лог:

cvs log > cvs.log

или

svn --verbose log > svn.log

Note.svg Будучи запущенной ShowTeamWork без дополнительных файлов автоматически проанализирует лог, и

  • выделит наиболее крупные каталоги
  • подберет для них случайную контрастную палитру цветов
  • сгенерирует файл настроек
  • предложит одну из заготовленных[2] музыкальных дорожек в стиле Ambient.

Где скачать?

Скомпилированные под Windows бинарники, вместе с исходниками опубликованы пока здесь.

Подождите пару дней, мы заведем полноценный проект, вероятно на Google Code.

Но если не терпится — можно пробовать прямо сейчас, единственное софтверное требование — наличие Java.

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

Чуть позже, мы подробно распишем здесь назначение каждой настройки.

Контакты

Но скоро планирую причесать код и опубликовать по-человечески, на хост-фабрике open-source проектов (скорее всего Google Code).

Примечания

  1. На самом деле сейчас уже есть интересные варианты с нетривиальной статической визуализацией SVN-репозиториев: SVNPlot, примеры: [1], [2]. Но в динамике все равно гораздо веселей.
  2. Свободный, выпущенных под лицензией Creative Commons

Любые правки этой статьи будут перезаписаны при следующем сеансе репликации. Если у вас есть серьезное замечание по тексту статьи, запишите его в раздел «discussion».

Репликация: База Знаний «Заказных Информ Систем» → «ShowTeamWork»