Владимир Бычко об управлении проектами

запихиваем проекты в треугольники

Тег: терминология

Типовые вопросы для собеседования на технического менеджера проектов

 

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

Что такое DNS?

Domain Name System — это технология, которая позволяет браузеру вроде Firefox, Chrome или Edge найти запрошенный пользователем сайт по его имени. Если быть точным клинически, эта служба позволяет сопоставлять IP-адрес сервера с доменным именем. 

Каждому имени сайта соответствует набор цифр формата 000.000.000.000. Этот набор называется IP-адресом, примером реального IP-адреса является 192.168.0.154 или 203.113.89.134. Когда пользователь вводит в адресной строке браузера имя сайта, например google.com, компьютер запрашивает IP-адрес этого сайта на специальном DNS-сервере и после получения корректного ответа открывает сам сайт.

Вопрос со звёздочкой. Как происходит сопоставление IP-адреса и сайта, если на одном сервере несколько сайтов?

DNS-серверы отвечают за то, чтобы несколько доменов вели на IP-адрес, а веб-сервер с помощью механизма виртуальных хостов распределяет к какому из сайтов.

Теперь детали, как это работает. В частности, протокол HTTP 1.1 включает в себя заголовок, называемый «host:», который указывает, к какому веб-сайту на конкретном сервере клиент пытается получить доступ.

Таким образом, если snoopy.net и woodstock.org совместно используют 192.0.32.10 и ваш браузер пытается получить контент из http://snoopy.net/doghouse конкретного http-запроса, он будет выглядеть так:

GET /doghouse HTTP/1.1
Host: snoopy.net

Если желаемым URL является http://woodstock.org/seeds запрос будет выглядеть

GET /seeds HTTP/1.1
Host: woodstock.org

В обоих случаях между вашим компьютером и портом 80 сервера будет TCP-сокет. Сервер будет знать, как получить содержимое из /var/www/snoopy.net или /var/www/woodstock.org/ на основе заголовка Host.

Были бы другие заголовки для файлов cookie и другие вещи, такие как тип браузера и разрешенный контент, но именно заголовок «Host» — это то, что позволяет веб-серверу знать, какой виртуальный веб-сайт желателен.

Что такое кэш?

Кэш — это память с большей скоростью доступа, предназначенная для ускорения обращения к данным, содержащимся постоянно в памяти с меньшей скоростью доступа («основная память»). Кэширование применяется ЦПУ, жёсткими дисками, браузерами, веб-серверами, службами DNS и WINS.

Вопрос со звёздочкой. Какие уровни кеша существуют в вебе? 

Есть пять уровней кэша:

Клиентские

Ускорение получения веб-контента от веб-сайтов (браузеры или устройства)

DNS

Определение IP-адреса для домена

Интернет

Ускорение получения веб-контента от серверов веб-приложений Управление веб-сеансами (на стороне сервера)

Приложение

Повышение производительности приложений и ускорение доступа к данным

База данных

Сокращение задержек, связанных с запросами к базе данных

Что такое https?

HTTPS (аббр. от англ. HyperText Transfer Protocol Secure) — расширение протокола HTTP для поддержки шифрования в целях повышения безопасности. Данные в протоколе HTTPS передаются поверх криптографических протоколов TLS или устаревшего в 2015 году SSL. В отличие от HTTP с TCP-портом 80, для HTTPS по умолчанию используется TCP-порт 443.

Протокол был разработан компанией Netscape Communications для браузера Netscape Navigator в 1994 году.

(далее…)

О проектных ролях

В окружении проекта можно выделить следующие роли:

  • Спонсор
  • Заказчик и пользователи
  • Менеджер проекта
  • Команда
  • Другие участники

Спонсор — лицо или группа лиц, снабжающее проект ресурсами.

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

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

Проясню ещё раз. Заказчик и спонсор — в 99 % случаев разные люди. Даже во внутренних проектах.

Заказчик и пользователи — лицо или группа лиц, которые будут использовать результаты проекта (чаще всего это продукт).

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

Команда — лицо или группа лиц, которые выполняют проектные работы для достижения целей проекта.

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

Мне доводилось работать в аутсорсной диджитал-студии на проектах, которые не влезали в основную воронку и мне приходилось привлекать для них внешних исполнителей. Со стороны компании же привлекались два человека — андроид тимлид и старший бэкенд разработчик. Они не выполняли проектные работы, а осуществляли консультирование, первый в виде код ревью, а второй мудрыми советами внешнему бэкендеру, как правильно организовать бэкенд. Таким образом, эти два человека были членами рабочей группы, но не членами команды проекта.

Итак, команда — это сотрудники, которые будут писать код, тянуть сеть, таскать кирпичи и производить другие проектные работы.

Менеджер проекта — лицо, осуществляющее управление проектной командой и имеющее в качестве основной цели попадание в проектный треугольник. Формально входит в состав команды.

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


Рассмотрим все перечисленные термины в контексте местонахождения относительно проектного треугольника.

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

Спонсор всегда снаружи. Ему нужен результат. Например, корпоративный мессенджер себестоимостью не более 10 миллионов рублей, отвечающий таким-то критериям качества. Спонсор не должен хвататься за проектный руль и мешать менеджеру осуществлять оперативное управление. При этом менеджер может и должен периодически информировать спонсора о ходе проекта. Спонсор, в отличие от менеджера, может принять решение об изменении одной сторон проектного треугольника — договориться о глобальном переносе сроков, дать дополнительные ресурсы, урезать или наоборот, ужесточить требования к качеству.

Заказчики и пользователи находятся ещё дальше от проектного треугольника и детали проекта их интересуют ещё меньше, они ждут определённый результат к определённому сроку.