Давайте по порядку
Что означает этот рисунок чуть позже, а сейчас позвольте начать с введения.
В холодный февральский день ничего не предвещало беды. Группа ни в чём не повинных студентов пришла в первый раз на пару по предмету, который решили назвать «Методология организвции проектирования и разработки информационных систем». Была обычная лекция, преподаватель рассказывал про гибкие методы разработы, такие как скрам, ничего не предвещало беды. И вот под конец преподаватель объявляет:
Я хочу чтобы вы на себе исытали все тяготы командной работы, разделитесь на группы, придумайте проект, назначте руководителя и пройдите вместе все этапы проектирования. В конце я жду от вас готовый продукт и статью на хабре.
Отсюда и начинается наша история.
Stop Procrastination — что это такое, с чем его едят и как мы его разрабатывали и что из этого вышло
Рассказ будет вестись от лица руководителя проекта, которым к счастью или к сожалению назначили меня. И так какая же идея пришла нам в голову? Вдохновившись популярным будильником «Тряси Будильник» от SupperCommon, а именно функцией полностью блокировать работу смартфона до тех пор, пока пользователь не совершит определённое действие, которое, вероятнее всего заставит его проснуться, нами было решено создать подобное приложение, которое поможет избавиться от телефонной зависимости, по такому же принципу, что и «Тряси Будильник»
Принцип работы
Пользователь устанавливает таймеры
-Время которое можно проводить за смартфоном
-Время без смартфона (период блокировки)
По истечении таймера на экране появляется оверлей, который нельзя свернуть
-Чтобы закрыть оверлей нужно пройти небольшое испытание (ввести пароль на запутанной клавиатуре, решить математическую задачку, потрясти телефон пару минут)
После разблокировки таким способом время, которое можно провести за смартфоном уменьшается в два раза, и так вплоть до одной минуты
Строим команду
Для начала нужно было определить кто чем будет заниматься и на каком языке всё это будет писаться. Я думаю именно к управлению проектами это имеет мало отношения, ибо когда собираешь команду для реального проекта ты собираешь сразу тех кто тебе нужен. В итоге явзял ещё и на себя ношу дизайнера, выбрал одного тимлтда, который имел хороший опыт в разработке приложений, ему в подчинение было назначено три программиста, и еще двое стали тестировщиками. Конечно язык программирования выбирался по умениям. В итоге было решено использовать Java, так как с ним были знакомы все программисты.
Ставим задачи
По рекомендации преподавателя была создана доска задач на бесплатном сервисе
Однако на деле из всего этого вышел один большой и длинный стрим, в который постоянно вносились правки, дополнения и исправления.
Пишем спеки
Под влиянием книги Савина «Тестирование.com», я имел в голове своё представление о том как всё должно быть устрено. Всё началось с написания спецификаций, как я считаю без чёткого описания, чего мы ждём, что и как должно работать ничего работать не будет. Программисты запрограммируют всё как видят они, тестировщики протестируют другое, руководитель ждал третье, а получится как всегда четвёртое.
Писать спецификации не легко, нужно продумать все детали, все нюансы. Конечно же с певого раза ничего не получилось. В итоге спецификации дополнялись, переделывались 4 раза. Последний вариант вы можеде найти в конце статьи, в разделе ссылки.
Рисуем дизайн
Дизайн в мобильном приложении самое главное. Однако, не все это понимают, в том числе и из моей команды многие рьяно спорили со мной, что дизайн не нужен, что это самая не важная часть приложения и т.д. Не стоит быть таким наивным. Во-первых, готовый дизайн — это облегчение работы программита, ему не нужно думать, что где и куда запихнуть, он просто берет и верстает, то что нарисовано. Вместе со спецификациями дизайн почти полностью освобождает ум программиста от ненужных вещей, и даёт ему возможность сконцентрироваться на логике. В общем сначала был нарисован прототипный (ужасный) дизайн:
Но потом дизайн был причёсан и приведён к нормальному виду.
(Ссылка на все элементы дизайна в конце статьи).
Программируем
Программировать сложно, но можно. Я опущу данный момент, так как сам лично этим не занимался. Программистами была проделанная огромная работа, без которой всё было бы бессмысленно. Конечно удалось реализовать часть задумок. И программе ещё нужна доработка. Много багов и фич, которые нужно убрать. Будь у нас больше времени мы бы вылезли из глубокой альфы, а пока вы можете протестировать приложение в конце статьи.
Ну и о тестировании
Что главное в программировании? По-моему мнению главное — чтобы все работало и выглядело так, как надо. Как надо выходит не всегда и не сразу. Для этого нужно тестрование. Своим тестировщивам, я предложил модель тестирования с использованием тест-кейсов. Сначала пишутся тест-кейсы в полном соответствии со спецификациями, а затем по ним проводится тестирование. Что из этого вышло можете посмотреть ниже в ссылках.
Спасибо, что прочитали. Надеюсь вы нашли здесь хоть что-то полезное, может идею для своего стартапа, а может хлроший совет или инструмент.
Ссылки:
Последние
Дизайн на
Само приложение на
Ну и в конце
Как вы думаете, имело ли всё это смысл?
Только зарегистрированные пользователи могут участвовать в опросе.
Нужна ли такая практива в учебных заведениях и насколько она полезна и применима в реальной жизни
-
Нужна, бесценный опыт
-
Нужна, хоть и опыта немного
-
Почти бесполезна, максимум поймёшь общие черты работы в команде
-
Пустая трата времени и сил
Проголосовали 2 пользователя. Воздержавшихся нет.
Источник: habr.com