О том, как правильно ставить цели, измерять успех, жить по принципу fail-fast и не бояться рефакторинга рассказывает руководитель мобильной разработки сервисов FL.ru Ренат Сарымсаков.Решил поделиться мнением о том, какие существуют фундаментальные основы в программировании мобильных продуктов. На протяжении десятка лет я делал много классных проектов: умные дома, мозговые машины, системы дистанционного образования, научный софт. Но большая любовь последних лет — это мобильная разработка. И об этом сегодня расскажу подробнее. Хороший разработчик должен обладать фундаментальными знаниями в области computer science, уметь планировать свою работу. Понимание того, какую задачу решает приложение — это головная боль и все 33 несчастья современного бизнеса.Прежде, чем начать кодить приложение, важно иметь ответы на 4 последовательных действия:Ставим цели правильноСобираем обратную связь и анализируем аудиториюСоздаем цепляющий дизайнТестируем производительность и проводим рефакторингИтак, начнем с первого:Важно иметь четко сформулированную цель. Очень много всего делается на хайпе. Топ-менеджеры компаний до конца не понимают, чего хотят. “Раз это есть у всех, значит должно быть и у меня”. Стоит думать шире. Например, сейчас я делаю приложение для FL.ru в версии 1.0, которые будет удерживать старых пользователей. Это позволит улучшить коммуникацию с исполнителем своевременно и оперативно. Такова главная цель, которую мы решаем. Но уже сейчас я просчитываю пять версий вперед, чтобы минимизировать риски на будущее.Чтобы понять, насколько цель решена, нужно измерить успех. Я свято верю, что это можно сделать. Главное, понять ключевые метрики, например:количество новых пользователей, зашедших через приложениеколичество совершивших покупкуудобство перемещения пользователяretentionсредний доход с одного пользователя и др.Единой стратегии для всех приложений нет. Но можно создать framework, на основе которого, будет строиться алгоритм измерений.Ваша задача вместе с продакт-менеджером создать встроенный инструментарий, мотивирующий к действиям пользователей. Иначе высок риск того, что ваше приложение не проживет и года.Опять же, после определения цели, старайтесь работать по принципу fail-fast — собирайте фидбек максимально быстро и рано, иначе выяснится, что рынку вообще не нужно ваше приложение, а вы над ним продолжаете активно работать. Я лично считаю, что мобильное приложение — это канал привлечения новых пользователей. И если это не так, то все равно важно не испортить первое впечатление о своем продукте. Как это сделать? Конечно, классным дизайном!Под “классный” я подразумеваю не реакцию на просьбу продакт менеджера сделать странички в таком-то цвете, нет. Это тот дизайн, который сможет оставить след в душе. Функциональность, понятно, важна. Но он также должен быть притягательным. Мне очень импонирует дизайн Airbnb и Zwooq.AirbnbZwooqПараллельно, вам необходимо чувствовать привычки аудитории скроллить, свайпить определенным образом и последовательности. Я, как пользователь Android, привык к material design — кнопке back, выдвигающемуся меню слева, навигацией “карточками” и тд.Заиграться очень легко. Но помните, что по натуре большинство пользователей - консерваторы и кардинальные изменения воспринимают с недоверием. Следующий этап — это тестирование производительности, в результате чего приложение должно работать стабильно, при любом типе нагрузки, большой пропускной способности пользователей и данных. Его цель — найти “слабое звено”, т.е. часть системы, улучшив которую можно максимизировать производительность приложения. Не стоит забывать также и о рефакторинге — практике изменения существующего исходного кода приложения.Это боль продакт-менеджеров, которые хотят прочувствовать результат, т.е. потыкать, посмотреть, а его нет. В нашей разработке большой пласт работ — это те задачи, которые нельзя оценить визуально. Обычно в него встраиваются специальные инструменты вроде crashlytics, чтобы собирать данные по падениям и ошибкам. Поэтому, рефакторинг — немаловажная составляющая в мобильной разработке. Вы никогда не удивите клиента, если приложение будет тормозить. Часто приходится поумерить свой пыл, не кидаться фичами, а подумать над стабилизацией. И эти аспекты вашей работы надо помнить и доносить до курирующего проект менеджера.Как оптимизировать свою работу по рефакторингу: один день делаете фичи, еще день — на стабилизацию, третий уйдет на отладку багов. Поэтому в свой road map смело закладывайте неделю на комплексный рефакторинг и тестинг. Осознание этого на начальном этапе поможет не выходить за рамки дедлайна, не работать сверхурочно и больше любить свою работу.Поэтому еще раз. Анализируйте свою аудиторию на этапе старта. Делайте классно, но не вычурно. Действуйте мудро и последовательно. Мыслите масштабно и системно.Таков залог успеха любого дела, и мобильной разработки тоже.
серьезно? fl дает советы?
Ну в принципе если совет как убить проект и потерять 80% аудитории, то наверное норм :D
а конкретно какие тезисы из статьи вызывают вопросы?
Оффтоп: Сарымсаков?! Серьезно?))) впервые вижу такую фамилию. Ты ж татарин?
серьезно :-) наполовину