Pull to refresh

Российский футбол на «плюсе». А при плюсе? Или такой футбол нам не нужен: ч.1 теоретическая

Reading time 6 min
Views 7.1K
Designing and refactoring *Algorithms *
Добрый день! Долго думал, писать пост или нет. Но буквально на днях появился утвержденный календарь ЧР по футболу 2013/2014, и вот под впечатлением сие текст…
Что мы видим, взглянув на расписание игр.
Тур 16: 2 ноября Краснодар-Кубань и Зенит — Амкар… Навскидку в Краснодаре +10, в СПб -5.
Тур 17: 9 ноября Урал-Ростов: в Екатеринбурге -10, в Ростове — на –Дону +10, Рубин – Краснодар, аналогично…
Также и 23, 30 ноября, 7 декабря, 8 марта, 15 марта, прогресс шагает семимильными шагами, но обходит руководителей российского футбола стороной… В тоже время в мае, июле, августе многие «северные» команды приезжают в гости на юг, в самую жару, для того чтобы получать «солнечные удары»…?! «Такой хоккей нам не нужен!»
Читать дальше →
Total votes 31: ↑12 and ↓19 -7
Comments 18

Социальный Организм — как форма эффективного взаимодействия команды. Часть 1

Reading time 12 min
Views 6.2K
Project management *Community management *Start-up development Personnel Management *
Tutorial
Пробная версия этой статьи ранее уже публиковалась мною.

I Вступление


Я хочу поделиться теорией, которую недавно создал.
Агент Смит (Фильм «Матрица»)
Немного о себе. На заре своей карьеры я долгое время работал программистом. Позже, когда мне стало скучно просто кодировать, переквалифицировался в системного аналитика, попутно исполняя функции менеджера проектов. В последнее же время обстоятельства сложились так, что совместно с партнерами мы создали небольшую ИТ компанию.

Мне и раньше приходилось подбирать персонал в свою команду, но одно дело нанимать людей в фирму, где ты и сам наемный работник, и совсем другое, когда ты впускаешь чужих, малознакомых людей в свое детище. Волей-неволей задумываешься, как сделать так, чтобы сотрудники не просто формально рассчитывались своим трудом, за выплачиваемые им деньги, а старались привнести в общее дело что-то свое личное: важное для них и одновременно полезное для всех?

Очевидно, тут нужен какой-то особенный инструмент, который позволит собрать группу одиночек и превратить их в команду соратников. При чем этот инструмент должен быть не просто клубом, где “тусуются” единомышленники, а способом качественного и эффективного решения производственных задач.

Поскольку, по роду своей деятельности, я привык подходить к решению проблем системно, то и в данной ситуации, совершил экскурс в основы социологии и провел блиц анализ предметной области. Информации оказалось очень много, и она пролила свет на некоторые, моменты, ранее не очевидные для меня. Но все же найти готовые комплексные решения, которые позволили бы построить свою собственную «страну Оз», я так и не смог. А потому, я решил систематизировать добытую информацию, немного разбавить ее своим личным опытом и самому спроектировать этот “волшебный” инструмент.
Читать дальше →
Total votes 8: ↑6 and ↓2 +4
Comments 9

Социальный Организм — как форма эффективного взаимодействия команды. Часть 2

Reading time 19 min
Views 3.2K
Project management *Community management *Start-up development Personnel Management *
Tutorial
С частью 1 можно ознакомиться, перейдя по ссылке

III Механизмы построения социального организма


Примешь синюю таблетку — и сказке конец.
Ты проснешься в своей постели и поверишь, что это был сон.
Примешь красную таблетку — войдешь в страну чудес.
Я покажу тебе, насколько глубока кроличья нора.
Морфеус (Фильм «Матрица»)

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

Фактически мы предпримем попытку построить новый социальный механизм, запустив ход которого, воспроизведем некую новую действительность, позволяющую погрузить людей в новый, комфортный для них Мир. При этом стоит понимать, что когда мы порождаем целый Мир, скорее всего, он меняет что-то и в нас самих.

Для удобства, пойдем сверху вниз по списку функций, указанных а разделе 6 предыдущей главы.
Читать дальше →
Total votes 7: ↑6 and ↓1 +5
Comments 1

Социальный Организм — как форма эффективного взаимодействия команды. Часть 3

Reading time 5 min
Views 3.5K
Project management *Community management *Start-up development Personnel Management *
Tutorial
С частью 1 можно ознакомиться, перейдя по ссылке
С частью 2 можно ознакомиться, перейдя по ссылке

IV Обеспечение жизненного цикла социального организма


Давно не живу планами. Они не всегда сбываются, ведь в них участвуют люди, что срывает любые гарантии. Ничто никогда не идет по плану. Лучше уж импровизация.
Эльчин Сафарли. («Мне тебя обещали»)

Социальный Организм, как и любой другой организм, для поддержания и развития требует ресурсы. Поэтому мало просто породить такое сообщество, необходимо с рачительным постоянством присматривать за ним. Сначала за его самочувствием и первыми неуверенными шагами, потом за тем, чтобы оно само никого не обижало и Вам не было совестно за него, после, чтобы его никто не увел от Вас, поманив эфемерными чувствами. В идеале всё-таки хотелось бы просто созерцать, как оно само заботится о Вас, поддерживая и не давая в обиду. Поэтому чем больше архитектор заложил в Социальный Организм, механизмов саморегуляции, о которых говорилось в предыдущей главе, тем больше времени он сможет уделять себе, а не нянчиться со своим детищем.
Читать дальше →
Total votes 8: ↑7 and ↓1 +6
Comments 8

О качестве требований в ИТ проектах, начистоту (с позиции команды разработки). Часть 1

Reading time 8 min
Views 18K
IT systems testing *System Analysis and Design *Designing and refactoring *Functional Programming *Industrial Programming *
По мотивам моей статьи, изданной ранее…

Вступление


Получить бы медаль, а уж с обратной ее стороной найдем, что делать.
(Георгий Александров)

В подавляющем большинстве работ, посвященных управлению требованиями, которые мне довелось читать [1], [2], [3] и другие, авторы хороводят вокруг заказчика, акцентируя основное внимание читателей на том, как максимально эффективно организовать работу именно с ним. Ну и конечно, львиная доля труда обычно посвящена вопросам преобразования собранной информации в некие проектные решения, моделирующие разрабатываемую систему, а также оформление их со спецэффектами, бантиками и рюшами. Разумеется это все важно и я ни в коем случае не хочу умолить значение этих аспектов формирования требований, но есть еще и обратная сторона. Ведь дальше требования должны попадать непосредственно в “цех” по производству программного обеспечения. И именно там они, до самого рождения целевого продукта, останутся основным сводом законов и правил, по которым он будет зарождаться и являться миру. Этот факт уже сам по себе определяет важность того, насколько точно требования должны соответствовать интересам специалистов, призванных воплотить их в конечном продукте.

А посему, давайте взглянем на качество требований глазами команды исполнителей: разработчиков, специалистов управления качеством, менеджеров проекта. Ведь именно эти люди и являются основными потребителями работы аналитика. И от того насколько точно созданные спецификации подходят конкретной команде для переработки их в готовый программный продукт, зависит качество и конечная себестоимость этого продукта.
Читать дальше →
Total votes 8: ↑8 and ↓0 +8
Comments 2

О качестве требований в ИТ проектах, начистоту (с позиции команды разработки). Часть 2

Reading time 8 min
Views 13K
IT systems testing *System Analysis and Design *Designing and refactoring *Functional Programming *Industrial Programming *
С частью 1 можно ознакомиться, перейдя по ссылке

Рекомендации по проектированию спецификаций требований с примерами


То, о чем не говорят, каждый понимает по-своему

Как и было анонсировано в предыдущих разделах, мы постараемся преобразовать требования на разработку ПО в такой формат, чтобы они максимально упростили и ускорили работу команды превращающую их в конечный продукт.

Готовим читателей к знакомству со спецификациями


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

Пример обзора документа:



Для лучшего восприятия контекста разрабатываемой системы, помимо разделов, отобранных нами в структуру документа — как обязательные, я стараюсь включить в текст информацию о целях, которые должны быть достигнуты в результате разработки целевого продукта или его составного модуля. Разработчики все-таки должны осознавать, чего же желает заказчик получить на выходе проекта. Для описания этого раздела подойдут формализованные Потребности заказчика. Похожий раздел есть в большинстве стандартов, например в ГОСТ-34.602-89 [4] он называется «назначение и цели создания (развития) системы».
Читать дальше →
Total votes 15: ↑14 and ↓1 +13
Comments 6

О качестве требований в ИТ проектах, начистоту (с позиции команды разработки). Часть 3

Reading time 4 min
Views 7.9K
IT systems testing *System Analysis and Design *Designing and refactoring *Functional Programming *Industrial Programming *
С частью 1 можно ознакомиться, перейдя по ссылке
С частью 2 можно ознакомиться, перейдя по ссылке

Использование спецификаций требований в управлении проектом


Во вступительной части была упомянута группа участников проекта, для которой мы так же обещали облегчить жизнь и обеспечить условия для эффективного использования требований – это менеджеры проекта. Что получают эти глубокоуважаемые люди при выборе предлагаемого в статье подхода?

Планируя работы по таким детальным спецификациям, еще на ранних стадиях, можно с высокой точностью определить ресурсы и сроки, необходимые для их реализации. Время, которое необходимо затратить на создание Таблицы, Формы, Функции, Отчета и т.д. можно просчитать на примере одного проекта и в дальнейшем использовать эти данные как эталонные. А в наших спецификациях, как раз и перечислены все таблицы, формы, процедуры и т.д. и сосчитать их количество не составляет труда.

Но, естественно есть погрешности и процедура – процедуре рознь, поэтому, для более точного расчета можно использовать коэффициенты сложности для реализуемых объектов. Например, «сложная форма» — 1,5; «обычная форма» — 1; «простая форма» — 0,5. Для каждого типа элемента подбираем свою линейку значений коэффициентов. Полученные таким образом данные можно занести в электронную таблицу и сбить итоговые затраты в человеко\днях или человеко\часах (как Вам удобнее) по подсистемам и проекту в целом.
Читать дальше →
Total votes 6: ↑5 and ↓1 +4
Comments 6

Беседы о Виртуальной реальности. Беседа №1. Реально о Виртуальности

Reading time 14 min
Views 11K
Research and forecasts in IT *Studying in IT Reading room

I Вступление


У того, кто никогда не меняет взглядов, обычно нет никаких взглядов.
Альберто Моравиа.
Долгое время, проработав системным аналитиком в ИТ отрасли, я стал подмечать, что теперь по другому воспринимаю фильмы, так или иначе затрагивающие тему Виртуальной реальности («Матрица», «Начало», «Иллюзия обмана» и другие). Я ловлю себя на мысли, что пытаюсь систематизировать информацию, охарактеризовать суть и форму явлений, разложить сложные понятия на простые и представить, как это все используется в повседневной жизни. Я сейчас не имею в виду компьютерные технологии: шлемы, сенсорное обмундирование и т.п. Все что находится снаружи, не вызывает споров и неоднозначности, занятно обсудить что же там происходит внутри.

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

С другой стороны эта публикация является логическим продолжением моих статей «Где логика? Учимся мыслить системно» и «Социальный Организм — как форма эффективного взаимодействия команды», в которых я стараюсь популяризировать системное мышление в повседневной жизни, в быту и профессиональной деятельности.

Если Вы хотите об этом поговорить, тогда Вам сюда… Надеюсь, что будет увлекательно и не скучно.
Читать дальше →
Total votes 11: ↑10 and ↓1 +9
Comments 22

Практика формирования требований в ИТ проектах от А до Я. Часть 1. Вводная

Reading time 11 min
Views 29K
Programming *System Analysis and Design *Designing and refactoring *Data visualization *Industrial Programming *
Tutorial

Пролог


Читая на этой площадке статьи по управлению проектами, часто ощущается рвущаяся наружу боль менеджеров, вызванная неэффективным использованием ресурсов в проекте. А одной из основных причин этих проблем чаще всего называется именно отсутствие качественных заданий на разработку продукта. Проявляться эта беда может в разных симптомах: в виде трудностей с делегированием абстрактных расплывчатых заданий, или взаимного непонимания на совещаниях по решениям, которые имеются только у каждого в голове, при этом представляются они абсолютно по разному.

В своей статье «О качестве требований в ИТ проектах, начистоту (с позиции команды разработки)», я попытался более конкретно подойти к решению этих проблем и рассказал на своем опыте, как можно преобразовать собранные требования для автоматизации в ИТ проекте так, чтобы максимально повысить результативность команды, воплощающую их в целевой продукт. Повысить именно за счет качественно сформулированных заданий на разработку продукта, покрывающую весь процесс.

Теперь я хочу рассказать, как можно качественно сформировать сами требования, ведя Заказчика от его «хотелок», к его счастливому и плодотворному сожительству с программным продуктом, его мечты.
Об авторских тренингах на тему: «Обучение проектированию ПО» подробнее можно узнать на моем YouTube канале
Читать дальше →
Total votes 9: ↑8 and ↓1 +7
Comments 5

Практика формирования требований в ИТ проектах от А до Я. Часть 2. Цели и Потребности

Reading time 15 min
Views 22K
Development Management *Project management *Product Management *Business Models *

Об авторских тренингах на тему: «Обучение проектированию ПО» подробнее можно узнать на моем YouTube канале

IV ОПРЕДЕЛЯЕМ ЦЕЛИ, ПРОЕКТА

Цель не обязательно должна достигаться. Порой это просто направление двигаться дальше.
Брюс Ли.


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

Цель данной группы работ: определить основные задачи, которые ставят перед собой группы заинтересованных лиц, участвующих в проекте.
Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Comments 2

Практика формирования требований в ИТ проектах от А до Я. Часть 3. Функции системы и Границы проекта

Reading time 13 min
Views 29K
Programming *System Analysis and Design *Designing and refactoring *Data visualization *Industrial Programming *
Tutorial

Об авторских тренингах на тему: «Обучение проектированию ПО. Функции системы» подробнее можно узнать на моем YouTube канале

VI Определяем функции системы и границы проекта


Каждая модель ограничена в своих ответах, но нет ограничения на то, как и что моделирует модель, как нет ограничения на человеческую мысль
Дуглас Т. Росс


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

Цель данной группы работ: максимально полно определить набор функций, который должен выполнять целевой продукт, для удовлетворения выявленных потребностей заказчика. Отобрать те из них, которые, могут быть реализованы в рамках текущего проекта.
Читать дальше →
Total votes 18: ↑17 and ↓1 +16
Comments 7

Практика формирования требований в ИТ проектах от А до Я. Часть 4. Бизнес процессы, автоматизируемые системой

Reading time 9 min
Views 12K
Programming *System Analysis and Design *Designing and refactoring *Data visualization *Industrial Programming *
Tutorial

Об авторских тренингах на тему: «Обучение проектированию ПО» подробнее можно узнать на моем YouTube канале

VII Детализируем процессы, включенные в рамки проекта


Нужно усложнять, чтобы в результате все стало проще,
а не упрощать, чтобы в результате все стало сложнее.
Веслав Брудзиньский


Определив основные функции и рамки проекта, можно переходить к детальному описанию алгоритмов функционирования, создаваемой системы. В этом блоке работ мы используем прием, позволяющий «попутно» определить связи между процессами и хранилищами. Это поможет нам плавно перейти от моделей процессов к моделям данных.

Цель данной группы работ: на основании выявленных функций, определить сценарии использования, разрабатываемого целевого продукта.
Читать дальше →
Total votes 9: ↑8 and ↓1 +7
Comments 0

Практика формирования требований в ИТ проектах от А до Я. Часть 5. Сущности предметной области и немного о стратегиях

Reading time 16 min
Views 15K
Programming *System Analysis and Design *Designing and refactoring *Data visualization *Industrial Programming *
Tutorial

VIII Определяем сущности предметной области


Все, что видим мы, — видимость только одна.
Далеко от поверхности мира до дна.
Полагай несущественным явное в мире,
Ибо тайная сущность вещей — не видна
Омар Хайям


Определив абстрактные хранилища продукта, мы получаем костяк для построения детальной модели данных. При проектировании структуры сущностей продукта, удобно использовать канонические диаграммы «Сущность-связь» (ERD), логическую диаграмму (Logic Diagram) или диаграмму классов (Class diagram).

Цель этой группы работ — спроектировать модель хранилищ данных для использования в продукте, а также задокументировать сущности системы и способы их взаимодействия.

Теория проектирования такого типа диаграмм детально изложена в литературе, описывающей работу с UML. Например, эта тема очень удачно представлена в [11]. Поэтому остановлюсь лишь на некоторых аспектах, интересных на мой взгляд,.
Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Comments 0

Практика формирования требований в ИТ проектах от А до Я. Часть 6. Поведение системы. Совершенстваоние требований

Reading time 13 min
Views 5.5K
Programming *System Analysis and Design *Designing and refactoring *Data visualization *Industrial Programming *
Tutorial

IX Определение поведения системы.


В очень многих случаях поведение … только потому кажется смешным, что причины его, вполне разумные и основательные, скрыты от окружающих.
Франсуа де Ларошфуко



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

Цель данной группы работ: на основании выявленных сущностей и процессов, разрабатываемого целевого продукта спроектировать поведение системы, распределив ее по классам.
Читать дальше →
Total votes 4: ↑4 and ↓0 +4
Comments 4

Практика формирования требований в ИТ проектах от А до Я. Часть 7. Передача требований в производство. Заключение

Reading time 9 min
Views 6.1K
Programming *System Analysis and Design *Designing and refactoring *Data visualization *Industrial Programming *
Tutorial

XI Специфицируем требования


Требование — всего лишь временный посредник для решения проблемы реального мира.
«Фабрики разработки программ» [8]



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

Цель данной группы работ: на основании собранной информации о целевом продукте подготовить качественные спецификации требований, позволяющие максимально эффективно организовать процесс их реализации.
Читать дальше →
Total votes 10: ↑6 and ↓4 +2
Comments 2

Усиление методики UseCase данное в книге Алистера Кобёрна

Reading time 7 min
Views 21K
Professional literature *Reading room
Sandbox
В книге «Современные методы описания функциональных требований к системам» Алистер Кобёрн описал один метод написания части постановки задачи, а именно метод use case.

Что это такое? Это описание сценария взаимодействия пользователя с системой (или с бизнесом). Система при этом выступает как черный ящик (и это дает возможность разделить сложную задачу проектирования на проектирование взаимодействия и обеспечение этого взаимодействия). При этом вводятся стандарты нотации, что обеспечивает простоту прочтения в том числе не участникам, и позволяет делать некоторые проверки на полноту и соответствие целям стейкхолдера.
Читать дальше →
Total votes 16: ↑14 and ↓2 +12
Comments 13