Лучше всего рассматривать структуру команды в компаниях от 10 человек. В ней, как правило, также есть и второстепенные функции (бухгалтерия, юристы, клининг и т. д.). Их чаще всего отдают на аутсорс. Кроме того, в компании должны быть продавцы, маркетологи и HR.
На начальном этапе директор может справляться с частью функций сам (продавать, продвигать услуги, искать и нанимать сотрудников). Такая ситуация характерна, прежде всего, для стартапов, где команда может брать на себя все функции сразу. Так как это недавно запущенный проект, и его цель – окупить инвестиции и получить прибыль в максимально короткие сроки, директор может быть и продавцом, и разработчиком, и курьером. Однако чаще всего там уже есть деление на сферы ответственности. Например, в команде LICA (разрабатывают ИТ-продукт по подбору станков и тканей для текстильной промышленности), которую я курирую на программе Moove, кто-то взял на себя роль CEO, кто-то — CTO, а кто-то занялся продажами и общением с клиентами.
Бизнес говорит. Бизнес процессы и технологии
Ребята сами поделили сферы ответственности, исходя из компетенций и собственного опыта. Попытки перекинуть непрофильные задачи на других членов команды приводили к конфликтам (так, например, обзвон базы клиентов для технического специалиста был проблемой, он отказывался это делать). В итоге пришли к тому, что у каждого есть своя сфера ответственности и задачи изначально делятся по этим сферам.
По мере роста компании необходимо выделять под каждую функцию отдельного сотрудника. В классической компании, занимающейся разработкой программного обеспечения под заказ, так и происходит. Нагляднее всего это видно на этапах создания ПО.
Этапы создания ПО:
- создание концепции/ТЗ;
- проработка архитектуры программного обеспечения;
- создание технической документации;
- реализация проекта;
- тестирование и приемка;
- внедрение;
- техническая поддержка.
На каждом этапе должен быть свой отдел со своими задачами:
- проектный офис;
- отдел проектирования программного обеспечения;
- отдел тестирования и документирования;
- отдел разработки;
- отдел внедрения и сопровождения.
Основной состав группы — это специалисты, полностью занятые в создании нового программного продукта:
- менеджеры проекта;
- программисты;
- тестировщики;
- разработчики документации;
- инженерные психологи;
- технологи по разработке ПО.
Вспомогательная группа — это специалисты, не занимающиеся созданием программ, но, тем не менее, играющие важную роль в реализации проекта:
Как устроен процесс разработки? ДЛЯ НОВИЧКОВ / Про IT / Geekbrains
- группа менеджмента и маркетинга продукта;
- специалисты по технической поддержке ПО;
- администраторы бета-тестирования.
По сути в любой команде, занимающейся разработкой продукта, можно выделить следующие роли в команде:
Developer
Занимается производством программных продуктов.
Это роль исполнителя: руководитель ставит задачу на автоматизацию того или иного процесса, разработчик ее выполняет. Эта роль часто сегментируется:
по разделению ответственности:
- Backend developer — разработчик программно-аппаратной части комплексного ПО;
- Frontend developer — разработчик клиентской стороны пользовательского интерфейса к программно-аппаратной части.
- Web;
- Mobile;
- Server-Side;
- и так далее.
User Experience Designer (UX)
Занимается производством карт пользовательского опыта.
Подходы и инструменты для разработки пользовательского интерфейса
Этот человек изучает и оценивает, как пользователи относятся к разрабатываемому программному обеспечению. На нем лежит ответственность за то, чтобы продукт был прост в использовании, восприятии ценности, полезности и эффективности. Он продумывает и оценивает процессы и сценарии использования ПО.
Эту роль ошибочно путают, а порою и совмещают с ролью UI Designer. UX и UI Designer отличаются не только предметной областью, но и спецификой мышления. UX Designer больше про аналитику и систематизацию, чем про эргономику и эстетику.
User Interface Designer (UI)
Занимается производством графической составляющей интерфейсов.
Этот человек разрабатывает визуальную часть пользовательского интерфейса. Основными целями работы UI дизайнера являются: интуитивность восприятия, простота, юзабилити и эстетика интерфейса ПО.
Quality Assurance (QA)
Занимается проверкой результата.
Как полюбить тестирование ПО и зачем это делать
QA занимается тестированием всего, как бы странно это ни звучало.
Системный подход специалиста QA позволяет тестировать как программный код, так и продуманность карт пользовательского опыта.
Human Resource (HR)
Занимается первичным подбором кандидатов.
Он обеспечивает прозрачное прохождение всех этапов собеседований при трудоустройстве.
Team Leader
Отвечает за работу группы специалистов.
Team Leader обеспечивает комфортные условия работы коллектива и поддерживает высокий уровень эффективности команды. Этот человек не обязательно должен знать специфику работы команды досконально. Например, Team Leader в группе разработчиков не обязан быть программистом, ему достаточно понимать как организовать работу, понимать процессы, протекающие во время производства.
Но на практике исторически сложилось, что на эту позицию ставят самых прокачанных программистов, что является классической ошибкой управления.
Tech Leader
Отвечает за грамотный аргументированный выбор технических решений:
- Ответственный выбор стороннего ПО для проекта;
- Рекомендация по выбору конкретного алгоритма или архитектурного решения при производстве ПО;
- Определение технических особенностей в процессах производства.
Scrum Master
Scrum, Agile, KanBan, гибкие методологии, и прочие теоретические знания, которые крайне бесполезны без практики и опыта.
Scrum Master — это специалист, который помогает команде применять методологию Scrum правильно, объясняет правила методологии, контролирует их выполнение. Сейчас к командам разработки стали прикреплять роль Scram Master. Он отвечает за грамотное применение той или иной гибкой методологии (бывает, что даже той, которая не касается Scrum вообще).
Project Manager (PjM)
Отвечает за старт, ведение и сдачу проектных работ.
Эта роль классического управленца процессами. Работа над проектом начинается с Project Manager’а, ведётся (ставит задачи), контролируется (контроль качества и эффективности) и сдаётся тоже им. В большинстве компаний Project Manager управляет проектным фондом.
Архитектор (Architect)
Ключевая обязанность архитектора — проектирование архитектуры ПО, т. е. принятие ключевых проектных решений относительно внутреннего устройства программной системы и её технических интерфейсов.
Бизнес Аналитик (Business Analyst)
Напрямую общается с заказчиками продукта и выясняет их пожелания и требования. Задача бизнес аналитика верхнеуровнево понять, чего хочет заказчик, как он видит продукт, который будет разрабатывать команда, цель у продукта и какие задачи он будет решать. На момент общения с заказчиком бизнес аналитик может предлагать свои идеи по улучшению продукта и совместно с заказчиком формировать так называемый vision.
Системный аналитик (System Analyst)
Занимается, в основном, анализом данных и принятием решений о том, как будет работать система, какие методы будут использоваться, а также написанием основных технических документов (техническое задание или ТЗ, спецификации). Важная часть работы — функциональный анализ, в результате которого выделяется перечень функций, которые должна выполнять система, а также определение требований к системе.
Технический писатель (Technical writer)
Специалист, который занимается составлением документации в рамках разработки различных программ. Это люди, которые призваны помогать нам овладевать новыми технологиями, будь то модное устройство или новая программа. От них отчасти зависит успех новинки, ведь именно им нужно убедить потенциального покупателя в пользе этой новинки и объяснить, как ей пользоваться.
Источник: tproger.ru
Команда для разработки мобильных приложений
Главный ресурс для IT-компании — люди. Чтобы собрать команду для разработки приложения, необходимо потратить много времени на подбор и “выращивание” персонала.
В этой статье мы расскажем, кто работает над мобильными проектами, и какими навыками должны обладать стоящие специалисты.
Проектный менеджер
В идеале — многорукий, всезнающий Шива. На практике — просто специалист, отвечающий за постановку задач, организацию коммуникации внутри команды, ведение документации. Обычно ко всему на ПМ-а также ложится связь с клиентом, оценка бюджета проекта.
Проектный менеджер следит за соблюдением сроков и качества разработки. Проводит регулярные встречи с командой и заказчиком для решения оперативных вопросов.
ПМ не обязан самостоятельно разбираться в написании кода или настройке серверов. Для руководителя проекта важнее soft-skills — коммуникабельность, гибкость, креативность, критическое мышление. Менеджер — это лицо компании. От умения ПМ-а найти общий язык с заказчиком во многом зависит успешность проекта.
Из hard-skills проектный менеджер должен обладать знанием методологий Scrum и Agile, а также инструментов для их применения на практике, таких как Trello или Jira.
Front-end разработчик
Создает внешнюю часть проекта, с которой взаимодействует пользователь. Превращает нарисованный макет в функциональную программу. Для мобильного фронтендера важно знание языков программирования — Java, Kotlin, Swift. Часто приложения делаются на платформах и фреймворках — Flutter, Unity, React Native. Иногда Front-end разработчики специализируются конкретно на iOS или Android.
Но чаще практикуется кроссплатформенная разработка.
Среди используемых языков во фронтенде лидируют JavaScript и TypeScript. Но все же инструменты в mobile dev подбираются под конкретный проект.
Back-end разработчик
Боец невидимого фронта. Настраивает серверную часть приложения. Обеспечивает правильное хранение данных, подключает платежные системы и другие внешние сервисы, работает с базами данных.
Основные рабочие инструменты бэкендера — языки PHP, Python, .NET. Преимуществом будет знание системы управления версиями Git.
Главная задача Back-end разработчика — обеспечение стабильности работы приложения. Из-за неправильно рассчитанной нагрузки на сервер пользователи просто не смогут получить к нему доступ. Быстродействие ПО — также ответственность бэкендера.
Дизайнер
Опытный дизайнер — это не только художник, но также немного психолог. Для построения качественного UX (User Experience) дизайна специалист должен понимать потребности и проблемы пользователей. Задача UX — провести человека из точки А в точку B кратчайшим путем, чтобы решить конкретную задачу — покупка товара, регистрация на мероприятие, получение информации.
UI (User Interface) дизайн — это про вид кнопок, фонов, других элементов интерфейса. UI и UX тесно связаны. Если в сценарии пользователь кликает по определенной ссылке — необходимо сделать эту ссылку заметной, разместить ее в правильном месте.
Важные компетенции для UI/UX дизайнера — владение программами Figma, Sketch, Photoshop, любыми другими средствами для создания макетов или отрисовки элементов интерфейса.
QA инженер, тестировщик
Ловец “багов”, обеспечивающий точную, безошибочную работу продукта на стадии релиза. Он проверяет как техническую сторону приложения, так и его функциональность, удобство для пользователя.
QA инженер прописывает ход тестирования, проводит автоматические или ручные тесты, составляет отчеты об ошибках. Для такого специалиста важно поддерживать связь с разработчиками и дизайнерами приложения, чтобы своевременно доносить информацию об уязвимостях ПО, возможных путях улучшения разработки.
Не замеченные создателями ошибки в финальной версии приложения крайне негативно скажутся на его репутации. Поэтому тестировщик — важный участник команды разработки.
Основные hard-skills инженера тестирования — знание TestComplete, Selenium и подобных инструментов, язык SQL, понимание принципов работы баз данных, умение провести нагрузочное тестирование.
Немаловажны и soft-skills — аналитический склад ума, внимательность, коммуникабельность.
Маркетолог, бизнес-аналитик
Без полноценного продвижения приложения вряд ли удастся достичь высоких бизнес-показателей, какой бы крутой, инновационной ни была идея заказчика. Поэтому маркетинг лучше всего начинать уже на этапе разработки.
В предрелизной стадии маркетолог оценивает целевую аудиторию проекта, изучает рынок, прорабатывает каналы коммуникации, готовит маркетинг-кит продукта.
Результаты предварительных исследований передаются проектному менеджеру и дизайнеру для учета в процессе разработки.
Кроме знания основных инструментов интернет-маркетинга и аналитики — Google Analytics, Ahrefs, ROIStat, GoogleAds — специалист должен разбираться в PR-е, ASO, генерации контента.
Этапы разработки и роли в команде
Заключение
Команда для разработки веб приложения или мобильного ПО состоит из проектного менеджера, дизайнеров, разработчиков фронтенда и бэкенда, маркетологов. Количество специалистов каждой из специальностей на конкретный проект рассчитывается исходя из объемов работ. За выстраивание и контроль процесса разработки отвечает проектный менеджер, который работает в тесной связке с клиентом и всеми членами команды.
Источник: app-android.ru
6 ключевых ролей в команде разработки программного обеспечения
Имидж профессионалов IT сферы в массовой культуре кардинально изменился за последние годы. Абсурдные стереотипы ушли в прошлое, а программисты стали настоящей элитой 2010-х.
Однако, когда мы говорим о профессионалах в IT сфере, мы должны говорить не только о программистах. IT проекты требуют участия различных специалистов, и не только с техническим образованием.
В Smartum Pro мы работаем с проектами из различных индустрий, таких как здравоохранение, логистика, электронное обучение и др., для которых необходимы различные подходы, но при этом основные аспекты нашего процесса разработки веб и мобильных приложений остаются неизменными.
Наша команда включает в себя профессионалов с различными ролями, которые работают для получения лучшего решения, удовлетворяющего целям и требованиям клиента.
В данной статье мы поговорим о 6 ключевых профессиональных ролях, необходимых для проекта разработки качественного мобильного или веб приложения.
Бизнес-аналитик
Бизнес-аналитик вовлечен в проект с первой стадии, сразу после заключения сделки, а иногда даже до нее. Главная обязанность бизнес-аналитика заключается в коммуникации как с клиентом, так и с командой разработчиков.
Заказчики обычно думают в первую очередь о своих целях. Программисты же думают о функциях и коде, фокусируясь на том, как сделать то, что хочет клиент, и решить его задачи.
Но между целями клиента и функциями приложения лежит целая пропасть. Следовательно, бизнес-аналитик (сокращенно БA) должен точно определить, что хочет заказчик и что ему нужно.
БA собирает требования клиента к желаемому продукту, анализирует то, как он должен выглядеть и какие функции нужно включить в разработку, а также зачем и как это должно быть сделано.
Бизнес-аналитик также проводит исследование конкурентов вместе со специалистами в области маркетинга для обеспечения устойчивости продукта на рынке и его конкурентоспособности с уже существующими продуктами.
Бизнес-аналитик также определяет целевую аудиторию продукта, создает пользовательских персонажей, вайрфреймы и пишет техническое задание, если оно не было полностью предоставлено клиентом.
Таким образом, роль бизнес-аналитика заключается в планировании оптимального процесса разработки, интерпретации требований заказчика, подготовке документации и осуществления эффективной коммуникации между клиентом и командой.
Менеджер проекта
Когда требования клиента определены и правильно интерпретированы, в процесс разработки подключается менеджер проекта (сокращенно PM). Его основная задача заключается в управлении проектом, как следует из названия профессии.
Чтобы точнее объяснить роль PM, давайте рассмотрим его основные задачи. Как и бизнес-аналитик, менеджер проекта также может быть включен в коммуникацию с клиентом, однако главной задачей PM является работа непосредственно с командой разработчиков программного обеспечения.
Менеджер проекта распределяет задачи между ними, планирует ход работы, мотивирует команду, контролирует процесс и координирует общие действия. Также он несет ответственность за тайм-менеджмент, управление рисками и действия в случае непредвиденных ситуаций.
PM следит за тем, чтобы процесс разработки шел по плану. В гибких методологиях это также подразумевает то, что изменения, которые необходимо внести в проект, внедряются корректно, так что клиент может быстро и легко утвердить их, а команда не делает лишней работы.
UI/UX дизайнер
Это тот человек, от которого идет большая часть креативности в проекте. Главная ответственность UI/UX дизайнера заключается в создании приятного интерфейса и отличного пользовательского опыта.
Дизайнер использует вайрфреймы, созданные клиентом или бизнес-аналитиком, чтобы “нарисовать” мокапы и создать дизайн интерфейса мобильного приложения (UI) согласно действующим гайдлайнам и трендам. Он также планирует пользовательский опыт, который сделает продукт удобным для использования.
В Smartum Pro наши дизайнеры применяют InVision для создания динамических прототипов, которые отражают поведение и внешний вид будущего продукта, позволяя протестировать прототип на реальном устройстве до начала процесса разработки.
Клиенту удобно видеть модель приложения, а программистам прототип просто необходим, чтобы написать код. Это как дизайн-проект комнаты для профессионалов, которые будут её декорировать — необходимо видеть, что должно получиться в результате работы. Наши дизайнеры в Smartum Pro также предоставляют графические элементы для магазинов приложений, мокапы и логотипы.
Разработчики/программисты
Это ядро команды, люди со специфической областью экспертизы. Программисты — это словно переводчики, которые переводят язык человека и язык графики в язык цифровых технологий, которые понятны компьютерам и устройствам, что позволяет выполнять то, что хочет клиент.
Существуют различные уровни в команде разработчиков программного обеспечения, включающие junior, middle и senior уровни, которые зависят от опыта работы и уровня экспертизы.
Программисты также имеют различные области экспертизы, они пишут на различных языках и работают с различными платформами. Поэтому и существует такое “разнообразие” разработчиков, вовлеченных в один проект. Например, стандартный проект разработки мобильного приложения требует участия как минимум Android, iOS и backend-разработчиков.
QA (Quality Assurance) специалисты необходимы для каждого процесса разработки и обеспечения высокого качества продукта. Они тестируют его, проходят через все приложение и определяют баги и ошибки с последующим предоставлением отчета команде разработки, которая проводит их исправление.
Необходимо выявить ошибки до того, как продукт попадет к пользователям, чтобы сохранить лицо продукта и обеспечить позитивный пользовательский опыт. Другие обязанности QA-специалистов включают общее тестирование продукта и его соответствие заявленным требованиям.
Специалист по маркетингу
Профессионалы в сфере маркетинга работают с продуктом на стадии до и пост-разработки и являются необходимыми для развития каждого продукта, только если это не система, используемая исключительно внутри компании. Команда разработала отличный продукт, но какой в этом смысл, если никто об этом не узнает?
Таким образом, эти специалисты проводят исследование рынка на первой стадии проекта, определяют целевую аудиторию и изучают ее нужды и предпочтения, а также подготавливают и запускают маркетинговые кампании после выпуска продукта, ищут каналы распространения, занимаются маркетингом в социальных сетях, пишут тексты и статьи, описания продукта (контент-маркетинг) и др., чтобы обеспечить продвижение продукта и его успех.
Специалисты по маркетингу также отвечают за анализ статистики приложени, его дальнейшее развитие и улучшение (подразумевая анализ реакции пользователей, определение функций и того, что нужно сделать в следующей версии)и пр.
Суммируя все вышесказанное, стоит отметить то, что команда разработки программного обеспечения — это не только программисты.
В Smartum Pro работает слаженная команда профессионалов с экспертизой в различных сферах, отвечающих за все стадии разработки мобильных и веб приложений и обеспечивающих создание качественного продукта.
- Share on Twitter
- Share on Facebook
- Share on Google plus
Источник: smartum.pro