вторник, 13 декабря 2011 г.

Software & System Requirements Engineering in Practice. Часть 8, Заключительная

Заключительная глава книги  Software & System Requirements Engineering in Practice  посвящена анализу угроз и опасностей. Под угрозами авторы понимают различные атаки или уязвимости системы перед внешними угрозами, а под опасностями - реальный вред, который может быть причинен человеческому здоровью. Для ряда систем такой анализ, безусловно, проводить не обязательно, но проверить необходимость такого анализа хотя бы для отдельных частей системы стоит всегда. Тем более сейчас, когда постепенно появляются и ужесточаются законы по защите информации, в частности, персональных данных, подобный анализ для критических мест системы становится обязательным.
Часть 7
Часть 6
Часть 5
Часть 4
Часть 3
Часть 2
Часть 1

понедельник, 28 ноября 2011 г.

Филип Котлер - Маркетинг 3.0. От продуктов к потребителям и далее - к человеческой душе


Книжка Маркетинг 3.0. От продуктов к потребителям и далее - к человеческой душе  так себе... Автор известный, настрой позитивный, в духе Кови, но мысль одна на всю книгу, как в большинстве американских средненьких трудов, что для Котлера как-то слабо. К тому же русское издание изобилует опечатками. Мелочь, но раздражает.
Мысль книги, в общем-то, хорошая и наверное даже правильная. Котлер говорит о том, что традиционные приемы маркетинга уже не вызывают доверия у покупателя, и что для создания эмоциональной привязанности клиента к бренду компании нужно разделять его ценности. Эта мысль озвучивается в самом начале и далее подробно рассказывается о том, что делать это надо искренне, а не напоказ, и приводятся уже действующие в компаниях примеры - экологические и социальные программы. 
Но верится в искренность такой деятельности компаний после традиционных трудов по маркетингу того же Котлера пока с трудом. Да и в условиях существования отечественного бизнеса тем более. Возможно, еще и этим, обусловлена часть скепсиса, который ощущаешь при прочтении.

понедельник, 14 ноября 2011 г.

Software & System Requirements Engineering in Practice. Часть 7

Новый фрагмент карты книги Software & System Requirements Engineering in Practice посвящен быстрым техникам проработки требований. Авторы под этим громким названием подразумевают прототипирование. Но с оговоркой. Прототип для них - это не только софтина, написанная на скорую руку для показа. Прототип для них может иметь и текстовую форму, и быть просто рисунком. В общем основная мысль - когда надо делать быстро, говорите с заинтересованными лицами на языке, который ВСЕ понимают, и работайте в инструменте, которым ВСЕ владеют. Даже если это будут просто картинки от руки, нарисованные на слайде PowerPoint.
Разумеется, никто не отменяет того, что формальный подход должен идти в параллель, закрепляя быстрые результаты, полученные неформальной, но быстрой техникой. И с ростом размера проекта, увы, формальные подходы будут неизбежно доминировать. Но тем не менее, не так уж много по настоящему больших проектов (для авторов это от 10 000 функциональных точек и больше).



Две главы из книги я позволю себе опустить. Мне они показались не особо интересными, хотя их темы весьма и весьма любопытны -  Requirement-Driven System Testing и Distributed Requirement Engineering. 
Часть 6
Часть 5
Часть 4
Часть 3
Часть 2
Часть 1

воскресенье, 30 октября 2011 г.

Software & System Requirements Engineering in Practice. Часть 6

Глава об управлении требованиями книги Software & System Requirements Engineering in Practice не открывает чего-то нового, не дает целостной картины процесса управления, но ряд весьма любопытных советов там определенно есть. Вообще есть впечатление, что для авторов это рутина, о которой много где написано хорошо и подробно, а потому нечего повторять сказанное. Они ограничиваются небольшим кругом ключевых аспектов и рядом своих практических рекомендаций, что ничуть не менее полезно, чем целостное изложение. Такими рекомендациями являются и список атрибутов требований, и содержание плана управления требованиями, и характерные отличия управления требованиями в продуктовых линейках по сравнению с отдельными продуктами. Интересна также таблица, отвечающая на вопрос, кому и зачем нужны трассировки. В общем есть, что припрятать для будущей работы.

Часть 5
Часть 4
Часть 3
Часть 2
Часть 1

воскресенье, 16 октября 2011 г.

Software & System Requirements Engineering in Practice. Часть 5

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



Часть 4
Часть 3
Часть 2
Часть 1

среда, 5 октября 2011 г.

Software & System Requirements Engineering in Practice. Часть 4

Следующая глава Quality Attribute Requirements книги Software & System Requirements Engineering in Practice посвящена, по сути, нефункциональным требованиям (NFR). Довольно интересная и информативная глава, особенно с учетом того, что о NFR не так уж много информации... В книге их называют как NFR, так и QAR, а также архитектурными (архитектурно значимыми) требованиями, делая особый упор на то, что решение по таким требованиям должен принимать архитектор.
Что же такого в NFR, что отличает их от функциональных требований и требует особого отношения?
  • FR описывает возможность системы, которая либо есть, либо отсутствует. NFR, как правило, определяет допустимый диапазон характеристик ("параметр Х должен принимать значения не более/менее, чем А");
  • NFR определяются не только заинтересованными лицами, но и следуют из нормативных документов и стандартов, а их реализуемость сильно зависит от ограничений выбранной технологии;
  • Взаимозависимость NFR часто не очевидна и также тесно взаимосвязана с особенностями реализации. NFR часто невозможно протестировать, пока система не будет реализована;
  • Бывает, что атрибуты качества субъективны или их трудно выразить словами.
Все это требует особого отношения к NFR и специфического подхода к работе. Авторы не советуют слишком торопиться с определением NFR - как правило, работа над ними начинается, когда существенная часть функциональных требований уже зафиксирована. Так мы избежим необоснованных оценок. Но и затягивать начало работы не стоит, т.к. требования к качеству определяют архитектуру.
Работа с NFR также основана на работе с заинтересованными лицами. Это позволяет в последствии приоритезировать NFR и разрешать конфликты. Для сбора информации предлагается использовать сценарии особого типа Quality attribute Scenario (QAS). Такой сценарий предназначен для описания ситуации, в которой для пользователя проявляется качество системы (или его отсутствие).
Интересным также представляется инструмент Global Analysis, позволяющий на самой ранней стадии зафиксировать потребности и предположения (Factors) выявить проблемные точки и противоречия (Issues) и наметить пути решения противоречий (Strategies). Инструмент предназначен для фиксации именно предварительной информации и не обязывает ни к какому формализму, поэтому может быть интересен как простая форма первичного анализа сырой или непроверенной информации. Для визуализации авторы предлагают использовать диаграмму целей (goal model).


Часть 3
Часть 2
Часть 1


суббота, 24 сентября 2011 г.

Software & System Requirements Engineering in Practice. Часть 3

Следующая глава Model Driven Engeneering книги Software & System Requirements Engineering in Practice посвящена моделированию, его разновидностям, назначении и ошибкам. Что особенно бросилось в глаза и показалось очень разумным, так это разделение моделирования и работы с требованиями. Другими словами, модель - средство анализа, на основе которого формируются требования. Модель - картинка или диаграмма в CASE средстве. Требования - записи в базе данных. Отлично, если модель и требования могут храниться в одной системе в связном виде, но чаще это разные средства и связи (трассировки) приходится поддерживать вручную, увы.
Модель не может заменить требования (интересно, как вы будете по модели тестировать или разбивать модель на итерации). Да, специалисты-аналитики понимают, что написав требования без моделирования, мы не можем сами себя проверить ни на полноту, ни на непротиворечивость этих требований, ни отследить взаимосвязи и т.п. Но модель - это скорее средство анализа, наша внутренняя профессиональная кухня. Потребители наших артефактов ждут в первую очередь требований.
Конечно, в книге на этом аспекте не так много внимания заострено, просто авторы четко разделяют понятия модели и требований. Почему я так акцентирую на этом внимание? Потому что по моим наблюдениям и опыту мы, аналитики, очень часто путаем цель и средство. Нам очень нравится рисовать картинки с юзкейсами-"яичками" и очень скучно писать формальным языком настоящие требования. А потому мы сетуем, что так мало людей понимают такой "интуитивно понятный" UML, не всегда осознавая, что это еще не требования.
Mind map главы как обычно прилагается. Интересно обратить внимание на список типичных ошибок, которых следует избегать в моделях, а также на признаки готовности модели. Это можно использовать в работе для (само)контроля качества.


Часть 2
Часть 1

пятница, 29 июля 2011 г.

Software & System Requirements Engineering in Practice. Часть 2

Следующая глава Eliciting Requirements книги Software & System Requirements Engineering in Practice посвящена выявлению требований, его ошибкам и различиям между выявлением и анализом. Здесь самым интересным, на мой взгляд, является список распространенных ошибок и логично вытекающий из него список полезных подсказок, а также перечень популярных методик и подходов к этой деятельности. В книжке они не описаны подробно, но приведены ссылки на подробные изложения, к которым стоит обратиться для изучения.


Часть 1.

среда, 27 июля 2011 г.

Software & System Requirements Engineering in Practice. Часть 1.

Несколько месяцев (!!!) назад я прочитала весьма информативную и любопытную книжку Software & System Requirements Engineering in Practice. Любопытна она была мне изначально, т.к. с одним из ее авторов посчастливилось пообщаться на конференции в Австралии. А информативна она оказалась из-за обилия примеров и небольших практических подсказок, которые, хоть и не претендуют на полноту, но гораздо полезнее обобщенных рассуждений, на мой взгляд.
По почти сложившейся традиции я начала набрасывать mindmap книги... и на этом дело заступорилось. До сих пор мне не удалось завершить эту работу. Схема разрослась, детали прочитанного стали забываться, поэтому при каждой попытке дорисовать схему начинаешь книжкой зачитываться вместо того, чтобы схему рисовать :)
Посему слона будем есть по частям. Начинаем с главы Requirements Engeneering Artifact Modeling, посвященной вопросам методологического характера, с которых начинается работа над требованиями. То, что предлагается в книге, сопоставимо с артефактом, часто именуемым планом управления требованиями, однако дает собственное видение.



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