SlideShare a Scribd company logo
1 of 13
Download to read offline
Atlassian user Group SPB
Поехали!
Приоритезируем
задачи в JIRA
Юлия Атлыгина
ALM Works
Что такое
приоритезация?
Ну, у нас есть product
owner
Ну, у нас есть product
owner
Часто задачи - просто однородная
масса..
MoSCoW
• M - Must have. Задачи, которые
должны быть поставлены для
решения текущих проблем бизнеса.
• S - Should have. Задачи, которые
надо сделать, если возможно
• C - Could have. Можно бы и сделать,
если это не влияет на остальные
задачи проекта
• W - Would like. Хорошо бы сделать,
но доставлять будем точно не сейчас
Знакомы с “приоритезацией
голосом”?:)
SAFe(Scaled Agile): WSJF
отдаем предпочтение задачам с более короткой
длительностью выполнения и более высокой
стоимостью задержки
- WSJF = Cost of Delay / Duration
- Начинаем с самого высокого
ALM Works edition
• Cost: Цена работы. Low = 2 дня и меньше; Medium = 1 спринт (2
недели) или быстрее; High = больше спринта.
• Benefit. Какую ценность приносит добавление функциональности.
High = важная новая фича, которую можно порекламировать;
Medium = важная добавка для существующих пользователей; Low =
особо счастья не добавляет; Nil = совсем не дает бенефитов.
• Pain. Насколько “больно” не сделать задачу. Nil = ни капельки; Low
= легкое раздражение; Medium = пользователи не могут или не
будут использовать второстепенную функциональность; High =
пользователи не могут использовать важную функциональность
• Impact. Как много пользователей затрагивает? High = более 10%;
Medium = более 1%; Low = менее 1% users.
• Risk. Риск понижения качества остальной функциональности при
добавлении этой. Low = уверены в задаче; Medium = типичная
проблема; High = потенциально сложная проблема
• Clarity. Насколько мы понимаем, что нужно делать? High =в
команде есть общее понимание что делать; Medium = есть хотя бы
1 человек, который знает, что делать; Low = ни у кого нет полной
картины
• Marketability. Можем ли мы использовать функциональность в
рекламный материалах. High = легко рекламировать; Medium =
может быть описано в материалах, но нет Wow эффекта; Low =
сложно объяснить
Script Runner. Calculated Field,
Groovy
import
com.atlassian.jira.component.ComponentAccessor;
import
com.atlassian.jira.issue.CustomFieldManager;
import com.atlassian.jira.issue.Issue;
import com.atlassian.jira.issue.fields.CustomField;
def mapping = [
/* why do this */
"Benefit" : ["Nil": 0, "Low": 1, "Medium": 2,
"High": 5],
"Pain" : ["Nil": 0, "Low": 1, "Medium": 3,
"High": 6],
"Marketability": ["Low": 0, "Medium": 1, "High":
4],
"Impact" : ["Low": 0.8, "Medium": 1.2,
"High": 2],
/* why not do this */
"Cost" : ["Low": 1.0, "Medium": 1.5, "High":
3],
"Risk" : ["Low": 1.0, "Medium": 1.5, "High":
3],
"Clarity" : ["Low": 1.5, "Medium": 1, "High":
0.9]
]
CustomFieldManager cfm =
ComponentAccessor.getCustomFieldManager();
double getMappedValue(String fieldName, Map
mapping, CustomFieldManager cfm, double
defaultValue) {
CustomField field =
cfm.getCustomFieldObjectByName(fieldName);
Map map = mapping.get(fieldName) as Map;
double res = defaultValue;
def fieldValue = issue.getCustomFieldValue(field);
if (null != fieldValue) {
def mappedValue = map[fieldValue.toString()];
if (null != mappedValue) {
res = (double) mappedValue;
}
}
return res;
}
double benefit = getMappedValue("Benefit",
mapping, cfm, 0.0);
double pain = getMappedValue("Pain", mapping,
cfm, 0.0);
double marketability =
getMappedValue("Marketability", mapping, cfm,
0.0);
double impact = getMappedValue("Impact",
mapping, cfm, 1.0);
double cost = getMappedValue("Cost", mapping,
cfm, 2.0);
double risk = getMappedValue("Risk", mapping,
cfm, 2.0);
double clarity = getMappedValue("Clarity",
mapping, cfm, 1.5);
int result = (int) Math.round((double) (100.0 * (1.0 +
benefit + pain + marketability) * impact / (1.0 +
cost * risk * clarity)));
return result;
Structure 4.0
ROUND(100 * (1 + CASE(Benefit,
"Low", 1, "Medium", 2, "High", 5,
0) + CASE(Pain, "Low", 1,
"Medium", 3, "High", 6, 0) +
CASE(Marketability, "Medium", 1,
"High", 4, 0) * CASE(Impact,
"Low", 0.8, "Medium", 1.2,
"High", 2, 1) / (1 + CASE(Cost,
"Low", 1, "Medium", 1.5, "High",
3, 2) * CASE(Risk, "Low", 1,
"Medium", 1.5, "High", 3, 2) *
CASE(Clarity, "Medium", 1,
"High", 0.9, 1.5))))
- меньше текста
- не нужны знания языков
программирования
- сможет делать любой
пользователь, не только
админ
ja@almworks.com

More Related Content

Similar to Приоритезируем космические задачи

Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileKairat Yussupov
 
CodeFest 2014. Шипилёв А. — Java Benchmarking: как два таймстампа записать!
CodeFest 2014. Шипилёв А. — Java Benchmarking: как два таймстампа записать!CodeFest 2014. Шипилёв А. — Java Benchmarking: как два таймстампа записать!
CodeFest 2014. Шипилёв А. — Java Benchmarking: как два таймстампа записать!CodeFest
 
Measurement in software development
Measurement in software developmentMeasurement in software development
Measurement in software developmentamirutov
 
Продукт: вам нарезать или целым куском?
Продукт: вам нарезать или целым куском?Продукт: вам нарезать или целым куском?
Продукт: вам нарезать или целым куском?Timofey (Tim) Yevgrashyn
 
м.токовинин компромиссная производительность
м.токовинин   компромиссная производительностьм.токовинин   компромиссная производительность
м.токовинин компромиссная производительностьHighLoad2009
 
Grail: шаги для ваших Python-тестов
Grail: шаги для ваших Python-тестовGrail: шаги для ваших Python-тестов
Grail: шаги для ваших Python-тестовCodeFest
 
Grail - CodeFest'2015
Grail - CodeFest'2015Grail - CodeFest'2015
Grail - CodeFest'2015Igor Khrol
 
Правильный процесс дает правильный результат. Как бережливое производство пом...
Правильный процесс дает правильный результат. Как бережливое производство пом...Правильный процесс дает правильный результат. Как бережливое производство пом...
Правильный процесс дает правильный результат. Как бережливое производство пом...borovoystudio
 
управление проектами по разработке на Drupal
управление проектами по разработке на Drupalуправление проектами по разработке на Drupal
управление проектами по разработке на DrupalLevandovskyy
 
Timofey Yevgrashyn (IT Spring 2013)
Timofey Yevgrashyn (IT Spring 2013)Timofey Yevgrashyn (IT Spring 2013)
Timofey Yevgrashyn (IT Spring 2013)Sergey Gruzer
 
C++ CoreHard Autumn 2018. Заглядываем под капот «Поясов по C++» - Илья Шишков
C++ CoreHard Autumn 2018. Заглядываем под капот «Поясов по C++» - Илья ШишковC++ CoreHard Autumn 2018. Заглядываем под капот «Поясов по C++» - Илья Шишков
C++ CoreHard Autumn 2018. Заглядываем под капот «Поясов по C++» - Илья Шишковcorehard_by
 
Масштабирование Agile в Единой фронтальной системе Сбербанка
Масштабирование Agile в Единой фронтальной системе СбербанкаМасштабирование Agile в Единой фронтальной системе Сбербанка
Масштабирование Agile в Единой фронтальной системе СбербанкаSergey Rogachev
 
Сергей Рогачев. Agile на гигантских размерах
Сергей Рогачев. Agile на гигантских размерахСергей Рогачев. Agile на гигантских размерах
Сергей Рогачев. Agile на гигантских размерахScrumTrek
 
пылаева дана, шоколад лего-скрам
пылаева дана, шоколад лего-скрампылаева дана, шоколад лего-скрам
пылаева дана, шоколад лего-скрамMagneta AI
 
Why Drupal. Виктор Левандовский.
Why Drupal. Виктор Левандовский.Why Drupal. Виктор Левандовский.
Why Drupal. Виктор Левандовский.DrupalCampDN
 
Почему менеджеры ненавидят Agile
Почему менеджеры ненавидят AgileПочему менеджеры ненавидят Agile
Почему менеджеры ненавидят AgilePavel Rybakov
 
Drupal projectmanagement
Drupal projectmanagementDrupal projectmanagement
Drupal projectmanagementLevandovskyy
 
Продукт: вам нарезать или целым куском? (IT-Spring 2013)
Продукт: вам нарезать или целым куском? (IT-Spring 2013)Продукт: вам нарезать или целым куском? (IT-Spring 2013)
Продукт: вам нарезать или целым куском? (IT-Spring 2013)Timofey (Tim) Yevgrashyn
 
Олег Миколайченко "Как перестать хранить секреты в git и начать использовать ...
Олег Миколайченко "Как перестать хранить секреты в git и начать использовать ...Олег Миколайченко "Как перестать хранить секреты в git и начать использовать ...
Олег Миколайченко "Как перестать хранить секреты в git и начать использовать ...Fwdays
 

Similar to Приоритезируем космические задачи (20)

Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
 
CodeFest 2014. Шипилёв А. — Java Benchmarking: как два таймстампа записать!
CodeFest 2014. Шипилёв А. — Java Benchmarking: как два таймстампа записать!CodeFest 2014. Шипилёв А. — Java Benchmarking: как два таймстампа записать!
CodeFest 2014. Шипилёв А. — Java Benchmarking: как два таймстампа записать!
 
Measurement in software development
Measurement in software developmentMeasurement in software development
Measurement in software development
 
Продукт: вам нарезать или целым куском?
Продукт: вам нарезать или целым куском?Продукт: вам нарезать или целым куском?
Продукт: вам нарезать или целым куском?
 
м.токовинин компромиссная производительность
м.токовинин   компромиссная производительностьм.токовинин   компромиссная производительность
м.токовинин компромиссная производительность
 
Grail: шаги для ваших Python-тестов
Grail: шаги для ваших Python-тестовGrail: шаги для ваших Python-тестов
Grail: шаги для ваших Python-тестов
 
Grail - CodeFest'2015
Grail - CodeFest'2015Grail - CodeFest'2015
Grail - CodeFest'2015
 
Правильный процесс дает правильный результат. Как бережливое производство пом...
Правильный процесс дает правильный результат. Как бережливое производство пом...Правильный процесс дает правильный результат. Как бережливое производство пом...
Правильный процесс дает правильный результат. Как бережливое производство пом...
 
управление проектами по разработке на Drupal
управление проектами по разработке на Drupalуправление проектами по разработке на Drupal
управление проектами по разработке на Drupal
 
Timofey Yevgrashyn (IT Spring 2013)
Timofey Yevgrashyn (IT Spring 2013)Timofey Yevgrashyn (IT Spring 2013)
Timofey Yevgrashyn (IT Spring 2013)
 
C++ CoreHard Autumn 2018. Заглядываем под капот «Поясов по C++» - Илья Шишков
C++ CoreHard Autumn 2018. Заглядываем под капот «Поясов по C++» - Илья ШишковC++ CoreHard Autumn 2018. Заглядываем под капот «Поясов по C++» - Илья Шишков
C++ CoreHard Autumn 2018. Заглядываем под капот «Поясов по C++» - Илья Шишков
 
Масштабирование Agile в Единой фронтальной системе Сбербанка
Масштабирование Agile в Единой фронтальной системе СбербанкаМасштабирование Agile в Единой фронтальной системе Сбербанка
Масштабирование Agile в Единой фронтальной системе Сбербанка
 
Сергей Рогачев. Agile на гигантских размерах
Сергей Рогачев. Agile на гигантских размерахСергей Рогачев. Agile на гигантских размерах
Сергей Рогачев. Agile на гигантских размерах
 
пылаева дана, шоколад лего-скрам
пылаева дана, шоколад лего-скрампылаева дана, шоколад лего-скрам
пылаева дана, шоколад лего-скрам
 
Why Drupal. Виктор Левандовский.
Why Drupal. Виктор Левандовский.Why Drupal. Виктор Левандовский.
Why Drupal. Виктор Левандовский.
 
Agile Project Grows
Agile Project GrowsAgile Project Grows
Agile Project Grows
 
Почему менеджеры ненавидят Agile
Почему менеджеры ненавидят AgileПочему менеджеры ненавидят Agile
Почему менеджеры ненавидят Agile
 
Drupal projectmanagement
Drupal projectmanagementDrupal projectmanagement
Drupal projectmanagement
 
Продукт: вам нарезать или целым куском? (IT-Spring 2013)
Продукт: вам нарезать или целым куском? (IT-Spring 2013)Продукт: вам нарезать или целым куском? (IT-Spring 2013)
Продукт: вам нарезать или целым куском? (IT-Spring 2013)
 
Олег Миколайченко "Как перестать хранить секреты в git и начать использовать ...
Олег Миколайченко "Как перестать хранить секреты в git и начать использовать ...Олег Миколайченко "Как перестать хранить секреты в git и начать использовать ...
Олег Миколайченко "Как перестать хранить секреты в git и начать использовать ...
 

More from Gonchik Tsymzhitov

28.08 Как COVID-19 помогает безопасности земных инсталляции Jirа, продуктов A...
28.08 Как COVID-19 помогает безопасности земных инсталляции Jirа, продуктов A...28.08 Как COVID-19 помогает безопасности земных инсталляции Jirа, продуктов A...
28.08 Как COVID-19 помогает безопасности земных инсталляции Jirа, продуктов A...Gonchik Tsymzhitov
 
Мифы про Project-ов, Product-ов, любимую Jira и многие темы вокруг на
Мифы про Project-ов, Product-ов, любимую Jira и многие темы вокруг на Мифы про Project-ов, Product-ов, любимую Jira и многие темы вокруг на
Мифы про Project-ов, Product-ов, любимую Jira и многие темы вокруг на Gonchik Tsymzhitov
 
Aнализ требований, управление тестами в Jira Software
Aнализ требований, управление тестами в Jira SoftwareAнализ требований, управление тестами в Jira Software
Aнализ требований, управление тестами в Jira SoftwareGonchik Tsymzhitov
 
Misleading Confluence Security Settings and What to Do With Them and Reporting
Misleading Confluence Security Settings and What to Do With Them and ReportingMisleading Confluence Security Settings and What to Do With Them and Reporting
Misleading Confluence Security Settings and What to Do With Them and ReportingGonchik Tsymzhitov
 
Atlassian user group in itiviti
Atlassian user group in itivitiAtlassian user group in itiviti
Atlassian user group in itivitiGonchik Tsymzhitov
 
"Гибкие методологии выбраны, но как жить с этим?"
"Гибкие методологии выбраны, но как жить с этим?""Гибкие методологии выбраны, но как жить с этим?"
"Гибкие методологии выбраны, но как жить с этим?"Gonchik Tsymzhitov
 
По Вашей просьбе, продукты Atlassian в Docker
По Вашей просьбе, продукты Atlassian в DockerПо Вашей просьбе, продукты Atlassian в Docker
По Вашей просьбе, продукты Atlassian в DockerGonchik Tsymzhitov
 
Доклады с прошедшей JiraMania: про обновления, зависимости и дедлоки
Доклады с прошедшей JiraMania: про обновления, зависимости и дедлокиДоклады с прошедшей JiraMania: про обновления, зависимости и дедлоки
Доклады с прошедшей JiraMania: про обновления, зависимости и дедлокиGonchik Tsymzhitov
 
Tsymzhitov GB chaos constructions 2017
Tsymzhitov GB chaos constructions 2017Tsymzhitov GB chaos constructions 2017
Tsymzhitov GB chaos constructions 2017Gonchik Tsymzhitov
 
Jiramania презентации @augspb
Jiramania презентации   @augspbJiramania презентации   @augspb
Jiramania презентации @augspbGonchik Tsymzhitov
 

More from Gonchik Tsymzhitov (20)

TsymzhitovGB - Jira Day
TsymzhitovGB - Jira DayTsymzhitovGB - Jira Day
TsymzhitovGB - Jira Day
 
28.08 Как COVID-19 помогает безопасности земных инсталляции Jirа, продуктов A...
28.08 Как COVID-19 помогает безопасности земных инсталляции Jirа, продуктов A...28.08 Как COVID-19 помогает безопасности земных инсталляции Jirа, продуктов A...
28.08 Как COVID-19 помогает безопасности земных инсталляции Jirа, продуктов A...
 
Мифы про Project-ов, Product-ов, любимую Jira и многие темы вокруг на
Мифы про Project-ов, Product-ов, любимую Jira и многие темы вокруг на Мифы про Project-ов, Product-ов, любимую Jira и многие темы вокруг на
Мифы про Project-ов, Product-ов, любимую Jira и многие темы вокруг на
 
Aнализ требований, управление тестами в Jira Software
Aнализ требований, управление тестами в Jira SoftwareAнализ требований, управление тестами в Jira Software
Aнализ требований, управление тестами в Jira Software
 
TsymzhitovGB - PMI
TsymzhitovGB - PMITsymzhitovGB - PMI
TsymzhitovGB - PMI
 
Misleading Confluence Security Settings and What to Do With Them and Reporting
Misleading Confluence Security Settings and What to Do With Them and ReportingMisleading Confluence Security Settings and What to Do With Them and Reporting
Misleading Confluence Security Settings and What to Do With Them and Reporting
 
Atlassian user group
Atlassian user groupAtlassian user group
Atlassian user group
 
Atlassian user group in itiviti
Atlassian user group in itivitiAtlassian user group in itiviti
Atlassian user group in itiviti
 
"Гибкие методологии выбраны, но как жить с этим?"
"Гибкие методологии выбраны, но как жить с этим?""Гибкие методологии выбраны, но как жить с этим?"
"Гибкие методологии выбраны, но как жить с этим?"
 
SAFe in Jira
SAFe in JiraSAFe in Jira
SAFe in Jira
 
Жизнь после SAFe
Жизнь после SAFeЖизнь после SAFe
Жизнь после SAFe
 
По Вашей просьбе, продукты Atlassian в Docker
По Вашей просьбе, продукты Atlassian в DockerПо Вашей просьбе, продукты Atlassian в Docker
По Вашей просьбе, продукты Atlassian в Docker
 
Markelov-AUG-Jira
Markelov-AUG-JiraMarkelov-AUG-Jira
Markelov-AUG-Jira
 
BorodinA-AUG-2
BorodinA-AUG-2BorodinA-AUG-2
BorodinA-AUG-2
 
Доклады с прошедшей JiraMania: про обновления, зависимости и дедлоки
Доклады с прошедшей JiraMania: про обновления, зависимости и дедлокиДоклады с прошедшей JiraMania: про обновления, зависимости и дедлоки
Доклады с прошедшей JiraMania: про обновления, зависимости и дедлоки
 
Tsymzhitov GB chaos constructions 2017
Tsymzhitov GB chaos constructions 2017Tsymzhitov GB chaos constructions 2017
Tsymzhitov GB chaos constructions 2017
 
Jiramania презентации @augspb
Jiramania презентации   @augspbJiramania презентации   @augspb
Jiramania презентации @augspb
 
AUG-5: Testing tools
AUG-5: Testing toolsAUG-5: Testing tools
AUG-5: Testing tools
 
Astafiev - plugins
Astafiev - pluginsAstafiev - plugins
Astafiev - plugins
 
Tsymzhitov Performance Tricks
Tsymzhitov Performance TricksTsymzhitov Performance Tricks
Tsymzhitov Performance Tricks
 

Приоритезируем космические задачи

  • 1. Atlassian user Group SPB Поехали!
  • 4. Ну, у нас есть product owner
  • 5. Ну, у нас есть product owner
  • 6. Часто задачи - просто однородная масса.. MoSCoW • M - Must have. Задачи, которые должны быть поставлены для решения текущих проблем бизнеса. • S - Should have. Задачи, которые надо сделать, если возможно • C - Could have. Можно бы и сделать, если это не влияет на остальные задачи проекта • W - Would like. Хорошо бы сделать, но доставлять будем точно не сейчас
  • 8. SAFe(Scaled Agile): WSJF отдаем предпочтение задачам с более короткой длительностью выполнения и более высокой стоимостью задержки - WSJF = Cost of Delay / Duration - Начинаем с самого высокого
  • 9.
  • 10. ALM Works edition • Cost: Цена работы. Low = 2 дня и меньше; Medium = 1 спринт (2 недели) или быстрее; High = больше спринта. • Benefit. Какую ценность приносит добавление функциональности. High = важная новая фича, которую можно порекламировать; Medium = важная добавка для существующих пользователей; Low = особо счастья не добавляет; Nil = совсем не дает бенефитов. • Pain. Насколько “больно” не сделать задачу. Nil = ни капельки; Low = легкое раздражение; Medium = пользователи не могут или не будут использовать второстепенную функциональность; High = пользователи не могут использовать важную функциональность • Impact. Как много пользователей затрагивает? High = более 10%; Medium = более 1%; Low = менее 1% users. • Risk. Риск понижения качества остальной функциональности при добавлении этой. Low = уверены в задаче; Medium = типичная проблема; High = потенциально сложная проблема • Clarity. Насколько мы понимаем, что нужно делать? High =в команде есть общее понимание что делать; Medium = есть хотя бы 1 человек, который знает, что делать; Low = ни у кого нет полной картины • Marketability. Можем ли мы использовать функциональность в рекламный материалах. High = легко рекламировать; Medium = может быть описано в материалах, но нет Wow эффекта; Low = сложно объяснить
  • 11. Script Runner. Calculated Field, Groovy import com.atlassian.jira.component.ComponentAccessor; import com.atlassian.jira.issue.CustomFieldManager; import com.atlassian.jira.issue.Issue; import com.atlassian.jira.issue.fields.CustomField; def mapping = [ /* why do this */ "Benefit" : ["Nil": 0, "Low": 1, "Medium": 2, "High": 5], "Pain" : ["Nil": 0, "Low": 1, "Medium": 3, "High": 6], "Marketability": ["Low": 0, "Medium": 1, "High": 4], "Impact" : ["Low": 0.8, "Medium": 1.2, "High": 2], /* why not do this */ "Cost" : ["Low": 1.0, "Medium": 1.5, "High": 3], "Risk" : ["Low": 1.0, "Medium": 1.5, "High": 3], "Clarity" : ["Low": 1.5, "Medium": 1, "High": 0.9] ] CustomFieldManager cfm = ComponentAccessor.getCustomFieldManager(); double getMappedValue(String fieldName, Map mapping, CustomFieldManager cfm, double defaultValue) { CustomField field = cfm.getCustomFieldObjectByName(fieldName); Map map = mapping.get(fieldName) as Map; double res = defaultValue; def fieldValue = issue.getCustomFieldValue(field); if (null != fieldValue) { def mappedValue = map[fieldValue.toString()]; if (null != mappedValue) { res = (double) mappedValue; } } return res; } double benefit = getMappedValue("Benefit", mapping, cfm, 0.0); double pain = getMappedValue("Pain", mapping, cfm, 0.0); double marketability = getMappedValue("Marketability", mapping, cfm, 0.0); double impact = getMappedValue("Impact", mapping, cfm, 1.0); double cost = getMappedValue("Cost", mapping, cfm, 2.0); double risk = getMappedValue("Risk", mapping, cfm, 2.0); double clarity = getMappedValue("Clarity", mapping, cfm, 1.5); int result = (int) Math.round((double) (100.0 * (1.0 + benefit + pain + marketability) * impact / (1.0 + cost * risk * clarity))); return result;
  • 12. Structure 4.0 ROUND(100 * (1 + CASE(Benefit, "Low", 1, "Medium", 2, "High", 5, 0) + CASE(Pain, "Low", 1, "Medium", 3, "High", 6, 0) + CASE(Marketability, "Medium", 1, "High", 4, 0) * CASE(Impact, "Low", 0.8, "Medium", 1.2, "High", 2, 1) / (1 + CASE(Cost, "Low", 1, "Medium", 1.5, "High", 3, 2) * CASE(Risk, "Low", 1, "Medium", 1.5, "High", 3, 2) * CASE(Clarity, "Medium", 1, "High", 0.9, 1.5)))) - меньше текста - не нужны знания языков программирования - сможет делать любой пользователь, не только админ