что такое пользовательская история в скрам

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

В 1999 году Кент Бек придумал термин «Истории пользователей» для функций продукта. Он описал, что «Пользовательская история» передается с точки зрения пользователя относительно того, что он или она хочет иметь, а что система может для него сделать. Таким образом, представление полностью изменилось с продукта на пользователя, а User Stories стал стандартом de facto для требований во всех инфраструктурах Agile.

В проектах Scrum продукт Backlog представляет собой список пользовательских историй. Эти Истории пользователей приоритетны и взяты в Спринт Backlog в Спринт Планирование совещания.

Оценка также основана на истории пользователей, а размер продукта оценивается в точках пользовательской истории.

Структура пользовательской истории

Структура User Story выглядит следующим образом:

Написание пользовательских историй

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

Нефункциональные требования в пользовательских историях

В истории пользователей можно включить неработающие требования. В данном примере ATM банкомат, доступный пользователю 24X7, 365 дней, является нефункциональным требованием, которое может быть описано в прецеденте.

Управление пользовательскими историями

Истории пользователей управляются в журнале продуктов. Пользовательские истории упорядочены в соответствии с приоритетом. Самые приоритетные истории пользователей уточняются до уровня детализации, а истории с наименее приоритетными пользователями хранятся на более низком уровне детализации. Для каждого спринта наиболее приоритетные и, следовательно, более гранулированные истории пользователей берутся в отставание от спринта. Если пользовательский рассказ должен быть добавлен в отставание продукта, его приоритет сначала определяется, и он помещается в соответствии с его местом в соответствии с приоритетом. Истории пользователей можно переориентировать в любое время. Кроме того, при необходимости можно удалить любые истории пользователей.

Источник

Пользовательские истории с примерами и шаблоном

Пользовательские истории — это задания на разработку, которые часто выражены в форме «тип пользователя + потребность + цель».

Просмотр тем

Краткое описание: пользовательская история — это описание функциональной возможности ПО простыми, общими словами, составленное с точки зрения конечного пользователя. Она пишется с целью разъяснить, как именно функциональная возможность принесет пользу клиенту.

Есть тенденция считать, что пользовательские истории — это, говоря проще, функциональные требования к программному обеспечению. Но это не так.

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

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

Что такое пользовательские истории в agile?

Пользовательская история — это наименьшая единица работы в методике agile. Это конечная цель, а не возможность, сформулированная с точки зрения пользователя ПО.

Пользовательская история — это описание функциональной возможности ПО простыми, общими словами, составленное с точки зрения конечного пользователя или клиента.

Пользовательская история пишется с целью разъяснить, как именно выполнение рабочей задачи приведет к созданию конкретной ценности для клиента. «Клиентами» необязательно должны быть сторонние конечные пользователи в привычном смысле слова. Эту роль могут на себя примерять внутренние клиенты или коллеги из организации, которые рассчитывают на вашу команду.

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

Пользовательские истории изящно вписываются в методики Agile, такие как Scrum и Kanban. В Scrum пользовательские истории добавляют в спринты и отслеживают на диаграммах Burndown в течение спринта. Команды, работающие по методике Kanban, добавляют пользовательские истории в бэклог и пропускают их через рабочий процесс. Именно так Scrum-команды совершенствуют навыки оценки и планирования спринта, повышая точность прогнозов и свою гибкость. С помощью историй команды Kanban начинают более профессионально распоряжаться незавершенной работой (WIP) и могут в дальнейшем совершенствовать рабочие процессы.

Пользовательские истории также составляют значительные элементы методик Agile, такие как эпики и инициативы. Эпики — это большие рабочие задачи, которые делятся на несколько историй. Группа эпиков образует инициативу. Благодаря этим крупным структурам каждодневные усилия команды разработчиков (в работе над историями) ведут к достижению целей организации, выраженных в эпиках и инициативах.

что такое пользовательская история в скрам. epics vs stories agile development. что такое пользовательская история в скрам фото. что такое пользовательская история в скрам-epics vs stories agile development. картинка что такое пользовательская история в скрам. картинка epics vs stories agile development. В разработке программного обеспечения функции продукта играют решающую роль. Это функции, которые пользователь в конечном итоге любит использовать в конечном продукте. Они известны как Требования в общей терминологии. Успех проекта разработки программного обеспечения заключается в том, чтобы точно и правильно понять требования пользователя, а затем реализовать их в конечном продукте. Таким образом, требования или характеристики продукта должны быть хорошо известны команде разработчиков проекта.

Зачем нужны пользовательские истории?

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

Пользовательские истории обладают несколькими важными преимуществами.

Работа с пользовательскими историями

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

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

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

Как написать пользовательскую историю

При написании пользовательских историй держите в уме следующее.

Сформулировав пользовательские истории, позаботьтесь о том, чтобы они были доступны всей команде.

Шаблон и примеры пользовательских историй

Пользовательские истории часто представлены в виде простого предложения следующего вида:

«Как [тип клиента], [хочу то-то], [чтобы делать что-то]».

Давайте разберем эту формулировку.

Пользовательские истории могут выглядеть, например, следующим образом.

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

Начало работы с пользовательскими историями в agile

В пользовательских историях раскрываются суть и цели повседневной работы участников команды разработчиков. Зачастую они написаны в форме «тип клиента + потребность + цель». Чтобы процесс работал как часы, важно понимать роль историй: именно в них объясняется, что должна сделать команда и почему она должна это сделать.

Начните с оценки следующего или самого срочного крупного проекта (например, эпика). Разбейте его на небольшие пользовательские истории и вместе с командой разработчиков доведите до ума. Когда истории будут готовы и представлены на суд всей команды, можно приступать к работе.

Источник

User Story — инструкция по применению

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

User Story (пользовательская история) — короткая формулировка намерения пользователя и что продукт должен сделать для него.

Для чего применяется User Story?

Как формулировать User Story?

User Story — это ответы на 3 вопроса, связанные в одно предложение:

что такое пользовательская история в скрам. Screenshot 2020 08 07 at 09.39.54. что такое пользовательская история в скрам фото. что такое пользовательская история в скрам-Screenshot 2020 08 07 at 09.39.54. картинка что такое пользовательская история в скрам. картинка Screenshot 2020 08 07 at 09.39.54. В разработке программного обеспечения функции продукта играют решающую роль. Это функции, которые пользователь в конечном итоге любит использовать в конечном продукте. Они известны как Требования в общей терминологии. Успех проекта разработки программного обеспечения заключается в том, чтобы точно и правильно понять требования пользователя, а затем реализовать их в конечном продукте. Таким образом, требования или характеристики продукта должны быть хорошо известны команде разработчиков проекта.

чтобы

Примеры

что такое пользовательская история в скрам. Screenshot 2020 08 07 at 09.57.04. что такое пользовательская история в скрам фото. что такое пользовательская история в скрам-Screenshot 2020 08 07 at 09.57.04. картинка что такое пользовательская история в скрам. картинка Screenshot 2020 08 07 at 09.57.04. В разработке программного обеспечения функции продукта играют решающую роль. Это функции, которые пользователь в конечном итоге любит использовать в конечном продукте. Они известны как Требования в общей терминологии. Успех проекта разработки программного обеспечения заключается в том, чтобы точно и правильно понять требования пользователя, а затем реализовать их в конечном продукте. Таким образом, требования или характеристики продукта должны быть хорошо известны команде разработчиков проекта.

И ещё немного примеров:

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

Хорошая пользовательская история

INVEST — критерий хорошей истории:

Independent — независимая от других историй, то есть истории могут быть реализованы в любом порядке
Negotiable — обсуждаемая, отражает суть, а не детали; не содержит конкретных шагов реализации
Valuable — ценная для клиентов, бизнеса и стейкхолдеров
Estimable — оцениваемая по сложности и трудозатратам
Small — компактная, может быть сделана командой за одну итерацию
Testable — тестируемая, имеет критерии приемки

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

Мы учим формулировать User Story на тренинге Владелец продукта: краткий курс выживания.

Источник

Основы пользовательских историй. Часть 1. Введение

Перевод: Александр Якима (www.enter-agile.com)
Независимый консультант, agile-тренер. В IT-индустрии с 2002 года. Работал менеджером проектов, программ, а также присейл-менеджером в аутсорсинговых компаниях и директором по разработке в стартапах Силиконовой долины. В 2007-2008 сотрудничал с тренинг-центром Luxoft.

Аннотация:
В этой статье мы предлагаем обзор происхождения и приложений пользовательских историй, являющихся ключевым механизмом в гибких методах разработки и служащих проводником требований заказчика сквозь поток ценностей. В свою очередь, пользовательские истории являются критическим элементом в статьях «Бережливая и масштабируемая информационная модель требований для гибких компаний» и «Общая картина гибкости компании», обе статьи можно найти в блоге. Текущая же статья извлечена из будущей книги «Гибкие требования: бережливые практики управления требованиями для команд, программ и предприятий», издание которой запланировано на 2010 год. Отдельная благодарность Дженнифер Фосетт (Jennifer Fawcett) и Дону Видригу (Don Widrig) за их вклад в работу над книгой.

О терминологии (примечания автора перевода):
Центральным объектом статьи, как читатель уже мог догадаться, является пользовательская история, в оригинале звучащая как user story. Существует несколько различных, в том числе и довольно экстравагантных переводов этого термина (напр., «пожелание»). Однако при переводе я решил пользоваться исключительно практическими мотивами, именно поэтому мы используем термин «пользовательская история» в несколько официальном ключе и для непосредственных выкладок — «стори». Дело в том, что именно этот термин преобладает в быту большинства гибких команд при работе с англоязычными заказчиками и поэтому вполне оправдан.

Основы пользовательских историй

Они были на великом пиру языков, но довольствовались крохами.
— паж Моль к Костарду, «Напрасный труд любви», Уильям Шекспир

Введение

В гибкой разработке пользовательская история — это легковесная и более живая замена традиционным средствам описания требований: функциональных спецификаций, описаний сценариев использования (use cases) и т. д. На самом деле можно даже утверждать, что пользовательская история (стори) является наиболее весомым артифактом в гибкой разработке, поскольку представляет собой контейнер, служащий переносу потока ценностей к пользователю, а суть гибкой разработки как раз и состоит в быстрой доставке ценного результата.

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

Определить полезную стори — реализовать и оттестировать в рамках короткой итерации — продемонстрировать и/или доставить ее пользователю — получить фидбек — усвоить информацию — повторить в цикле!

Я уже вкратце приводил обсуждение пользовательских историй в контексте моих более широких статей: «Бережливая и масштабируемая информационная модель требований для гибких компаний» и «Общая картина гибкости компании»(1), в которых наряду с темами, эпосами и фичами, стори являются первостепенными артефактами требований, используемых гибкими командами.

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

Пользовательские истории: обзор

В вышеупомянутых статьях и связанных с ними публикациях в блоге я подчеркивал существенность вклада Скрам-модели в гибкие практики для компаний, отмечая, к примеру, само определение роли продакт оунера (product owner), являющейся неотьемлимой по отношению к работе с требованиями. Но самим изобретением пользовательской истории мы обязаны XP и именно сторонники XP и разработали всю широту и глубину этого артефакта. Хотя это значительно менее значимое «методологическое распутье», чем это может показаться, так как пользовательские истории сейчас обычно входят в рамки Скрам-курсов как средство построения бэклога и определения состава Спринта. Наверняка мы должны благодарить Майка Кона (Mike Cohn) за большую часть этой интеграции, так как он обстоятельно проработал пользовательские истории в своей книге User Stories Applied [см. Cohn 2004], и был очень активным в сообществе Scrum Alliance.

Для наших целей мы определим пользовательскую историю так:

Пользовательская история — это короткая формулировка намерения, описывающая что-то, что система должна делать для пользователя.

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

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

Пользовательская история фиксирует короткую формулировку функции на карточке или, возможно, с помощью онлайн-средства.

Подробности поведения системы не фигурируют в этой короткой формулировке, а оставляются на потом и разрабатываются посредством диалога и критерия приемки командой и продакт оунером.

Пользовательские истории помогают преодолевать разрыв между разработчиками и пользователями

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

Билл Вейк (Bill Wake), один из создателей XP, описывает это следующим образом(2):
Пиджин (pidgin) — упрощенный язык, обычно используемый в торговле, позволяет людям, которые не могут общаться на своем родном языке, тем не менее работать вместе. Пользовательские истории действуют подобным образом. Мы не ждем от заказчика или пользователей точно такого же видения системы, как у разработчиков; стори действуют как пиджин, где обе стороны всегда могут договориться, чтобы эффективно вместе работать.

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

Пользовательские истории — это не требования

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

Литература
Cohn, Mike. 2004. User Stories Applied: For Agile Software Development. Boston, MA: Addison-Wesley.

Источник

Что такое пользовательская история?

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

Так вот, пользовательские истории! Несомненно, это один из основных столпов agile(гибкой)-разработки и необходимый инструмент для продакт-менеджера.

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

Но что такое пользовательская история?

Чтобы ответить на этот вопрос, давайте разделим это понятие на части:

История, в данном контексте, — это «устное или письменное изложение материала в художественной форме».

Пользователь — это человек, который владеет или пользуется чем-то по желанию, то есть человек, который использует компьютер, программное обеспечение, системы или компьютерные услуги.

Таким образом, можно сказать, что история пользователя — это письменное повествование об использовании системы.

Когда мы говорим о методологии agile-разработки, пользовательская история — это инструмент, который помогает переключить внимание с детализации требований к системе на их обсуждение.

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

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

Давайте приведем несколько примеров обычных историй для иллюстрации?

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

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

Одно из преимуществ следования этой модели заключается в том, что автор истории вынужден сосредоточиться на «ЧТО», а не на «КАК» — за последнее отвечает команда разработчиков.

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

Кто является действующими лицами или персонами в историях?

Это конечные пользователи историй. Именно они часто их пишут или запрашивают.

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

Только ли PM должен писать истории?

Определенно нет. PM действует как часть команды разработчиков продукта и служит составителем историй, которые могут поступать от клиента, других заинтересованных сторон (стейкхолдеров проекта) или даже от самой команды.

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

Плохие пользовательские истории

Чтобы понять суть этого высказывания, давайте рассмотрим несколько примеров некорректно написанных историй использования?

A) «Не хватает кнопки загрузки».

B) «Я бы хотел, чтобы на прикрепленном экране отображалось больше информации о продукте».

C) «Включите больше изображений».

Один из способов превратить плохие истории в нечто полезное — использовать метод 5 Whys ( 5 “Почему«). Он также помогает автору быть более подготовленным и правильно описать свою следующую историю.

Гипотетически, давайте представим, что я применил этот способ с первой историей (А) из приведенных выше примеров.

Проблема: «Не хватает кнопки загрузки».

Обладая этой информацией, можно было бы улучшить исходную историю, например:

Я хочу экспортировать данные из отчета XYZ в формате CSV;

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

Критерии приемки

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

Критерии приемки, как следует из названия, — это критерии, по которым история может быть принята или отклонена.

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

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

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

Используя эту идею и ранее упомянутую модель истории, мы могли бы определить некоторые критерии приемки:

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

Критерии приемки:

— При открытии отчета XYZ в конце списка результатов вы увидите кнопку, с помощью которой можно загрузить отчет в формате CSV;

— При нажатии на кнопку загрузка начинается автоматически;

— Файл экспортируется в формате UTF-8, чтобы быть совместимым с используемыми в настоящее время форматами;

Конечно, все это может быть гораздо сложнее и содержать большее количество шагов. На самом деле количество критериев не ограничено. Все зависит от размера истории, о которой идет речь. Однако ясно, что это не будет «Agile» (гибко), если это история с 423 критериями приемки.

Всех желающих приглашаем на открытый урок «Бизнес- и системный анализ как подготовка к тестированию качества программного продукта». На этом демоуроке обсудим:
— Зачем нужны User story для написания тест-кейсов?
— Как системные требования помогают наполнить тест-кейсы?
— Что такое тестовая модель и из чего она состоит?
— Как формируется тестовая модель и наполняется?

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *