Лучше всего рассматривать структуру команды в компаниях от 10 человек. В ней, как правило, также есть и второстепенные функции (бухгалтерия, юристы, клининг и т. д.). Их чаще всего отдают на аутсорс. Кроме того, в компании должны быть продавцы, маркетологи и HR.
На начальном этапе директор может справляться с частью функций сам (продавать, продвигать услуги, искать и нанимать сотрудников). Такая ситуация характерна, прежде всего, для стартапов, где команда может брать на себя все функции сразу. Так как это недавно запущенный проект, и его цель – окупить инвестиции и получить прибыль в максимально короткие сроки, директор может быть и продавцом, и разработчиком, и курьером. Однако чаще всего там уже есть деление на сферы ответственности. Например, в команде LICA (разрабатывают ИТ-продукт по подбору станков и тканей для текстильной промышленности), которую я курирую на программе Moove, кто-то взял на себя роль CEO, кто-то — CTO, а кто-то занялся продажами и общением с клиентами.
Менеджер проекта — ключевые качества
Ребята сами поделили сферы ответственности, исходя из компетенций и собственного опыта. Попытки перекинуть непрофильные задачи на других членов команды приводили к конфликтам (так, например, обзвон базы клиентов для технического специалиста был проблемой, он отказывался это делать). В итоге пришли к тому, что у каждого есть своя сфера ответственности и задачи изначально делятся по этим сферам.
По мере роста компании необходимо выделять под каждую функцию отдельного сотрудника. В классической компании, занимающейся разработкой программного обеспечения под заказ, так и происходит. Нагляднее всего это видно на этапах создания ПО.
Этапы создания ПО:
- создание концепции/ТЗ;
- проработка архитектуры программного обеспечения;
- создание технической документации;
- реализация проекта;
- тестирование и приемка;
- внедрение;
- техническая поддержка.
На каждом этапе должен быть свой отдел со своими задачами:
- проектный офис;
- отдел проектирования программного обеспечения;
- отдел тестирования и документирования;
- отдел разработки;
- отдел внедрения и сопровождения.
Основной состав группы — это специалисты, полностью занятые в создании нового программного продукта:
- менеджеры проекта;
- программисты;
- тестировщики;
- разработчики документации;
- инженерные психологи;
- технологи по разработке ПО.
Вспомогательная группа — это специалисты, не занимающиеся созданием программ, но, тем не менее, играющие важную роль в реализации проекта:
- группа менеджмента и маркетинга продукта;
- специалисты по технической поддержке ПО;
- администраторы бета-тестирования.
По сути в любой команде, занимающейся разработкой продукта, можно выделить следующие роли в команде:
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-профессий.
Одна из них – это системный архитектор, который в нашей стране стал востребованным более 10 лет назад и должен заниматься проектированием информационных систем.
В этой статья будет подробно рассмотрена эта сфера деятельности.
Суть профессии
В обязанности системного архитектора входит формирование IT-системы с нуля и до конца с анализом всех деталей и мелочей. Основная его задача – решение бизнес-проблем различных компаний посредством решений в сфере IT. Кроме того, архитектор в обязательном порядке отслеживает ход выполнения проекта.
Должностные обязанности системного архитектора
Обязанности у человека этой профессии разнообразные и разноплановые. Он занимается:
- Аналитика проекта и окружения.
- Анализ БД, ИС и отдельных процессов.
- Анализ материала, который запрашивает клиент.
- Оценка архитектурных систем и их конфигурации, а также БД.
- Поиск выбор подходов, формирование требований, выбор спецификаций и стандартов.
- Сбор и анализ требований к компонентам системы.
- Оценка возможностей, перспектив и рисков проекта.
- Определение потребностей в ресурсах для внедрения и реализации проектов.
- Разработка проектной документации.
Кроме того, есть еще ряд требований к профессии:
- Проектирование БД, ИС и ПО.
- Разработка ТЗ для различных проектов + их экономическое обоснование.
- Подготовка концепции и стратегии, а также методов реализации проектов.
- Формирование архитектуры ПО, алгоритмов работы программного обеспечения и технологии обработки информации.
- Адаптация к текущей организационной структуре.
- Координация команды исполнителей по проекту.
- Контроль всех этапов выполнения работ.
- Контроль внедрения в систему принятых решений.
- Консультации с пользователями.
- Контроль выполнения решений.
- Создание системной архитектуры.
- Проверка качества установленного ПО.
Системные архитекторы незаменимы и необходимы не в каждой компании, а только в той, где развернута сеть, нуждающаяся в тонкой отладке. В маленьких ИТ-компаниях вместо архитектора вполне достойно сможет справиться программист или другой специалист, который разбирается в ИТ.
Системному архитектору приходится работать с колоссальными массивами документов – требуется формировать и продумывать документы по эксплуатации информационных систем, работать с технической и проектной документацией. Всю отчетную документацию нудно предоставлять четко в установленные сроки.
Должностные обязанности системного архитектора, как правило, прописываются или оговариваются в инструкциях, однако будет не лишним описать области его персональной ответственности:
- Невыполнение или ненадлежащее выполнение прямых должностных обязанностей.
- Причинение вреда компании своим бездействием или ненадлежащим действием.
- Разглашение конфиденциальной информации.
- Нарушение правил внутреннего трудового распорядка и т.п.
Soft skills системного архитектора
Хотя этот специалист должен иметь все описанные выше профессиональные навыки, есть также требования непосредственно к его человеческим качествам.
- Аналитическое мышление.
- Усидчивость и терпеливость.
- Высокая ответственность.
- Любознательность и постоянное желание развиваться.
- Навыки работы с документами.
- Умение разбираться с бизнес-процессами предприятия.
- Личная дисциплина.
- Коммуникативные навыки и умение работать в команде.
- Навыки лидера.
В процессе трудоустройства решающими для приема на работу станут как профессиональные, так и личностные качества. Их удачное сочетание даст максимальную вероятность устроиться на высокооплачиваемую работу.
Преимущества и недостатки профессии
В любой ИТ-профессии, а тем более у системного архитектора, есть и плюсы, и минусы. До того, как пойти на эту работу, нужно всесторонне оценить собственные навыки и способности.
Преимущества:
- Высокая заработная плата.
- Востребованность на рынке труда.
- Постоянное саморазвитие и профессиональный рост.
Недостатки:
- Необходимость в выполнении рутинных операций.
- Колоссальная стрессоустойчивость.
Можно уверенно говорить, что по совокупному сравнению преимущества профессии существенно перевешивают ее недостатки.
Как учиться на системного архитектора
Чтобы освоить эту профессию, нужно получить опыт и профессиональные навыки в программировании, но это лишь первоначальная стадия на пути к должности системного инженера организации. Должностные обязанности формируются согласно накопленным знаниям.
Стоит отметить, что системные архитекторы получают образование не только в высших учебных заведениях, но и непосредственно на работе и при прохождении специализированных курсов.
Заработная плата системного архитектора
Вакансию системного архитектора можно встретить, но не так часто как другие ИТ-профессии. ПО этой причине даже в региональных запросах на эту должность можно встретить предложения с ЗП от 70 000 рублей в месяц, а в Москве и Санкт-Петербурге – от 120 000 рублей в месяц.
Естественно, что претенденты на столь достойную оплату труда должны на 100 % соответствовать предъявляемым требованиям:
- Только высшее образование (техническое или ИТ).
- Глубокие познания в программировании, архитектуре ПО, знание популярных и новых языков программирования.
- Знание английского языка на уровне не ниже Intermediate для чтения технической документации.
- Опыт работы минимум три года.
При наличии такого «набора» можно рассчитывать на трудоустройство в крупную технологическую компанию.
Источник: sergeysmirnovblog.ru
Роли в IT проектах. Те, кто все это создает
Рассмотрим роли в IT проектах, которые имеют непосредственное отношение к разработке продукта. Стоит отметить, что в небольших компаниях часто один человек выполняет сразу несколько ролей, это совершенно нормальная история.
Менеджер продукта (Product Manager)
Задает стратегию развития продукта. Знает все о желаниях потребителя, предугадывает, что будет с рынком, на который рассчитан его продукт, живет и дышит своим продуктом.
Хорошо владеет контекстом продукта с точки зрения потребителя, но не погружается в технологический контекст, он отличный аналитик, при этом имеющий в голове кучу нестандартных в области своего контекста идей и фишек.
Менеджер проекта (Project Manager)
Руководитель проектной команды, ответственный за управление проектом, достижение целей проекта в рамках бюджета, в срок и с заданным уровнем качества.
Отличие продукт менеджера от проджект менеджера в том, что первый придумывает, какие новые функции добавить в продукт, а второ й ставит задачи своим подчиненным реализовать новые функции и сообщает продукт менеджеру о сроках, когда эти функции будут готовы.
Простыми словами, продукт менеджер решает ЧТО сделать, проджект менеджер отвечает за КОГДА и КАК сделать.
Архитектор (Architect)
Ключевая обязанность архитектора — проектирование архитектуры ПО, т.е. принятие ключевых проектных решений относительно внутреннего устройства программной системы и её технических интерфейсов.
Архитектор определяет конструкцию ПО, из каких элементов она состоит и как эти элементы связываются между собой. При этом архитектор учитывает, что с точки зрения бизнеса должна выполнять системы, и строит свою модель на основе лучших мировых практик разработки ПО.
Архитектору важно построить такую схему, чтобы продукт работал достаточно быстро, умел восстанавливаться после сбоев, чтобы его было легко поддерживать и развивать, чтобы его непросто было взломать и т.д.
Часто архитектуру представляют в виде схемы, где показано взаимодействие элементов системы, их связи, а также создается документ, в котором описываются все особенности построения системы.
Бизнес Аналитик (Business Analyst)
Напрямую общается с заказчиками продукта и выясняет их пожелания и требования. Задача бизнес аналитика верхнеуровнево понять, чего хочет заказчик, как он видит продукт, который будет разрабатываться, какая цель у продукта и какие задачи он будет решать. На момент общения с заказчиком бизнес аналитик может предлагать свои идеи по улучшению продукта и совместно с заказчиком формировать так называемый vision.
Видение проекта или Концепция или Vision — это описание сути будущего продукта. В этом документе описывается что это за продукт, каковы цели и задачи его создания, кто его пользователи и каковы основные возможности будущей системы.
Системный аналитик (System Analyst)
Занимается, в основном, анализом данных и принятием решений о том, как будет работать система, какие методы будут использоваться, а также написанием основных технических документов (техническое задание или ТЗ, спецификации). Важная часть работы — функциональный анализ, в результате которого выделяется перечень функций, которые должна выполнять система, а также определение требований к системе.
Если задача бизнес аналитика понять, как в целом будет выглядеть и функционировать система, то задача системного аналитика детально расписать все функции этой системы и ее поведение в различных вариантах использования.
Технический писатель (Technical writer)
Специалист, который занимается составлением документации в рамках разработки различных программ. Это люди, которые призваны помогать нам овладевать новыми технологиями, будь то модное устройство, либо же какая-нибудь новая программа. От этих людей отчасти зависит успех новинки, ведь именно им нужно убедить читателя в пользе этой новинки и объяснить, как ей пользоваться.
Результат работы технического писателя – инструкция по эксплуатации системы, причем как для внешних пользователей, так и для сотрудников, обеспечивающих поддержку системы.
Проектировщик
Занимается построением макетов создаваемой системы с учетом удобства ее использования, превращает описанные в ТЗ функции в панели инструментов, кнопки, поля, таблицы и прочее, что видит и с чем взаимодействует пользователь. Результат его работы – макет, как правило черно-белый без графических элементов, который показывает расположение элементов интерфейса и возможные переходы между элементами и страницами (экранами) продукта. Пример макета ниже на картинке.
Дизайнер (Designer)
Дизайнер прорабатывает все элементы макетов системы, определяя форму, цвета, размер элементов, шрифты, прорисовывают графические элементы (картинки, баннеры, логотип), которые должны присутствовать в нашем продукте.
Простыми словами, дизайнер берет черно-белый макет проектировщика и заливает его красками. Пример такого макета ниже на картинке.
Верстальщик (Web developer / Front end developer)
Специалист, выполняющий вёрстку web-страниц. Он оживляет макеты дизайнера, делая элементы интерфейса доступными для нажатия и взаимодействия. С помощью специального языка разметки HTML и CSS верстальщик задает правила, как браузеру отображать элементы на web-страницах, причем с учетом того, что размер монитора у всех пользователей разный и браузеры по-разному отображают те или иные элементы.
Благодаря верстальщикам на сайтах появляются красивые эффекты нажатия на кнопку (и другие!), текст выровнен по правильному краю, а сайтом удобно пользоваться как с ноутбука, так и с мобильного телефона.
Ошибки в верстке случаются очень часто, кладезь для тестировщика
Разработчик / Программист (Developer)
Специалист, занимающийся разработкой программного обеспечения (ПО) для персональных, встраиваемых, промышленных и других разновидностей компьютеров. Человек, благодаря которому у тестировщиков всегда будет работа!
Разработчик реализует написанные аналитиком требования. Его задача воплотить в жизнь все функции, которая должна уметь делать система.
Обычно разработчиков делят на Front end и Back End.
Front end – это внешний вид программы, с чем непосредственно взаимодействует пользователь. По факту Front end разработчик – это верстальщик, о котором было написано ранее (п. 9).
Back end – это логика, которую не видит пользователь, но благодаря которой все функции системы выполняются верно. back end производит обработку пользовательской информации, полученной из front end, и возвращает front end’у результат в понятной форме.
Например, регистрация на сайте. Front end разработчик сделает красивую форму и разместит ее в нужное место на сайте. Back end разработчик реализует логику, по которой после заполнения полей и нажатия на кнопку “Регистрация”, данные о вашей учетной записи будут занесены в базу данных в правильные поля, а также сделает проверку, благодаря которой вы не сможете 2 раза зарегистрироваться в системе на один и тот же email.
Тестировщик (Testing Engineer)
Специалист, который занимается тестированием программного обеспечения (ПО) с целью выявления ошибок в его работе и их последующего исправления
Локализатор
Специалист, занимающийся адаптацией ПО к национальным особенностям страны (язык, менталитет). Роль актуальна, если ваш продукт будет распространяться не только в России, но и других странах. Важно не только перевести все слова и предложения, которые используются в вашем продукте на нужные языки, но и посмотреть как слова на разных языках впишутся в ваш интерфейс.
Если на русском языке слово “утро” состоит из 4 букв, то на эстонском “hommikul”p 8 букв. Вдруг эти 8 букв не уместятся в вашем интерфейсе. Особенно надо быть внимательными с арабским языком (слева направо, а не справа налево), с иероглифами.
Заказчик (Customer)
Сторона, заинтересованная в осуществлении проекта и достижении его целей. Будущий владелец результатов проекта. Заказчик определяет основные требования к результатам проекта, обеспечивает финансирование проекта за счет своих или привлекаемых средств, может заключать контракты с основными исполнителями проекта.
Пользователи (Users)
Юридические и физические лица, являющиеся покупателями и пользователями результата проекта, определяющие требования к производимой продукции и оказываемым услугам, формирующие спрос на них.
Заинтересованные лица (Stakeholders)
Физические лица или организации, имеющие права, долю, требования или интересы относительно разрабатываемой системы. К заинтересованным лицам относят и заказчика и пользователей, и всех, кто так и иначе ждет реализации вашего продукта.
Источник: rocketbrain.ru