Что такое xp



страница1/7
Дата19.04.2016
Размер191 Kb.
  1   2   3   4   5   6   7
Extreme programming

Предисловие


XP рассматривает кодирование в качестве ключевого фактора на протяжении всего проекта. Именно код является связующим звеном в общении между различными командами разделеными географически. Жизненный цикл и поведение сложных объектов определяется посредством тест-кейсов, т.е. опять же через код. Отчеты об ошибках также содержат тест-кейсы, детализирующие проблему. Таким образом вся разработка опирается на код. Однако процедура разработки подразумевает не только «надежное кодирование», но и поставку этого кода в соответствии с графиком, а это уже намного сложнее. Для этого необходимо использовать лучшие методики, и в частности XP, включая unit-тестирование, программирование в парах, и рефакторинг.

Короче говоря XP обещает уменьшить риск невыполнения проекта, улучшить реакцию на изменения в требованиях, учучшить производительность и одновременно получить удовольствие от работы в команде




Вводная часть

Эта книга


Эта книга помогает настроиться на восприятие XP, понять его корни, философию, мифы. Цель ее – помочь сделать вывод о применимости или неприменимости методики XP в вашем проекте. Для тех кто уже использует XP, эта книга позволяет понять его еще лучше.

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


Что такое XP


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

От других методологий XP отличается:



  • Использованием короткого цикла разработки с упреждающей обратной связью, конкретной и непрерывной

  • Инкрементальным подходом в планировании, позволяющим быстро перейти к плану проекта в целом, корректирующемуся на протяжениии всего жизненного цикла проекта

  • Гибкостью в сроках реализации отдельных функций в соответствии с меняющимися запросами рынка

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

  • Надежностью программного продукта, основанной на эволюционном дизайне, продолжающемся на протяжении всего жизненного цикла продукта.

  • Надежностью программного продукта, основанной на постоянном общении программистов, обладающих заурядными способностями

  • Надежностью программного продукта, основанной на сочетании краткосрочных «инстинктов» программистов и долгосрочных интересов проекта.
  1. Постановка задачи


В этом разделе обсуждаются проблемы, которые могут быть решены при использовании XP методологии.

Глава1. Риск: Основная проблема


Одна из основных проблем разработки програмного обеспечения, это риск.Ниже приведены некоторые примеры рисков:

  • Сдвиг графика поставки – в день предполагаемой поставки вы сообщаете заказчику, что программное обеспечение будет готово не ранее чем через 6 месяцев

  • Проект закрыт – после многочисленных сдвигов проект закрыт даже не будучи переданым в производство

  • Система «прокисла» - программное обеспечение было успешно передано в производство, но через пару лет стоимость изменений и количество ошибок настолько возросло, что система должна быть замещена

  • Интенсивность дефектов – система передана в производство, но количество дефектов так велико, что ее нельзя использовать

  • Непонимание требований бизнеса - программное обеспечение передано в производство, но оно не решает тех задач, которые были поставлены первоначально

  • Изменения требований бизнеса - программное обеспечение передано в производство, но требования ради которых оно было разработано, 6 месяцев назад были заменены другими более актуальными

  • Наличие неактуальных возможностей – программное обеспечение имеет целый ряд интересных возможностей не нужных заказчику (не приносящих ему денег)

  • Текучесть кадров – через два года работы над проектом все хорошие программисты начинают ненавидеть программу, которую разрабатывают и уходят

Каким же образом XP решает проблему рисков перечисленных выше ?

  • Сдвиг графика поставки – XP предполагает выполнение проекта в виде коротких релизов продолжетельностью не более нескольких месяцев так, что задержка каждого из них. Внутри каждого релиза XP использует 1-4 недельные итерации по включению функциий, требуемых пользователем , что позволет легко отслеживать текущее состояние дел. Внутри каждой итерации XP планирует отдельные задачи, сроком 1-3 дня каждая. И наконец XP предполагает первоочередную реализацию функций с высшим приоритетом так, что если какая-то функция и будет задержана, то она не будет очень важной

  • Проект закрыт – XP просит заказчика выбрать наименьший по объему релиз, но имеющий максимальную пользу с точки зрения бизнеса

  • Система «прокисла» - XP предполагает создание и поддержку всеохватывающего набора тестов, которые проводятся после каждого изменения (несколько раз в день), чтобы гарантировать качество очередного “baseline”. Таким образом система поддерживается в состоянии «постояной готовности».

  • Интенсивность дефектов – XP предполагает тестирование продукта как со стороны программиста, так и со стороны заказчика, т.е. разраработкой тестов занимаются две независимые стороны.

  • Непонимание требований бизнеса – XP предполагает, что заказчик является постоянно действующим членом команды. Спецификация продукта постоянно улучшается на протяжении всей разработки так, что вся последняя информация, ставшая известной программисту и/или заказчику находит свое отражение в программном продукте.

  • Изменения требований бизнеса – XP предполагает проведение разработки в виде серии коротких релизов так, что количество изменений в рамках одного релиза не так велико. При этом заказчику позволяется оперативно скорректировать набор функций и что особенно ценно заменить, если это необходимо функции еще не реализованные (отнесенные на последующие релизы) новыми функциями.

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

  • Текучесть кадров – XP предролагает, что именно программисты проводят оценку сроков выполнения работы и тем самым осознанно берут на себя определенную ответственность за своевременное выполнение проектов. При этом программисты систематически проводят анализ графика работы и пересматривают его при необходимости.

1.1.Наша миссия


Если мы признаем риск в качестве одной из проблем, которая должна быть решена, то каким может быть решение? Ясно, что для этого необходимо выбрать способ разработки программного обеспечения, который учитывал бы эти риски. Процедура разработки должна быть максимально ясна программистам, менеджерам и заказчикам. Процедура разработки должна обязательно учитывать условия и особенности конкретной организации.



Поделитесь с Вашими друзьями:
  1   2   3   4   5   6   7


База данных защищена авторским правом ©psihdocs.ru 2017
обратиться к администрации

    Главная страница