THE SCHNIBBLE

United Software Development Group
/* self-directed work team */

Корпоративный кодекс (abstract vision)

Основные положения

1. Организованная Группировка Разработчиков (ОГР) это интернет-сообщество, профессионально занимающееся разработкой ПО
2. Одна из главных задач проекта — построение идеальной демократической системы внутреннего устройства организации
3. Ключевым фактором развития имиджа и роста организации представляется эффективность системы оценок профессиональных качеств членов сообщества
4. Членство в сообществе или участие в некоммерческих проектах не запрещает работать и повышать свою квалификацию в сторонних организациях
5. Вступление в команду для участия в коммерческих проектах обязует участника покинуть предыдущее место работы
6. Планирование настоящих и будущих проектов, а также составов команд производится таким образом, чтобы по возможности обеспечить непрерывную занятость всех активных сотрудников
7. Финансирование проектов производится с ориентированием на результат по каждой отдельной задаче
8. Бюджет и задачи внутри проектов распределяются по принципу рыночных отношений
9. Каждый участник проекта имеет право самостоятельно выбирать удобные ему методы и средства для реализации своих задач
10. Структура бюджета и любая информация, связанная с деятельностью организации, является открытой для всех участников
11. Не допускается утверждение каких-либо правил, ограничивающих ведение трудовой деятельности, без исчерпывающего обоснования их необходимости
12. Глава "Основные положения" настоящих правил изменению не подлежит, модификация других глав кодекса может осуществляться только путем общего голосования

Бизнес процесс

1. Система оценок персональных навыков
1.1 Каждый участник, в соответствии со своей квалификацией, по личной инициативе и своему желанию делает свой вклад в оценку других членов сообщества
1.2 Участники с родственными либо приятельскими отношениями принимают участие в проектах и оцениваются как самостоятельные микрокоманды
1.3 Оценкам подлежат только те навыки, которые заявлены самим сотрудником как его специализация, и производятся по 100 бальной шкале
1.4 Суммарный рейтинг для каждого навыка вычисляется, как среднее взвешенное всех полученных баллов. При этом вес каждой оценки учитывается пропорционально квалификации оценивающего
1.5 В случае изменения квалификации одного из участников, изменяется также и вклад сделанных им оценок, а сами оценки автоматически корректируются таким образом, чтобы итоговые рейтинги других сотрудников оставались неизменными
1.6 При переоценке навыков какого-либо сотрудника(микрокоманды), оценивающий может изменять его оценку на число баллов не превышающее количество недель прошедших с момента предыдущей оценки
1.7 В остальном сроки и методы проведения оценок никак не регламентируются, таким образом квалификация каждого сотрудника может постоянно уточняться

2. Жизненный цикл проекта
2.1 К участию в коммерческих проектах в первую очередь допускаются члены сообщества, имеющие максимальные рейтинги по востребованным специальностям
2.2 Стоимость любых работ на каждом этапе разработки оценивается непосредственно перед их выполнением
2.3 Любой проект начинается с работы аналитика совместно с заказчиком и включает задачи: изучение рынка, разработка технических и функциональных требований, подготовка документации, приблизительная оценка сроков
2.4 Выполнение задач связанных с аналитикой, моделированием или проектированием может повторяться по желанию заказчика с целью улучшения результата
2.5 В соответствии с требованиями и определенными сроками набирается необходимое количество проектировщиков для планирования и разработки архитектуры ПО
2.6 Производится разбиение на подсистемы/модули, разрабатываются и группируются требования для задач связанных с их взаимодействием
2.7 Тендер на разработку всех компонентов проводится в несколько этапов
2.8 На первом этапе каждый из участников оценивает стоимость выполнения для каждой группы задач в процентном отношении от всего бюджета
2.9 На втором этапе заказчик сам распределяет задачи, выбирая наиболее выгодные условия
2.10 На основе документации оцениваются приблизительные сроки и бюджет проекта, утверждаются окончательные требования
2.11 Исходя из выбранных средств исполнения определяются позиции для выполнения технических задач
...

3. Гарантии качества
3.1 Все участники обязуются качественно и в срок выполнять взятые на себя обязательства
3.2 В общем случае успешность выполнения всего проекта определяется минимальным показателем качества выполненных по нему задач
3.3 В случае необходимости, каждый разработчик может запросить помощь свободных сотрудников или привлечь внешние ресурсы (на индивидуальных условиях)
3.4 Критерии выполнения любой работы определяются на этапе постановки и включают: функциональные требования, тестовые сценарии, условия тех.поддержки, требования к расширяемости кода
3.5 Материальная ответственность за невыполненение обязательств оговаривается одновременно с постановкой задачи (см. пункт 2)
3.6 Дополнительной мотивацией является очевидная зависимость личного рейтинга от результатов работы

4. Проектная документация
4.1 High level requirements (front-end requirements, QoS, intermodule scheduling)
4.2 Low level requirements (functional requirements)
4.3 Quality of code requirements (expansibility, maintenance terms, legibility)

5. Кадровая политика
Роли:
- Аналитик (анализ функциональных требований, дизайн пользовательского интерфейса, подготовка документации)
- Проектировщик (анализ технических требований, разработка алгоритмов, механизмов и структур данных)
- Художник (работа с графикой)
- Специалист (консультации и реализация технических задач: C++, JavaScript, MySQL, XHTML,...)
- Тестировщик (реализация тестирования заданных сценариев)
- Стажер (без реального опыта)
- Руководитель (наниматель вспомогательных ресурсов)
- Инвестор-меценат (делает пожертвования)

Личные интересы (область применения навыков):
игры, социальные сервисы, офисные приложения, видео наблюдение, специализированный софт, итп

6. План развития
6.1 Разработка корпоративного кодекса: основная концепция, кадровая политика, децентрализованная система управления проектами
6.2 Формирование основы: костяк из профессионалов, определяющих качество системы оценки кадров
6.3 Разработка корпоративного сайта и вспомогательных технических средств
6.4 Непрерывная вербовка новых опытных специалистов
6.5 Реализация внутренних проектов и поиск заказчиков с проектами, подходящими для создания портфолио
6.6 Поиск заказчиков и проектов для максимальной загрузки ресурсов сообщества

7. Конкурентоспособность
Привлечение заказчиков:
- открытая децентрализованная система управления организацией
- прозрачный и открытый бизнес-процесс от составления требований до конечного результата
- применение ориентированной на результат системы бюджетирования проектов
- планирование проектов с приоритетом на максимально приемлемое соотношение цена/качество для заказчика:
- адаптируемая система требований по качеству кода и его расширяемости (code requirements specification - качество, расширяемость, тех.поддержка) [4.3]
- формирование команды индивидуально для каждого проекта и эффективное распределение задач между разработчиками [2.7-2.9]
- минимизация и разделение рисков
...

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

Обсудить на форуме