Форум Сообщества Аналитиков

×


Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Юрий Булуй

Страницы: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 »
736
Ну вобщем набросал я кое-что из мыслей. ... даже не знаю, публиковать или нет ибо прорыва в них нет, абсолютно готовых решений -- тоже. Только мысли :-).

Что я думаю по этому поводу.
Summary по проблеме.
1. Для такого рода организаций характерна работа в стиле "стихийных бедствий" и "пожарной команды". Это в отчасти происходит из-за рассинхронизации потребностей бизнсеса и возможностей ИТ подразделения. Т.е. нет согласованности -- бизнес воспринимает ИТ как "обслуживающий персонал", от которого одни расходы.  И не воспринимается как полноценный партнер, который помогает бизнесу в достижении его целей.

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

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

4. Политика и еще раз политика … распространена ситуация, когда в таких организациях «политики больше чем технологий». Этот фактор оказывает существенное влияние в т.ч. на деятельность ИТ-подразделения.

5. Кроме «внешних» факторов, есть очевидно и «внутренние» -- как то неслаженность работы различных подразделений (тех же ПМ и Аналитиков), которые, основываясь уже на собственных ощущениям и требованиям спущенным «сверху» вносят дополнительную энтропию. Они достаточно отдалены от реальной работы разработчиков и не факт, что отвечают за конечный результат.  И, как это часто бывает, создавая те же ТЗ – просто «перебрасывают их через стенку» разработчикам, искренне веря что свою часть работы они уже сделали. И они не воспринимают тех же разработчиков членами одной команды, а скорее «врагами» (утрирую конечно, но где-то так). Хотя наверняка у тех же разработчиков будет масса претензий к качеству документации требований. ПМ-ы скорее всего тоже существуют обособленно, не «держа руку на пульсе разработки». И их деятельность сводится к рисованию (и частому перерисвоыванию) диаграмм Ганта и вопросов разработчикам в стиле «как дела, какой прогресс» …

6. Все вышеперечисленное является «корневыми» проблемами. От которых происходят и те «производные» проблемы конкретных исполнителей.


Возможности по решению.
1.   Какое либо решение возможно при одном важном условии – осознание руководством ЧТО ПРОБЛЕМА СУЩЕСТВУЕТ и ее нужно решать. Часто в таких организациях предпочитают не изменять стиля работы а просто доплачивать исполнителями за «подвиги». И не обязательно это премирование .. это может быть просто хороший компенсационный пакет, ради которого исполнители готовы терпеть «неудобства». А если компенсируются хорошо именно «подвиги», то героизм становится просто выгодным экономически исполнителям, и большой заинтересованности в изменениях у них может и не быть, если только подвиги не приводят к нервному истощению.

2.   Всем очевидно, что идеальным был бы комплексный подход к решению указанных проблем. И этот комплексный подход на стыке ITIL – P&PM – R&D SEP. Т.е. можно разработать систему сбора метрик и руководству иметь на руках цифры, которыми можно уже оперировать в т.ч. в качестве доказательной базы для бизнеса. С бизнесом определенно имеет смысл говорить на его языке – т.е. на языке KPI и денег, имея на руках численные данные. Примеры таких уже решений есть, более того сейчас такое решение оформляется в виде консалтингового  продукта (я принимаю участие в этом). Практики ITIL позволят регламентировать отношения с бизнесом с т. з. качества и стоимости сервиса по разработке/сопровождению систем. Практики P&PM позволяют оценивать в т.ч. загрузку ресурсов, а Portfolio Management позволяет взглянуть на пул проектов в целом и оценить их «перспективность» в т.ч. с т.з. инвестиций в них. Третья составляющая – это собственно процессы разработки ПО, где возможно применение различных методологий и специфических практик (чуть не написал на автомате «специфических целей» … CMMI :-)). Все цели и практики Все это в комплексе позволит улучшить ситуацию.

3.   Так же очевидно, что такой комплексный подход, при всей его правильности вряд ли может быть реализован в одночасье да и не факт, что будет понят и поддержан руководством (хотя есть и положительные примеры). Но к этому имеет смысл стремится. Вполне можно разработать 2 направления улучшения процессов – «сверху вниз» и «снизу вверх». Первый путь использует руководство в качестве целевой аудитории, второй – непосредственных исполнителей, в данном случае разрботчиков и «иже с ними». Из общей стратегии следует сделать (движение «сверху вниз»):
a.   «Продать» идею улучшений руководству. Ее нужно грамотно спозиционировать, показать приемущества, которые можно получить в соотнесении с затратами. (Примечание. На обсуждении Дмитрий и Павел озвучили мысль, что «продавать» идею об улучшениях нужно именно в виде конкретных предложений, которые реально реализовать за короткое время.
b.   Написать концепцию комплексного улучшения процессов с явным указанием целей (чего хотим достичь), работами, рисками и мероприятиями по их устранению. Цели, задачи и мероприятия должны иметь явные связи друг с другом и с рисками. Желательно подать ее таким образом, чтобы руководство сказало «О, это как раз то что я хотел предложить, только руки все никак не доходили все это структурировать и изложить» :-).
c.   Активно пиарить идею об улучшениях. Причем очень желательно сделать несколько «quick win» чтобы иметь практическое подтверждение. Скорее всего эти «quick win» будут из области R&D (тут стыковка с направлением «снизу вверх»).
d.   Заручившись поддержкой руководства двигаться по обоим направлениям улучшений. Делая в первую очередь то, что позволит явно показать прогресс.

4.   Перейдем от «концептуального» уровня к более приземленным. В ходе обсуждения был высказан ряд рекомендаций, что можно попробовать сделать «здесь и сейчас». Я только хотел бы дополнить тем, что мне показалось возможным сделать:
a.   Проблема неравномерной загрузки разработчиков. По условиям – есть взаимосвязь м/у 1) технологиями 2) специалистами владеющими технологией 3) квалификацией специалиста в данной технологии 4) «востребованностью» конкретной технологии.  Чтобы решить проблему неравномерной загрузки разработчиков нужно как минимум перераспределить часть работ по конкретной технологии, но тут может выясниться что людей с такими знаниями нет – вот и мотивация чтобы отправить на курсы кого-нибудь поучиться технологии : -). Можно нарисовать матрицу Люди/Технологии … и обоснованно подходить к вопросу чтобы кол-во людей со знанием востребованных технологий было адекватным. Другой вопрос, что следует задуматься, а нужно ли в действительности такое разнообразие технологий при явной нехватке ресурсов? И кто вообще выбирает на какой технологии будет делаться конкретный (новый) проект?
b.   Проблема незнания «системы в целом» и частично «переключения контекста». Тут вопрос можно рассматривать в частности с позиции архитектуры. А именно, в идеале, нужно иметь роль Архитектора проекта, который будет как раз и иметь представление о всей системе. Великолепно, если получается применять разбиение на слои (GUI, Business Layer, Persistence Layer, Data Layer). Унификация даже на таком уровне позволяет существенно упростить представление о системе и переключатся становится проще и специализация не помеха. Что для этого нужно? В первую очередь выстроить внятно Разработку и управление требованиями (RDM), и Управление изменениями и конфигурациями (SCCM). В данном случае не важно на базе какой методологии это будет сделано. Второе – это, как минимум для новых проектов стараться использовать унифицированных архитектурный стиль. Наличие хорошо сформулированных требований и четкого дизайна системы (когда бизнес-логика не размазана по GUI и хранимым процедурам) существенно упростит жизнь и позволит быстрее подключать новых специалистов к проекту. Это конечно хороший и правильный совет, но не всегда он может быть выполнен :-). Хотя есть примеры, когда требования в организации восстанавливали для систем, иначе невозможно было их тестировать.
c.   Еще один, тоже прозвучавшая в ходе обсуждения рекомендация – разграничение ответственности. Тут кстати, в качестве формального представления может быть полезна т.н. матрица ответственности или RACI charts (см. COBIT 4.0).


Есть другой взгляд на  проблему, исходя из «объективной реальности». Примем, что системно/комплексно мы не можем подойти к вопросу улучшения процессов. Так же примем как данность, на которую мы не коим образом не можем повлиять, тот факт, что задачи сваливаются хаотично, что требования к системам низкого качества, и что есть разброс технологий. ПМ-ы и аналитики по сути наши прокси-заказчики и разработчики не имеют выход на реальных заинтересованных лиц. Считаем, что Аналитики никак не заинтересованы в результатах проекта в целом. Имеем в качестве исходных данных перечисленные Денисом проблемы. Что можно сделать в этом случае?
1.   Глобально – инкорпорировать ПМ-ов и аналитиков в единую команду – они должны плыть в одной с вами лодке и разделять успех/неуспех вместе с разработчиками.
2.   В условиях дефицита ресурсов нужно равномерно распределить нагрузку, в т.ч. по технологиям. Как это можно сделать уже обсуждалось. Добавлю, что нужно инвестировать в повышение квалификации разработчиков.
3.   Воспринимать поступающие ТЗ только как «исходные сырые материалы», и самостоятельно разрабатывать требования (пусть в виде списков фич или назовем это бэклогом, не столь важно) и включать эту активность и время на нее в планы работ. Для чего? Чтобы обратить внимание на то, что требования поступают ненадлежащего качества и приходится их перерабатывать, а на это уходит время и соответственно удлиняется разработка. Альтернатива – научить аналитиков делать внятные требования к софту и унифицировать документацию и принципы разработки требований и инкорпорировать их в проекты, чтобы они взяли на себя часть нагрузки.
4.   Регистрировать ВСЕ задачи, которые поступают и учитывать время их исполнения. Можно возложить на начотдела такую работу. Сдвигать графики в при возникновении срочных задач с уведомлением заказчиков о причинах. Это в т.ч. позволит обоснованно говорить о возможных сроках реализации – «приходите через полгода» (цитирую Дмитрия).
5.   И конечно же, как отметили многие присутствующие на этом обсуждении следует рассмотреть вопросы формирования команды. Эффективно работать в такой ситуации можно только со сформированной командой. Практики летучек, итераций эффективны либо при жестком управлении либо в сплоченной команде (результат примерно одинаков, но в самоорганизующейся команде это более эффективно и у всех положительные эмоции).

737
Если честно, я не совсем понял вопроса. Что значит "модели понятий вокруг" и "понимание инструмента UC" ... можно пояснит подробнее, чтобы мы могли дать вразумительный ответ?

738
Для Юрия Булуя: у меня стоит на работе и дома RR2001....
... Может ещё дистр какой то неполноценный?

1. Речь шла про генерацию документации из RR. Т.е. чтобы в сгенеренную документацию попдало содержимое прикрепленных документов.
2. Средствами RR это не делается, если мне не изменяет память. Но делается через использование SoDA.
3. У меня есть RR 2003, из состава Rational Suite.

739
ага, меня интересуют результаты сторонников визуализации :-)
и критика этих результатов

При условии наличия описанных в спецификации юзкейсов добавление "иллюстраций" в виде диаграммы юзкейсов вполне полезно, т.к. позволяет охватить одним взглядом что к чему. А если исользовать ТОЛЬКО диаграмму UC, (и не дополнять ее ни чем) то толку от нее никакого ... и все скатиться к функциональной декомпозиции, только для ее представления почему-то выбрана будет именно UML UC диаграмма ... ну разве что запудрить мозги заказчику, типа "умеем картинки на UML малевать".

740
Не имел цели напугать :-) ... но "тем не более", формально, классический SRS по IEEE 830 ничего про пользовательские требования не говорит. Тот же Вигерс их размещает в отельном документе. Я не спорю вполне можно "нарисовать" юзкейсы и дополнить их диаграммами описывающими динамику (те же activity). Но ты совершенно справедиво заметил, что этого не всегда достаточно. Несомненно в ряде проектов я просто не писал потробные и "формальные" требования -- особенно если я сам же и выступал разработчиком такого ПО, в лучшем случае основные фичи с заказчиком согласовывал, а дальше прототипами подгонялось под идеал :-).

741
Ну кто бы проспонсировл - найти можно, но для этого мне пришлось бы готовить доклад на эту конференцию и выступать от имени спонсора :-). А что-то ни сил ни времени ... доклдад же должен быть *очень* хороший :-). А такие получаются только когда драйв есть ... а его что-то нету :-(.

Вот в такие моменты понимаешь в чем прелесть работы на большие конторы на нерядовой позиции :-)

А если честно, морально не готов выложить из своего кармана 500 евро на конференцию ... как подумаю, что на эти деньги можно купить КПК и еще на GPS останеться  :D ...

742
xP Xd Agile ICONIX пр. / Re: Практики Agile
« : 20 Марта 2007, 01:34:41 »
Жду когда Денис опубликует итоги ... а то мысли забуду :-)
А вообще, по горячим следам, одна из базовых идей agile -- это самоорганизация. А это вопрос не всегда простой, должны быть лидеры, которые "стартанут" дело, соответственно и остальные будут подтягиваться. Причем руководство должно при этом всецело поддерживать инициативу...

Ладно, жду публикации Дениса, и тогда выскажу свою т.з. на то "что можно придумать"

743
За то чтобы послушать этих людей нужно заплатить, только за Коберна 250 Евро если я "правильно все путаю" :-). Блин, спонсора чтоли поискать ... :-).

744
Денис, просвяти ... PL/SQL таки объектный или объектно-ориентированный в полном смысле (с наследованием и полиморфизмом)?

745
Я думаю, что UML не всегда подходит для описания системы. Например, контора пишет SRS к очередному продукту для заказчика. Но так как заказчик в полной мере не владеет UML, то приходится использовать лишь интуитивно-понятные графические элементы, да и те сопровождать/дублировать текстовым описанием. Если бы, к примеру, все знали UML, также как все умеют читать или знают таблицу умножения, то его использование было бы более повсеместно.

Забавно ... но если речь идет о разработке требований к системе, которые как раз и описываются в документе SRS, то зачем там нужен UML??? В большей степени UML адекватен именно при проектировании, а не при описании требований причем при определенных условиях -- о чем я писал ранее. Лично я очень редко использую UML, даже для иллюстрации требований. Ну может только если какую-нить activity диаграмму ... для описания некоего сценария ... А что касается документов, описывающих архитектуру и дизайн, то очень редко когда возникает необходимость их обсуждения с неспециалистами в ИТ ...

746
Задача: генерация кода на PL/SQL по модели классов.
(у классов помимо стандартных атрибутов также имеются свои собственные.)
подскажите есть ли софт способный по шаблоному языку генерить ЗАДАЧУ.
или же другим способом.
если нет то возможно ли написать собственную программу. известно что к старой розе можно было достучатся по COM-интерфейсу.
Спасибо за отзывы!

PL/SQL уже стал объектно-ориентированным (!) языком? Для работы с ним лучше использовать таки средства Oracle.

747
Опять получиться свой Глоссарий делать ...

748
Тоже зарегистрировался, более интересна 5 секция. Надеюсь быть.

749
Обсуждение состоялось. Были оживленные дискусси. Думаю Денис опубликует результаты (в связке с проблемамп). А я предствлю собственные размышеления на тему вопроса в ответ на эту публикацию.

750
Может, имеет смысл под бизнес-анализом понимать именно иследование бизнес-процессов - "широкий смысл".
А бизнес-анализ в узком смысле именовать "аналитикой требований"?

Не, лучше приводить контекст, в котором мы говорим "бизнес-анализ". Вигерс и RUP его приводят (RUP правда несколько широко замахнулся поначалу) ...

Страницы: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 »