2. Structure of IT companies
● Linear (Amazon)
● Functional (Google)
● Divisional (Oracle, Microsoft)
● Networked (Facebook)
● Matrix (often in small enterprises)
● Holacracy (like Apple)
3. Linear - the structure between the elements of which there
are only single-channel interactions, each employee has
only one line manager who performs all administrative and
other functions in the relevant section.
Лінійна – це така структура, між елементами якої існують лише одноканальні взаємодії, кожен
підлеглий має лише одного лінійного керівника, який виконує всі адміністративні та інші функції
у відповідному підрозділі.
4. Functional - the structure, which provides for the
headquarters, but their staff don’t have only advisory rights,
but also the leadership and decision-making rights.
Функціональна – структура, яка передбачає наявність штабів, але їх персонал має не лише
дорадчі права, а й право керівництва і прийняття рішень.
5. Divisional - the structure that isn’t based on
functional features, but on the principles of grouping
production units by products, customer groups and
location.
Дивізіональна – це структура управління, яка будується не за функціональними ознаками, а за
принципами групування виробничих підрозділів за продуктами, групами споживачів, за місцем
розташування.
6. Matrix - the structure that provides for the creation with line
managers and functional management unit the temporary
project groups, that are formed of specialists of functional units
and that build new products.
Матрична – це структура, яка передбачає створення поряд з лінійними керівниками та
функціональним апаратом управління тимчасових проектних груп, які формуються із спеціалістів
функціональних підрозділів і займаються створенням нових видів продуктів.
7. Networked - the hybrid solution which combines three types
of structures (functional, divisional, matrix) and provides a
more efficient option of business separation and the
proportion between autonomy and control.
Сітьова – гібридне рішення, що поєднує три типи структур (функціональну, дивізіональну,
матричну), забезпечуючи більш ефективний варіант розмежування діяльності, а також пропорцію
між автономією та контролем.
8. Holacracy - the system of governance in which command
and decision-making are divided among the teams that self-
organizing, not provided by the management hierarchy
(business model "no management").
- Rapid structural changes.
- The roles instead of positions.
- Distribution rather than delegation.
- Rules rather than policy.
Холакратія – система організації управління, в якій влада і прийняття рішень розподілені поміж
командами, що самоорганізовуються, а не надається згідно управлінської ієрархії (бізнес-модель
«без менеджерів»).
- Швидкі структурні перетворення.
- Ролі замість позицій.
- Розподіл замість делегування.
- Правила замість політики.
9.
10. Functional areas in IT companies
• Development
• Testing (Quality Аssurance)
• Management
14. CPO CR(TI)O
CSO
CFO
CLO — Chief Learning Officer
CMO — Chief Marketing Officer
COO — Chief Operating Officer
CPO — Chief Procurement Officer
CFO — Chief Financial Officer
CHRO — Chief HR Officer
CIO — Chief Information Officer
CKO — Chief Knowledge Officer
CR(TI)O — Chief Research
(Technology Innovation) Officer
CS — Chief Strategist
CSO — Chief Security Officer
COO/CAO CMO
CIO
CKO
GC
CBO
CCO
PRO
CAO — Chief Administrative Officer
CBO — Chief Business Officer
CCO — Chief Commercial Officer
CEO — Chief Executive Officer
CHRO
CTO CLO
CTO — Chief Technology Officer
CVO — Chief Visionary Officer
GC — General Counsel
PRO — Public Relations Officer
CS
CVO
CEO
PR
PROCESSING
ASSURANCE
TECHNOLOGY
PEOPLE
EVOLUTION
SALES
C - L E V E L R E S P O N S I B I L I T Y
16. DEVELOPMENT
MARKET CUSTOMER
Pd
M
BD
PO
PM
BA
SM AM
Strategy Roles Notation:
PdM — Product Manager
PM — Project Manager
AM — Account Manager
PO — Product Owner
SM — Sales Manager
BD — Business Developer
BA — Business Analyst
SA — System Analyst
SAr — System Architect
SAr
SA
Strategy Roles in
Development
17. Product Manager
Product Manager - the person who responsible for the creation of new
products, market analysis, assortment policy, pricing, product promotion,
planning, product requirements, product definition appointment. Actively
interacts with sales, marketing, technical support, manufacturing, etc.
• Doesn’t run the team, but manages product in general.
• Sometimes talking with the developers, usually only with managers.
• Can have several subordinate project teams.
• Don’t operational, but strategic management.
UX - User Experience
Менеджер по продукту - людина, що відповідає за створення нових
продуктів, аналіз ринку, асортиментну політику, ціноутворення,
просування продукту, планування, формування вимог до продукту,
визначення призначення продукту. Активно взаємодіє з продажами,
маркетингом, технічною підтримкою, виробництвом і т.д.
• Керує не командою, а продуктом в цілому.
• Рідко спілкується з розробниками, зазвичай тільки з менеджерами.
• Може мати в підпорядкуванні декілька
проектних команд.
• Не операційний, а стратегічний менеджмент.
18. Project Manager
Project Manager - the specialist whose main task is managing the project as a
whole: design and prioritization, scheduling tasks, control, communications and
rapid problem solving.
• Manages project team (developers, testers, designers, analysts...).
• Manages the development, but doesn’t write the code.
• Allocates tasks, monitors performance.
• Communicates with customer.
• Is responsible for the project.
Менеджер проекту - це фахівець, чиїм головним завданням
є управління проектом в цілому: проектування і розстановка
пріоритетів, планування виконання завдань, контроль,
комунікації, а також оперативне вирішення проблем.
• Керує проектною командою
(розробники, тестувальники, дизайнери, аналітики...).
• Управляє розробкою, але не пише код.
• Розподіляє завдання, відстежує виконання.
• Спілкується з замовником.
• Відповідає за проект.
19. Functions of IT Product
Development
• Developing.
• Software Architecting.
• Team Leading,
etc.
20. Developer
Developer - standard programming position,
which function is developing software.
Career: Junior → Developer → Senior →
whatever?
Senior Developer - the oldest among developers.
21. Software Architect
The Software Architect designs the structure of classes,
components of complex technical solutions.
- Local realities (in Ukraine) - the same thing as senior developer.
- The ability to choose the optimal solution rather than better - the
main task of the architect.
- Applications also need the right foundation and strong decision.
- Architect should always be ready to switch between tasks - this
is the norm for the architect.
Архітектор ПЗ проектує структуру класів, компоненти складного технічного рішення.
У місцевих реаліях - те ж саме, що senior developer.
Уміння вибрати оптимальне рішення замість кращого - основне завдання архітектора.
Додаткам також потрібен правильний фундамент і сильні рішення.
Завжди потрібно бути готовим до перемикання між завданнями - це норма для архітектора.
22. Team Lead(er)
The Team Leader manages a team, but he wrote code (opposed to the
manager), like "playing coach".
- Writes code a little, but reads a lot of it .
- Allocates tasks, monitors their implementation, advises the team.
- The most experienced of all the team.
- Duty of the Team Leader - taking care of his team.
- Mostly organizational issues and communication
in the team, less - technical issues.
Team Lead - керівник команди, керує командою, але при цьому сам
пише код (на відміну від менеджера), тобто «граючий тренер».
Пише коду мало, але багато його читає.
Розподіляє завдання, контролює їх виконання, консультує
команду.
Найдосвідченіший з усієї команди.
Обов'язок керівника - турбота про свою команду.
В основному організаційні питання і комунікація в команді, менше -
технічні питання.
23. Quality Аssurance Еngineer (QA-Engineer)
Інженер з гарантії якості - це фахівець із забезпечення
якості, діяльність якого спрямована на поліпшення процесу
розробки ПЗ, запобігання дефектів і виявлення помилок в
роботі продукту.
Основне завдання - забезпечення якості, запобігання
появі проблем.
Quality Аssurance Еngineer - the
specialist in quality assurance, which
improves the processes of software
development, defect prevention and
error detection in the product.
The main task of the QA - ensuring
quality, preventing problems.
*A bug is an error, failure or fault in a
computer program or system.
24. Other specialties of quality assurance
Quality Control Engineer (QC-Engineer). Analyzes test results
and responsibles for the detection and elimination of defects.
Test Engineer. Checks finished product for errors and non-
compliance, and then documents detected defects and how they
play.
QA Automation Engineer. Provides automated testing, that is
developing another software for product testing.
QC-Engineer - інженер з контролю якості. Аналізує
результати тестування і відповідає за виявлення та
знищення дефектів.
Test Engineer - тестувальник ПЗ. Перевіряє готовий продукт
на наявність помилок і невідповідність вимогам, і потім
документує знайдені дефекти і шляхи їх відтворення.
QA Automation Engineer - тестувальник-автоматизатор.
Здійснює автоматизоване тестування, тобто розроблює
окреме ПЗ для тестування продукту.
25. Technical Writer (Techwriter)
Technical Writer - the specialist who compiles technical
documentation for all kinds of programs and automated
systems (operating instructions and help files for users,
the terms of reference for developers, etc.).
The main task of the techwriter - intelligently create,
illustrate and adapt documentation in plain language to the
end-user.
Технічний письменник - це фахівець, який складає технічну документацію (інструкції з експлуатації і
файли допомоги для користувачів, технічне завдання для розробників та ін.) на всілякі програми і
автоматизовані системи.
Основне завдання технічного письменника - грамотно створювати, ілюструвати і адаптувати
документацію на зрозумілій для кінцевого користувача мовою.
26. Сopywriter
Copywriter writes less specific texts than technical writer: site
content, marketing product descriptions and so on.
The main task of the copywriter - to understand the nuances of
corporate information technology. Than goodly, clearly and
availably deliver features, capabilities and benefits of information
products, technologies and solutions to end-user.
Копірайтер пише менш специфічні порівняно з
технічним письменником тексти: контентне
наповнення сайту, маркетингові описи продуктів та ін.
Завдання копірайтера - розбиратися в нюансах
корпоративних інформаційних технологій, щоб
красиво, зрозуміло і доступно донести до кінцевого
користувача особливості, можливості і переваги
інформаційних продуктів, технологій і рішень.
27. Business Analyst (ВА).
Systems Аnalyst (SA).
Business Analyst - the specialist who investigates the customer problem, is
looking for solutions and prepares its concept in the form of requirements, on
which developers will focus in the future.
The main task of the BA - to identify customer business problems and find
the most effective solution. He must have knowledge in the subject area.
Systems Analyst - the analyst much closer to the development team than
the business analyst. He has to broadcast software requirements to the team
that are received from BA in the “language” of the development team.
Бізнес-аналітик - це фахівець, який досліджує проблему замовника, шукає рішення і оформлює його
концепцію в формі вимог, на які в подальшому будуть орієнтуватися розробники.
Головне завдання бізнес-аналітика - виявити проблеми бізнесу замовника і знайти максимально
ефективне рішення. Він повинен володіти знаннями в предметній області.
Системний аналітик - аналітик, значно більш наближений до команди розробки, ніж бізнес-аналітик;
повинен транслювати команді отримані від бізнес-аналітика вимоги до ПЗ на «мові» команди
розробників.
28. Sales Manager
Sales Manager communicates with customers and deals product
contracts of development for the sale.
The main task of the sales manager - to find a potential client and
to agree with him the project's implementation in his company.
Менеджер з продажу спілкується з замовниками та укладає контракти на розробку продукту для продажу.
Задача менеджеру з продажу - знайти потенційного клієнта та домовитись з ним про виконання проекту у
своїй компанії.
29. IT product cycle of development
Business Analysts
Systems Аnalysts
Software Architects
Team Leaders,
Developers
Quality Аssurance
Еngineers
Techwriters,
Copywriters
Project Manager
Notas del editor
Основная обязанность и ответственность PM — довести идею заказчика до реализации в установленный срок, используя существующие ресурсы. В рамках этой задачи PM’у необходимо построить план разработки, организовать команду, настроить процесс работы над проектом, обеспечить обратную связь между командами и заказчиком, устранять помехи для команд, контролировать качество и поставку продукта в срок.
Типичный рабочий день PM’а предполагает:
— Планирование очереди задач на текущий день;
— Проверка выполненной работы команд за прошедший день;
— Проведение стендапа с командой;
— Коммуникации с заказчиком по эмейлу, скайпу, телефону, митинги;
— Работа с документацией, отчетность;
— Мониторинг выполнения задач;
— Решение разнообразных текущих проблем;
Типичный рабочий день архитетора предпологает:
— участие в групповом планировании, митингах, совещаниях с заказчиком;
— консультирование команды по текущим вопросам;
— проектирование и написание технической документации;
— изучение новых технологий;
— работа с кодом проекта, прототипирование, оптимизация, рефакторинг.
Типичный рабочий день тимлида включает в себя:
· рассмотрение новых задач и их распределение
· стендап с командой
· митинги
· программирование
· архитектурные вопросы
· code review
Типичный рабочий день QA-специалиста включает в себя:
— Написание тест-кейсов, тестирование, документирование ошибок (в зависимости от фазы проекта);
— Проверка баг-трекинговой системы на предмет появления исправленных ошибок;
— Стенд-ап митинги;
— Изучение требований, их уточнение у заказчика;
— Активное общение с разработчиками;
— Оформление тестовой документации.
«Мышление программистов и тестировщиков „заточено“ по-разному. Программист ищет короткий путь решения, достигает цели — и после этого стремится уже к новым задачам. А тестировщик обстоятельно выверяет неучтенные моменты, проверяет разные комбинации».