Опыт перехода с waterfall на методологию rup для реализации больших ит проектов

Вступление

Сегодня существует достаточно большое количество стандартных процессов и методологий, применяя которые фирма получает ту или иную модель производства ПО. Самыми известными из них являются CMM (Capability Maturity Model) и серия стандартов ISO 9000. Как правило, организации внедряют эти процессы исключительно для того, чтобы получит сертификат соответствия своего процесса одному из вышеупомянутых стандартов. Однако, как не парадоксально это звучит, зачастую попытки внедрить один из вышеупомянутых процессов пагубно сказывались на стабильности работы фирмы.


В последние 3 года на западе стали модными термины «легковесный процесс», «адаптивный процесс», «единый рациональный процесс» и «экстремальное программирование». Что это такое? И почему иногда эффект от внедрения ISO9000 оказывается негативным? Какой процесс предпочесть и какими критериями руководствоваться при выборе процесса? Остальная часть статьи является попыткой найти ответы на эти и другие вопросы.

Статьи и руководства:

Какой метод оценки проекта лучше – гибкий или обычный? Эта статья подчеркивает важность хорошего метода оценки. Она демонстрирует и классифицирует набор методов оценки

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

Использование расширенных режимов воспроизведения в IBM Rational Test Workbench Как эффективно использовать расширенные возможности IBM Rational Test Workbench, выполняя тесты из интерфейса командной строки и составные тесты.

Выбор редактора: полезная информация от автора «DevOps для «чайников» DevOps… с этим термином связано много путаницы. Что это такое? Кто этим занимается? Нужно ли мне это? Санджив Шарма (Sanjeev Sharma), ответственный за DevOps в IBM, приложил много усилий, помогая людям ответить на все эти вопросы.

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

Освойте межпроектную отчетность с помощью службы IBM Jazz Reporting Решение Rational для совместного управления жизненным циклом (Collaborative Lifecycle Management – CLM) представляет собой набор гладко интегрированных приложений, которые работают как единая платформа управления всем жизненным циклом проектов разработки ПО.

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

Измерение производительности мобильных приложений в IBM Rational Test Workbench с помощью IBM Rational Quality Manager В этой статье говорится о том, как измерить производительность мобильного приложения с помощью функциональных тестов в системе IBM Rational Test Workbench. Читатель также научится получать те же результаты от подсоединенного IBM Rational Quality Manager.

Разработка многоязычных портлетов в Rational Application Developer IBM WebSphere Portal поддерживает более 30 языков. Различные международные организации предоставляют свои порталы для пользователей различных стран или регионов посредством многоязычных Web-сайтов. В этом контексте портал параллельно обслуживает запросы большого числа пользователей на предпочитаемых ими языках.

Непрерывная поставка с помощью Rational Team Concert и UrbanCode Deploy : Часть 2. Расширение процесса сборки В данной статье рассматриваются способы расширения процесса сборки для передачи вновь собранных объектов из процесса сборки Rational Team Concert в репозиторий UrbanCode Deploy и их подготовки к развертыванию.

Непрерывная поставка с помощью Rational Team Concert и UrbanCode Deploy : Часть 1. Готовая реализация Познакомьтесь с созданием процесса непрерывной поставки с помощью IBM Rational Team Concert и IBM UrbanCode Deploy. Вы узнаете, как расширить существующий процессор сборки для создания с нуля нового процесса сборки, который органично интегрируется с продуктами, реализуя поток обработки содержимого с высокой трассируемостью.


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

Интеграция FindBugs, CheckStyle и Cobertura с системой сборки Rational Team Concert В статье рассматривается интеграция инструментальных средств обеспечения качества FindBugs, CheckStyle и Cobertura с системой IBM Rational Team Concert. Такая интеграция уменьшает количество ошибок компиляции и сборки приложения. Она улучшает качество исходного кода приложения при ежедневном выполнении сборки. Описанная методика может использоваться с различными платформами и приложениями, основанными на технологии Java.

В чем выгода от использования Rational для вас и вашей компании

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

Бизнес-ориентированный подход к разработке, предлагаемый IBM Rational, охватывает все фазы процесса создания программного и аппаратного обеспечения. Ориентированность на результат помогает группам специалистов управлять формированием ценности, поддерживать гибкий процесс разработки и держать под контролем риски и изменяющиеся требования. Благодаря IBM Rational Software Delivery Platform и другим продуктам, специально созданным для проектирования и разработки программного обеспечения, в вашем распоряжении оказывается весь спектр лучших инструментов и методик для достижения успеха. Специалисты, играющие ключевые роли в процессе разработки и выпуска системы, получают от использования продуктов Rational множество серьезных преимуществ.

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

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

Рисунок 1. Бизнес-среда IBM и коммерческих партнеров

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

Более подробная информация о Rational

Являетесь ли вы новым пользователем продуктов Rational или экспертом, занесите в закладки и изучите раздел Rational на сайте IBM developerWorks. В нем еженедельно появляются сообщения о мероприятиях из мира Rational, анонсах продуктов, а также пополнения обширной коллекции технических материалов, таких как руководства.

Обратитесь по следующим ссылкам в левой части страниц Rational на сайте developerWorks.

Продукты (EN): Ссылки на материалы, относящиеся к основным продуктам Rational.

Загрузка (EN): Бесплатные ознакомительные версии многих продуктов Rational, а также ресурсы для изучения и информация о приобретении. Здесь также можно загрузить вспомогательное программное обеспечение и подключаемые модули для Rational от партнеров IBM.

Техническая библиотека (EN): Постоянно пополняемое собрание технических статьей, примеров, руководств и других материалов, написанных как специалистами IBM, так и сторонними экспертами по продуктам Rational.

Тренинги и сертификация (EN): Материалы для самостоятельного обучения и описание очных и онлайновых курсов по Rational

Кроме того, обратите внимание на каталог компьютерных и онлайновых курсов (EN), а также курсов под руководством инструкторов по Rational.

Поддержка (EN): Ссылки на документацию и другие материалы, содержащие ответы на технические вопросы.

Консалтинговые услуги (EN): Доступ к экспертам, которые могут помочь вам в проектировании, реализации и мониторинге программного обеспечения.

Форумы и сообщество: Находите других пользователей продуктов Rational и общайтесь с ними на форумах, в блогах и на других ресурсах.

Вы также можете обратиться к следующим ресурсам:

  • The Rational Edge (EN) — богатый архив статей для сообщества Rational, включающий техническую информацию о принципах эффективной разработки программного обеспечения.
  • Новостная рассылка developerWorks о Rational (EN) будет держать вас в курсе новых материалов по Rational. Каждые две недели вы будете получать новости о последних технических материалах и методиках использования продуктов Rational.
  • Глобальное сообщество пользователей продуктов Rational (EN): Rational User Groups — это независимые, управляемые пользователями структуры, организующие открытые форумы для обмена информацией между пользователями и специалистами Rational.

Если вас интересует информация о продуктах, например, вы хотите приобрести решение Rational или ознакомиться с опытом заказчиков, обратитесь в информационный центр Rational (EN).

Using MBTI personality types for RUP role assignments

A colleague of mine, Ruth Nantais, is an accomplished project manager who introduced me to the Myers-Briggs Type Indicator (MBTI). I now encourage my clients and students to discover their personality type with this instrument, and then apply this knowledge to determine whether they’re best suited for breadth work or depth work. They can also use it to understand what pitfalls await them if they are assigned to a role unsuited to their type.


The second aspect of the MBTI suggests that people are either an Intuitive (N) or a Sensor (S). Intuitives are big-picture thinkers who can reach decisions quickly, using their «inner sense.» These people may be well-suited for breadth work. Sensors, in contrast, tend to use their five senses to gather decision-making information. Their work tends to be more precise, which can be very valuable for depth work.

The fourth aspect of the MBTI suggests people are either Judgers (J) or Perceivers (P). Judgers tend to work better with schedules and have a strong need for closure. The latter is vital to depth work, which must be complete enough to serve as a basis for follow-on work. Perceivers, in contrast, prefer a freer reign, tend to be more creative, and do not feel the same need for closure. These traits are well-suited to breadth work, which requires an ability to look quickly at the big picture and then communicate about it (typically using UML), but also to acknowledge that the picture may be incomplete and will likely change as depth work is accomplished in each iteration. Judgers tend to create more complete, high-quality work, while Perceivers tend to work more quickly and be much more resilient to change when it comes.

So based on the above observations, we can conclude that the ideal breadth worker would be an NP, whereas the ideal depth worker would be an SJ. An NP would be able to create breadth views quickly and efficiently, and to change the view as the need arises. An SJ would be able to ensure the completeness and accuracy a depth view requires to drive future tasks.


Now, this doesn’t mean that people who do not fall into these categories on the MBTI scale should be prohibited from taking on specific roles. If they have a strong desire to fill those roles, they should be able to overcome the challenges they are likely to encounter. As a team member, knowing your MBTI profile can help you focus your energy and compensate for personality tendencies if you’re assigned to an opposing role.

However, as your team assigns people to RUP roles, be aware that if you assign NPs to fill depth roles, they may have a tendency not to focus on details. They will need to concentrate harder than an SJ counterpart would to achieve the same level of quality, and others may reject their work as incomplete several times before they get it right.

On the flip side, if you assign SJs to breadth roles, the risk is that they will take too long to complete tasks, mostly because they have a hard time keeping the level of abstraction high enough. They may continue to miss deadlines as they labor to make their work more «complete,» and include too much detail in their breadth view, making it difficult to change.

Conclusion

Remembering RUP’s many roles and their functions is far easier if you recognize that each discipline has its own breadth roles and depth roles. This division reflects an approach to mitigating an important risk in iterative development: choosing what system components to work on in detail in each specific iteration. Also, certain personality types are better equipped to perform breadth work, and others are better-suited for depth work. Knowing your Myers-Briggs personality profile can help you predict challenges you will face if assigned to a role that does not match your personality type. Although NPs are a natural fit for breadth work, and SJs are better-suited for depth work, you can probably learn to perform either type of work if you are motivated enough.

ISO/IEC/ IEEE 29148-2011

Стандарт IEEE 29148-2011

  • 1. Назначение системы
  • 2. Содержание системы (границы системы)
  • 3. Обзор системы
    • 1. Содержание системы
    • 2. Функции системы
    • 3. Характеристики пользователей
  • 4. Термины и определения
  • 1. Функциональные требования
  • 2. Требования к юзабилити
  • 3. Требования к производительности
  • 4. Интерфейс (взаимодействие) системы
  • 5. Операции системы
  • 6. Состояния системы
  • 7. Физические характеристики
  • 8. Условия окружения
  • 9. Требования к безопасности
  • 10. Управление информацией
  • 11. Политики и правила
  • 12. Требования к обслуживанию системы на протяжении ее жизненного цикла
  • 13. Требования к упаковке, погрузке-разгрузки, доставке и транспортировке
  • 1. Предположения и зависимости
  • 2. Аббревиатуры и сокращений
  • 1. Назначение
  • 2. Содержание (границы)
    • 3. Обзор продукта
    • 1. Взаимодействие продукта (с другими продуктами и компонентами)
    • 2. Функции продукта (краткое описание)
    • 3. Характеристики пользователей
    • 4. Ограничения
  • 4. Термины и определения
  • 1. Требования к внешним интерфейсам
  • 2. Функции продукта
  • 3. Требования к юзабилити
  • 4. Требования к производительности
  • 5. Требования к логической структуре БД
  • 6. Ограничения проектирования
  • 7. Системные свойства ПО
  • 8. Дополнительные требования
  • 1. Предположения и зависимости
  • 2. Аббревиатуры и сокращений

Заключение

Разработка и управление требованиями к ПОпример ТЗ, который я писал много лет назад

  • Презентацией Юрия Булуя Классификация требований к программному обеспечению и ее представление в стандартах и методологиях.
  • Анализ требований к автоматизированным информационным системам. Лекция 11: Документирование требований.
  • Правила составления Software requirements specification (читать вместе с комментариями)
  • Примеры ТЗ и другой документации по разработке АС для МЭР
  • ГОСТ-овский стиль управления. Статья Gaperton по правильной работе с ТЗ по ГОСТ
  • Шаблоны документов для бизнес-аналитиков из группы ВК «Business Analysis Magazine»

С этим читают