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

Как использовать сценарии использования для точной оценки трудоемкости работы

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

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

Автор статьи видел проекты с задержкой сроков в 400% и 700%! Бытует мнение, что разрабатывать программы без опоздания невозможно в принципе. Вообще, причина такой точки зрения ясна, ведь люди не провидцы и не могут видеть будущее. На момент оценки трудоемкости ТЗ есть не всегда.

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

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

Интересно, что сценарии (варианты) использования позволяют довольно точно оценить трудоемкость работ. Практика показала, что можно достигнуть 20% точности (=%ошибки) при оценке. А ведь опоздание 20% это совсем не 700%, верно?

Как это сделать?

С чего начать

Суть в альтернативах! Прелесть сценариев использования в том, что они расписывают не только основной ход событий, но и все возможные и невозможные альтернативные ситуации. А альтернативы – это и есть те самые подводные камни, из-за которых и возникают ошибки в оценке трудоемкости.

Как же посчитать трудоёмкость с помощью сценариев? Представьте, что Вам нужно запрограммировать вот такое небольшое окошко: Пример не совсем корректный, т.к. не является бизнес-задачей, но его вполне можно использовать в качестве иллюстрации к расчету трудоемкости.

Поэтому сделайте, пожалуйста, скидку на точность изложения сценария и сконцентрируйтесь на трудоёмкости, хорошо? Вкратце распишем сценарий:

Сценарий использования «Найти документ»

Успешный результат: выбранный документ прописан в свойство какого-то объекта

Основной успешный сценарий

1.Пользователь вводит поисковую фразу.

2.Система выводит список подходящих документов, в названии которых есть искомая фраза. Документы представлены своим названием. Список упорядочен по алфавиту.

3.Пользователь выбирает один из документов.

4.Система прописывает выбранный документ в нужный объект.

Альтернативы

2а.Пользователь хочет найти документы по состоянию на указанную дату

1.Система выводит список подходящих документов, ограниченных по дате создания. Исполнение продолжается согласно п.3.

2б.Пользователь хочет найти документ в архиве

1. 1.Система выводит список подходящих действующих и архивных документов. Исполнение продолжается согласно п.3.

3а.Не найдено ни одного документа

1.Система выводит сообщение: «Не найдено ни одного документа». Исполнение продолжается согласно п.1. Обратите внимание, что сценарий разделен на две части: «Основной успешный сценарий» и «Альтернативы». А теперь подумайте, как обычно происходит оценка трудоёмкости? Думаю, Вы согласитесь, что работу обычно оценивают только по успешному сценарию (как самому очевидному, приходящему на ум в первую очередь), а про альтернативы не думают вообще. В этом и заключается суть проблемы – именно в альтернативах часто зарыта основная трудоёмкость. Пойдём дальше.

В примере италиком отмечены операции, которые программисту нужно запрограммировать.

В альтернативах можно увидеть две операции, которых нет в основном сценарии. Давайте подумаем, что представляют из себя эти операции? По сути это обычные SQL-запросы к базе, но! В них фигурируют дополнительные параметры, которых нет в основном запросе. И вполне может получиться так, что отладка запросов с этими параметрами займёт в 10 раз больше времени, чем основной запрос. И именно так и бывает, верно? Использование сценариев позволяет вытащить на свет все эти альтернативы (или большинство из них), и т.о. в несколько раз точнее оценить итоговую трудоёмкость работы.

Как оценить трудоёмкость

Давайте сведём всю информацию по сценарию в одну таблицу и попробуем посчитать сколько времени у нас займёт реализация: Создание инфраструктуры классов – 1ч Формирование окна – 2ч Вывод списка документов по ключевой фразе – 1ч Вывод списка документов с учётом даты создания – 1ч Вывод списка документов с учётом архивных – 1 ч Прописывание выбранного документа в свойства объекта – 1ч Тестирование 4 * 0,5ч = 2ч

Итого: 9 ч

Как видите, в оценке учтены дополнительные 2ч на реализацию альтернатив и еще 1ч на их тестирование. А если бы оценка проводилась только по успешному сценарию, то этих 3-х часов мы бы не досчитались. А это почти 50% времени (6ч на основной сценарий и 3ч на альтернативы)!

Итоги

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

P.S.А как быть, если сценариев ещё нет?

Если на момент оценки Вы ещё не расписали сценарии, попробуйте хотя бы вкратце набросать основные альтернативы. Это уже хорошо улучшит оценку.

P.P.S. Где еще зарыта свинья

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

Такие ситуации очень легко определяются, когда в оценке трудоемкости ставится время > 3ч. Это однозначно указывает на то, что человек, дающий оценку, не знает, что скрыто внутри. И там 100% сидит БОЛЬШАЯ засада! Проверено многократно.

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

  • трудоемкость
  • оценка
  • сценарии использования
  • варианты использования
  • use case

Источник: https://habr.com/ru/post/294780/

Как использовать сценарии в разработке мобильных приложений — Дизайн на vc.ru

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

Показываем на примере «Помощника ОСАГО».

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

Легче всего показать силу сценариев в «приложениях одной задачи». Например, в «Помощнике ОСАГО» (iOS, Android), которое помогает водителям оформлять европротоколы. У него всего одна задача, но очень важная.

А еще — это приложение с некоторой степенью риска. Пользователь может не дойти до финала, и тогда оба водителя, попавшие в ДТП, потеряют время (мы потратили 40 минут) и будут обязаны вызвать наряд ГИБДД.

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

В общем, почти идеальный для нашего материала случай.

Шевченко В.И. «Сломалась телега»

Скажем больше: если вы разрабатываете приложение, выполняющее всего одну задачу, сценария будет достаточно, чтобы начать делать дизайн и даже разработку. А еще — заранее оценить, где пользователю будет неудобно, как он себя поведет на каждом этапе, что ему не пригодится. И все это — сразу, не написав и строчки кода.

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

Что мы ожидали от приложения и что получилось?

Мы ожидали, что приложение проведет нас по сценарию из семи пунктов. Вот такой порядок мы представляли.

0. Приложение объяснит, как работает и что от нас понадобится при оформлении ДТП.

1. Приложение расскажет про правила поведения при ДТП, предупредит о необходимых документах и других требованиях к участникам.

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

3. Попросит документы у обоих участников ДТП.

4. Зафиксирует повреждения.

5. Попросит описать, при каких обстоятельствах произошло ДТП.

6. Проверит всю введенную информацию, попросит подтверждение у обоих участников.

7. Объяснит, что нам делать дальше.

Примерно так и получилось. В приложении реализован именно этот сценарий. Но отличий тоже хватило.

Чем реальный сценарий отличается от вымышленного:

  • не хватает сценария обучения, который объяснил бы, как пользоваться приложением;
  • участники ДТП неравноправны — один оформляет, другой ждет и нервничает, все ли заполнено верно;
  • приложение не предупреждает, что оба водителя должны быть зарегистрированы в «Госуслугах»;
  • последний этап оформления ДТП проводится в «Госуслугах», а не внутри приложения.

Это были краткие предварительные итоги. А вот процесс.

0. Обучение

Сценарий, который используется один раз.

Мы установили приложение, сидя дома, и хотим знать, что можно сделать, чтобы быть лучше подготовленным к оформлению ДТП. Вдруг есть какие-то нюансы? А может, мне стоит заранее загрузить все документы в приложении?

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

Ожидание

— Я скачал приложение. Надеюсь, оно мне не понадобится, но на всякий случай пусть будет. Чем оно мне поможет?

— Если никто не пострадал, вы собственник и все согласны друг с другом, вы сможете быстро оформить ДТП без вызова ГИБДД.

— Есть одна мелочь: вы должны быть зарегистрированы на «Госуслугах».

— А как с документами? Что нужно заполнить?

— Вот документы, которые нужны от вас, вот форма для информации, сюда загрузите фотографии.

— И все, смогу уехать и получить деньги?

— Не совсем, нужно будет написать обстоятельства ДТП на «Госуслугах».

— Хорошо, зарегистрируюсь, пожалуй.

Реальность

Никакого обучения в реальности нет.

Этот сценарий разработчики не отработали.

2. Старт транзакции

Транзакция — это группа последовательных операций. Она прерывается, если не выполнено условие любой из операций.

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

А выводы?

В начале статьи мы задались целью показать, как использовать сценарии для оценки и создания приложений. У нас не было задачи найти все возможные ошибки в «Помощнике ОСАГО».

Наш сценарий — это то, что мы ожидали от приложения. Разумеется, мы не претендуем на единственное правильное мнение. Да и вообще на правильное. И да, мы могли придумать другой сценарий. Но взяли этот для примера.

Главное, что мы хотели сказать: фиксировать сценарий — важно.

Вот как еще можно использовать сценарий.

  1. Узнать, чего от приложения хотят пользователи и как они им будут пользоваться.
  2. Убрать все лишнее и второстепенное.

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

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

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

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

  6. Заменить им тестирование продукта. Пройтись по сценарию и посмотреть, где возникают трудности.

А вывод такой: для «приложений одной задачи» сценарий — важный этап работы над продуктом. Возможно, даже главный. И уж точно — один из самых-самых первых.

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать

Источник: https://vc.ru/design/93576-kak-ispolzovat-scenarii-v-razrabotke-mobilnyh-prilozheniy

Юридический спектр
Добавить комментарий