HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <ul><ul><li><a>Итеративный подход</a><ul><li><a>Преимущества</a></li>
1 <ul><ul><li><a>Итеративный подход</a><ul><li><a>Преимущества</a></li>
2 <li><a>Недостатки</a></li>
2 <li><a>Недостатки</a></li>
3 </ul></li>
3 </ul></li>
4 <li><a>Спиральная модель</a><ul><li><a>Преимущества</a></li>
4 <li><a>Спиральная модель</a><ul><li><a>Преимущества</a></li>
5 <li><a>Недостатки</a></li>
5 <li><a>Недостатки</a></li>
6 </ul></li>
6 </ul></li>
7 </ul><li><a>Об Agile</a><ul><li><a>Scrum</a></li>
7 </ul><li><a>Об Agile</a><ul><li><a>Scrum</a></li>
8 <li><a>Kanban</a></li>
8 <li><a>Kanban</a></li>
9 </ul></li>
9 </ul></li>
10 </ul><p>Продолжаем разговор о методологиях разработки ПО. Начало<a>здесь</a>.</p>
10 </ul><p>Продолжаем разговор о методологиях разработки ПО. Начало<a>здесь</a>.</p>
11 <h3>Итеративный подход</h3>
11 <h3>Итеративный подход</h3>
12 <p>Это - самый подходящий вариант для тех, у кого есть общее представление об идее. Клиент не обязан понимать, какой конкретно контент он хочет получить на выходе. И предоставлять подробное техническое задание тоже нет никакой необходимости.</p>
12 <p>Это - самый подходящий вариант для тех, у кого есть общее представление об идее. Клиент не обязан понимать, какой конкретно контент он хочет получить на выходе. И предоставлять подробное техническое задание тоже нет никакой необходимости.</p>
13 <p>Иллюстрация демонстрирует, как наглядно будет выглядеть реализация подхода к разработке. А чтобы осознать ее лучше, стоит рассмотреть пример создания мессенджера:</p>
13 <p>Иллюстрация демонстрирует, как наглядно будет выглядеть реализация подхода к разработке. А чтобы осознать ее лучше, стоит рассмотреть пример создания мессенджера:</p>
14 <ol><li>Клиент поставил перед собой цель - запустить новый мессенджер. Разработчики составили приложение, в котором есть возможность добавления друзей и запуска чата на двоих.</li>
14 <ol><li>Клиент поставил перед собой цель - запустить новый мессенджер. Разработчики составили приложение, в котором есть возможность добавления друзей и запуска чата на двоих.</li>
15 <li>Проект выложили в магазин приложений для предоставления доступа клиентам. Целевая аудитория начала скачивать и активно пользоваться предложением.</li>
15 <li>Проект выложили в магазин приложений для предоставления доступа клиентам. Целевая аудитория начала скачивать и активно пользоваться предложением.</li>
16 <li>Заказчик понял, что программа пользуется спросом. Он решил ее доработать.</li>
16 <li>Заказчик понял, что программа пользуется спросом. Он решил ее доработать.</li>
17 <li>Разработчики добавили дополнительный функционал: просмотр видео, загрузку изображений, аудиосообщения. Они постепенно улучшают мессенджер и адаптируют его к требованиям и инновациям рынка.</li>
17 <li>Разработчики добавили дополнительный функционал: просмотр видео, загрузку изображений, аудиосообщения. Они постепенно улучшают мессенджер и адаптируют его к требованиям и инновациям рынка.</li>
18 </ol><p>Это - концепция для проектов, которые отличаются своим масштабом, а конкретных условий в ТЗ у них нет. Также сгодится при инновационных решениях. Тогда, когда заказчик сам не уверен в конечных результатах.</p>
18 </ol><p>Это - концепция для проектов, которые отличаются своим масштабом, а конкретных условий в ТЗ у них нет. Также сгодится при инновационных решениях. Тогда, когда заказчик сам не уверен в конечных результатах.</p>
19 <h4>Преимущества</h4>
19 <h4>Преимущества</h4>
20 <p>Среди условий, которые относятся к сильным сторонам модели, можно отнести:</p>
20 <p>Среди условий, которые относятся к сильным сторонам модели, можно отнести:</p>
21 <ul><li>скорость запуска проекта;</li>
21 <ul><li>скорость запуска проекта;</li>
22 <li>возможность проведения проверки на качество и популярность ("выстрелит" он или нет);</li>
22 <li>возможность проведения проверки на качество и популярность ("выстрелит" он или нет);</li>
23 <li>постоянное тестирование пользователями, за счет которого удается оперативно обнаруживать и исправлять ошибки.</li>
23 <li>постоянное тестирование пользователями, за счет которого удается оперативно обнаруживать и исправлять ошибки.</li>
24 </ul><p>Если велик шанс провала проекта, можно оперативно получить фидбэк, а затем доработать ПО перед окончательным релизом.</p>
24 </ul><p>Если велик шанс провала проекта, можно оперативно получить фидбэк, а затем доработать ПО перед окончательным релизом.</p>
25 <h4>Недостатки</h4>
25 <h4>Недостатки</h4>
26 <p>Среди минусов такого приема выделяют следующие моменты:</p>
26 <p>Среди минусов такого приема выделяют следующие моменты:</p>
27 <ul><li>экстремальная нагрузка при использовании во время коддинга на сервера;</li>
27 <ul><li>экстремальная нагрузка при использовании во время коддинга на сервера;</li>
28 <li>применение на первых порах баз данных, требующих немалого времени на обработку;</li>
28 <li>применение на первых порах баз данных, требующих немалого времени на обработку;</li>
29 <li>отсутствие строго определенных сроков реализации;</li>
29 <li>отсутствие строго определенных сроков реализации;</li>
30 <li>нет фиксированного бюджета.</li>
30 <li>нет фиксированного бюджета.</li>
31 </ul><p>Частая проблема, с которой сталкиваются разрабы - это отсутствие достаточного понимания относительно того, что именно хочет заказчик. Клиентам трудно, практически невозможно, рассчитать бюджет на проект. Зато данный прием позволит посмотреть, насколько успешно предложенное публике ПО.</p>
31 </ul><p>Частая проблема, с которой сталкиваются разрабы - это отсутствие достаточного понимания относительно того, что именно хочет заказчик. Клиентам трудно, практически невозможно, рассчитать бюджет на проект. Зато данный прием позволит посмотреть, насколько успешно предложенное публике ПО.</p>
32 <h3>Спиральная модель</h3>
32 <h3>Спиральная модель</h3>
33 <p>Начало ее положено в 1988 году. Во время реализации разработчики и заказчик проводят доскональный и серьезный анализ рисков ПО. Далее - осуществляют итерации. Следующая стадия базируется на предыдущей, а в конце каждого "витка" (итерационного цикла) будет приниматься решение относительно продолжения выпуска софта.</p>
33 <p>Начало ее положено в 1988 году. Во время реализации разработчики и заказчик проводят доскональный и серьезный анализ рисков ПО. Далее - осуществляют итерации. Следующая стадия базируется на предыдущей, а в конце каждого "витка" (итерационного цикла) будет приниматься решение относительно продолжения выпуска софта.</p>
34 <p>Выше - схема, которая объяснит принцип создания ПО "спиральным" подход. А чтобы лучше понять ее, стоит рассмотреть наглядный пример. В качестве него будет выступать система "Умный дом":</p>
34 <p>Выше - схема, которая объяснит принцип создания ПО "спиральным" подход. А чтобы лучше понять ее, стоит рассмотреть наглядный пример. В качестве него будет выступать система "Умный дом":</p>
35 <ol><li>Человек задумался над созданием соответствующего продукта. Он заказал у программистов реализацию управления чайником посредством смартфонов.</li>
35 <ol><li>Человек задумался над созданием соответствующего продукта. Он заказал у программистов реализацию управления чайником посредством смартфонов.</li>
36 <li>Программеры стали использовать модель "водопад": послушали идею, проанализировали предложения на рынке, обговорили архитектуру, решили вопросы, связанные с реализацией оной. После - написали код, проверили его и продемонстрировали конечный результат.</li>
36 <li>Программеры стали использовать модель "водопад": послушали идею, проанализировали предложения на рынке, обговорили архитектуру, решили вопросы, связанные с реализацией оной. После - написали код, проверили его и продемонстрировали конечный результат.</li>
37 <li>Заказчик оценил используемое ПО и риски: нужна ли клиентам другая версия, более совершенная. Пример - с управлением ТВ или компьютером.</li>
37 <li>Заказчик оценил используемое ПО и риски: нужна ли клиентам другая версия, более совершенная. Пример - с управлением ТВ или компьютером.</li>
38 <li>Заказчик провел расчет сроков и бюджета, после - заказал разработку.</li>
38 <li>Заказчик провел расчет сроков и бюджета, после - заказал разработку.</li>
39 <li>Программеры воспользовались "каскадом" и показали более сложный контент, в основе которого заложен первый созданный софт.</li>
39 <li>Программеры воспользовались "каскадом" и показали более сложный контент, в основе которого заложен первый созданный софт.</li>
40 <li>Заказчик решил создать еще и функционал для управления холодильником со смартфона. Но оценка рисков показала, что это неоправданный ход. Вероятность неудачи превышает ожидаемый успех. За счет этого заказчик прекратил разработку и начал совершенствовать имеющийся функционал "Умного дома.</li>
40 <li>Заказчик решил создать еще и функционал для управления холодильником со смартфона. Но оценка рисков показала, что это неоправданный ход. Вероятность неудачи превышает ожидаемый успех. За счет этого заказчик прекратил разработку и начал совершенствовать имеющийся функционал "Умного дома.</li>
41 </ol><p>Модель напоминает инкрементную, но здесь в несколько раз больше времени уделяется оценке рисков. Каждый виток - это усложнение процесса. Подход встречается в научных проектах, где недели уходят на выяснение рисков.</p>
41 </ol><p>Модель напоминает инкрементную, но здесь в несколько раз больше времени уделяется оценке рисков. Каждый виток - это усложнение процесса. Подход встречается в научных проектах, где недели уходят на выяснение рисков.</p>
42 <h4>Преимущества</h4>
42 <h4>Преимущества</h4>
43 <p>Сильных сторон у такой концепции не слишком много. Она подойдет тем, кто готов посвятить анализу немало времени и сил. На выходе получится ПО с минимальными рисками и предельным уровнем успеха.</p>
43 <p>Сильных сторон у такой концепции не слишком много. Она подойдет тем, кто готов посвятить анализу немало времени и сил. На выходе получится ПО с минимальными рисками и предельным уровнем успеха.</p>
44 <h4>Недостатки</h4>
44 <h4>Недостатки</h4>
45 <p>Минусов у подхода больше, чем плюсов. Среди них выделяют:</p>
45 <p>Минусов у подхода больше, чем плюсов. Среди них выделяют:</p>
46 <ul><li>вероятность на первых порах бесконечно дорабатывать первый релиз;</li>
46 <ul><li>вероятность на первых порах бесконечно дорабатывать первый релиз;</li>
47 <li>трудности при переходе к новым версиям ПО;</li>
47 <li>трудности при переходе к новым версиям ПО;</li>
48 <li>стоимость разработки;</li>
48 <li>стоимость разработки;</li>
49 <li>сроки реализации.</li>
49 <li>сроки реализации.</li>
50 </ul><p>Первые наработки могут быть чувствительны к малейшим изменениям. Именно поэтому на окончательный выпуск продукции требуются немалые затраты.</p>
50 </ul><p>Первые наработки могут быть чувствительны к малейшим изменениям. Именно поэтому на окончательный выпуск продукции требуются немалые затраты.</p>
51 <h2>Об Agile</h2>
51 <h2>Об Agile</h2>
52 <p>При программировании можно воспользоваться всеми перечисленными способами. Но есть еще и Agile ("эджайл") метод. В переводе с английского это - "гибкий".</p>
52 <p>При программировании можно воспользоваться всеми перечисленными способами. Но есть еще и Agile ("эджайл") метод. В переводе с английского это - "гибкий".</p>
53 <p>Такой вариант предусматривает гибкие методологии разработки, а также подходы и практики, позволяющие получить на выходе максимально эффективный контент.</p>
53 <p>Такой вариант предусматривает гибкие методологии разработки, а также подходы и практики, позволяющие получить на выходе максимально эффективный контент.</p>
54 <p>Сюда относят:</p>
54 <p>Сюда относят:</p>
55 <ul><li>экстремальное программирование (XP);</li>
55 <ul><li>экстремальное программирование (XP);</li>
56 <li>фреймворки для управления проектами Scrum;</li>
56 <li>фреймворки для управления проектами Scrum;</li>
57 <li>бережную разработку ПО;</li>
57 <li>бережную разработку ПО;</li>
58 <li>разработку путем тестинга;</li>
58 <li>разработку путем тестинга;</li>
59 <li>методологии "чистой комнаты";</li>
59 <li>методологии "чистой комнаты";</li>
60 <li>создание ПО, управляемое функциональностью;</li>
60 <li>создание ПО, управляемое функциональностью;</li>
61 <li>итеративно-инкрементальный подход (OpenUP);</li>
61 <li>итеративно-инкрементальный подход (OpenUP);</li>
62 <li>методологию MSF;</li>
62 <li>методологию MSF;</li>
63 <li>метод создания систем динамического характера;</li>
63 <li>метод создания систем динамического характера;</li>
64 <li>управление разработкой Kanban.</li>
64 <li>управление разработкой Kanban.</li>
65 </ul><p>Не все перечисленные элементы - это гибкие методологии разработки. Пример - Scrum. Это фреймворк. Здесь прописаны все роли и процессы.</p>
65 </ul><p>Не все перечисленные элементы - это гибкие методологии разработки. Пример - Scrum. Это фреймворк. Здесь прописаны все роли и процессы.</p>
66 <p>Выше - таблица, которая поможет сравнить Agility с другими способами реализации программных продуктов.</p>
66 <p>Выше - таблица, которая поможет сравнить Agility с другими способами реализации программных продуктов.</p>
67 <h3>Scrum</h3>
67 <h3>Scrum</h3>
68 <p>Основа успеха - короткие ежедневные встречи, а также регулярные собрания. Они носят название Sprint (спринт). Каждый день команда обсуждает следующие вопросы:</p>
68 <p>Основа успеха - короткие ежедневные встречи, а также регулярные собрания. Они носят название Sprint (спринт). Каждый день команда обсуждает следующие вопросы:</p>
69 <ul><li>составление отчета о проделанной работе с момента последнего Scrum;</li>
69 <ul><li>составление отчета о проделанной работе с момента последнего Scrum;</li>
70 <li>задачи, которые необходимо выполнить каждому из участников группы до следующей "стычки";</li>
70 <li>задачи, которые необходимо выполнить каждому из участников группы до следующей "стычки";</li>
71 <li>проблемы, возникающие в процессе разработки.</li>
71 <li>проблемы, возникающие в процессе разработки.</li>
72 </ul><p>Идеальна для ПО с длительным жизненным циклом, адаптированным под рыночные требования.</p>
72 </ul><p>Идеальна для ПО с длительным жизненным циклом, адаптированным под рыночные требования.</p>
73 <h3>Kanban</h3>
73 <h3>Kanban</h3>
74 <p>Это - часть Agile метода. Самая популярная из существующих методологий. Команде предстоит проводиться работу через виртуальную доску. Она разбита на этапы проекта. Каждый участник сможет увидеть, какие задачи находятся в работе, а какие "застопорились" на определенном этапе. Также удастся лицезреть то, какие шаги требуют особого внимания при дальнейшем релизе.</p>
74 <p>Это - часть Agile метода. Самая популярная из существующих методологий. Команде предстоит проводиться работу через виртуальную доску. Она разбита на этапы проекта. Каждый участник сможет увидеть, какие задачи находятся в работе, а какие "застопорились" на определенном этапе. Также удастся лицезреть то, какие шаги требуют особого внимания при дальнейшем релизе.</p>
75 <p>Канбан позволяет брать в работу срочные задачи. И все это - без ожидания начала следующего спринта. Такой вариант отлично подходит не только для реализации ПО, но и для личных целей. Он позволяет составлять планы, а также расставлять приоритеты в семье по домашним обязанностям. Отслеживать движение процессов очень удобно.</p>
75 <p>Канбан позволяет брать в работу срочные задачи. И все это - без ожидания начала следующего спринта. Такой вариант отлично подходит не только для реализации ПО, но и для личных целей. Он позволяет составлять планы, а также расставлять приоритеты в семье по домашним обязанностям. Отслеживать движение процессов очень удобно.</p>
76 <p>Лучше понимать рассмотренную тему помогут специализированные дистанционные компьютерные курсы. С их помощью пользователь, независимо от своего опыта в IT, сможет быстро освоить одно или несколько инновационных направлений, включая программирование мобильных и компьютерных игр. Программы рассчитаны на срок до года. В конце обучения будет выдан сертификат, подтверждающий знания и навыки в выбранном направлении.</p>
76 <p>Лучше понимать рассмотренную тему помогут специализированные дистанционные компьютерные курсы. С их помощью пользователь, независимо от своего опыта в IT, сможет быстро освоить одно или несколько инновационных направлений, включая программирование мобильных и компьютерных игр. Программы рассчитаны на срок до года. В конце обучения будет выдан сертификат, подтверждающий знания и навыки в выбранном направлении.</p>
77 <p><em>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в <a>Otus</a>!</em></p>
77 <p><em>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в <a>Otus</a>!</em></p>
78  
78