Тема 2. Команда, продукт, розробка
Product owner - кого представляє?
"Product owner - це особа, яка, як правило, представляє замовника. Контактра особа між командою розробки і замовником."
Що таке Desktop програми?
Desktop програми, - це програми, які працюють незалежно від інших програм. Встановлюються на комп'ютер користувача та не потребують підключення до Інтернету. (Word, Excel)
Що таке Environment?
Environment -це місце, середовище, в якому користувач запускає програму.
Склад команди розробки
Product manager Project manager Architect Business Analyst Designer Front-end, Back-end Developer QA Engineer Рідше можуть бути Системний аналітик (System Analyst) Технічний письменник (Technical writer), Локалізатор
Обов'язки Product manager?
Product manager не занурюється у технологічний контекст. Добре володіє контекстом з точки зору споживача. Відповідає за ● Глобальну стратегію продукту ● Ідеї та ініціативи ● Розподіл пріоритетів ● Дослідження ринку ● Конкурентне середовище ● Спілкування з замовником
Обов'язки Project manager?
Project manager відповідає за управління проектом. Основне завдання - робота з командою розробки: ● Релізи (у встановлені терміни) ● Ресурси для проекту (формування команди та розподіл завдань) ● Оновлення та статуси ● Бюджет проекту ● Управління ризиками ● Звітність та спілкування з замовником
Що таке Scrum?
Scrum - це спосіб організації робочого процесу. Методологія.
Які характеристики Scrum-команди?
Scrum-команда: ● невелика (до 10 осіб) ● не змінюється протягом усієї розробки ● крос-функціональна ("кожен допомагає кожному чим може") ● самоврядна ("не залежить від сторонніх людей") ● відповідальна за свій бізнес-результат
Що таке Unix?
Unix - це сімейство операційних систем, що підтримують одночасне використання багатьма користувачами. (MacOS, Linux - з цього сімейства)
У чому різниця між web-сайтом і web-додатком?
Web-додатки - інтерактивні, а web-сайти - мають інформаційний характер.
Що таке Web- програми (Web-application- веб-додаток)?
Web-програми - це програми, засновані на взаємодії клієнта (браузера) та сервера - інтерактивні сайти, що передбачають, що користувач буде здійснювати якісь дії (натискати кнопки, заповнювати форми і т.д.). Web-програми вимагають підключення до мережі Інтернет. Обмін інформацією між клієнтом та сервером відбувається за допомогою запитів. "Додаток, який може бути у вигляді веб-сайту, але у нього буде серверна частина". Приклад - інтернет-магазин (є реєстрація, авторизація)."
Що таке Web-сайти?
Web-сайти носять суто інформаційний характер. Не має серверної частини. ("Найчастіше буде використовуватись HTML, SCC, Javasctipt для анімації. Не буде операцій на серверній частині. Приклад - сайт-візитка."
На якому сайті ми можемо знайти деяку статистику?
https://gs.statcounter.com
Які є види мобільних додатків?
Є наступні види мобільних додатків: - нативні програми, - мобільні веб-програми, - гібридні програми.
Що таке "Життєвий цикл розробки програмного забезпечення (Software Development Life Cycle)?
Життєвий цикл розробки програмного забезпечення (Software Development Life Cycle) - ПЕРІОД ЧАСУ, який починається з моменту прийняття рішення про необхідність створення програмного продукту і закінчується в момент повного вилучення з експлуатації.
Які основні етапи життєвого циклу розробки програмного забезпечення Software Development Live Cycle?
Життєвий цикл розробки програмного забезпечення Software Development Live Cycle: 1. Requirement analysis - Збір вимог та аналіз 2. Planning - Планування 3. Architectural Design - Проектування (дизайн) 4. Software Development - Розробка 5. Testing - Тестування 6. Deployment - Технічна підтримка і розгортання.
Що входить до етапу Збір вимог та аналіз?
Збір вимог та аналіз: - отримання у замовника необхідної інформації (вимог); - систематизація вимог; - побудова взаємозв'язків; - документування.
Що таке операційна система (ОС)?
Комплекс програм. Управляють ресурсами комп'ютера, та для взаємодії з користувачем. Десктопні, мобільні, серверні.
Що таке мобільна веб-програма?
Мобільна веб-програма ПРАЦЮЄ ЧЕРЕЗ БРАУЗЕР ("на мобільному телефоні").
Які є деякі плюси мобільних програм?
Мобільні програми - це програмний пакет, функціонал і дизайн якого "заточений" під можливості мобільних платформ. Декілька основних плюсів програми: ● інтерфейс програми створено безпосередньо для роботи на мобільному пристрої через сенсорний екран, кнопки мобільного пристрою; ● мобільність; ● більш тісна взаємодія з користувачем через пуш-повідомлення; ● програма може виконувати функції навіть у фоновому режимі; ● багато програм підтримують ряд функцій і при відключеному інтернеті; ● зберігання персональних даних користувача.
Що таке нативна програма?
Нативні програми — програми, які розробляються під певну платформу та встановлюються безпосередньо на пристрій користувача. Програми можуть бути встановленими, або їх можна завантажити і встановити з Play Market або Apple Store. У перекладі англ. native означає "рідний". Нативною називається програма, яка розроблена «рідною» для платформи мовою програмування. Для Android це Java, для Apple iOS - Objective-C та Swift. "Наприклад, те, що встановлено стандартно, «налаштування» у телефоні, галерея - нативні програми ("по QA - рідкі вакансії"). Для їх роботи НЕ ПОТРІБНЕ ПІДКЛЮЧЕННЯ ІНТЕРНЕТУ".
Які ОС вирішує завдання?
ОС вирішує такі завдання: - взаємодія між пристроями ОС, та прикладними програмами, - управління пристроями і процесами, ефективно розподіляти системні ресурси. Windows, Linux, MacOS, Unix. Unix- для кількох користувачів, вільний дистрибутів, часто - для серверів. MacOS - також Unix. Unix більш захищені від несанкціонованого доступу да шкідливого ПЗ.
Обов'язки Back-End розробника?
Обов'язки Back-End розробника - розробка логіки програми ("серверна частина програми, інформація с сайту-на сайт, інше").
Обов'язки Developer?
Обов'язки Developer - написання коду, що реалізує вимоги, написані бізнес-аналітиком, його перевірка, виправлення багів.
Обов'язки Front-End розробника?
Обов'язки Front-End розробника - розробка клієнтської частини.
Які основні особливості Windows?
Основними особливостями Windows є графічний інтерфейс, багатозадачність та можливість обміну даних між додатками.
Які основні особливості Unix?
Основною особливістю даних ОС є модульний дизайн, в якому кожне завдання виконується окремою утилітою, взаємодія здійснюється через єдину файлову систему, а для роботи з утилітами використовується командна оболонка (термінал). У UNIX може одночасно працювати одразу багато людей, кожен за своїм терміналом. Широке поширення дані ОС набули серед серверів.
Обов'язки Designer?
Основні завдання: ● Аналіз інформації про аудиторію продукту ● Створення приємного і зрозумілого інтерфейсу для користувача, спираючись на дійсні тренди ● Проектування інтерфейсів (користувацьких та графічних) ● Розробка стилю ● Підбір шрифтів та кольорів ● Створення макетів
Основні завдання Business Analyst?
Основні завдання: ● Комунікація із замовником ● Визначення проблем/бажань замовника та розуміння вимог замовника ● Пошук максимально ефективного вирішення цих проблем ● ОПИС ВИМОГ у вигляді різних специфікацій ● КОНСУЛЬТАЦІЯ РОЗРОБНИКІВ І ТЕСТУВАЛЬНИКІВ під час розробки та тестування ● Дослідження ринку та конкурентів ● ВИЗНАЧЕННЯ ЦА (цільової аудиторії) "Іноді обов'язки бізнес-аналітика виконує Product owner"
Основні завдання QA інженера?
Основні завдання: ● Комунікація із замовником та командою; ● Аналіз вимог до продукту; ● Оцінка ризиків; ● Розробка тестових сценаріїв ("тест-кейсів"); ● Ведення різноманітної тестової документації; ● Тестування ПЗ; ● Створення звітів.
Які основні завдання Architect?
Основні завдання: ● Проектування системи ● Побудова архітектури програми ● Вибір технології ● Підбір фреймворків ("мається на увазі ПЗ, яке заточене під якусь мову програмування, готові бібліотеки; наприклад - React під JavaScript") ● Опис стандартів коду ("яка мова програмування буде використовуватись, які фреймворки, бази даних, скільки серверів і т.п."). "Часто це найбільш досвічений розробник на проекті."
Яку статистику треба зібрати перед тестуванням?
Перш ніж тестувати, необхідно визначитись, на яких пристроях, ОС, браузерах необхідно тестувати наше ПЗ. Якщо нема в ТЗ, гуглим.(https://gs.statcounter.com/)
Що входить до етапу Планування?
Планування - визначення проблем, цілей та ресурсів (таких, як персонал та витрати); - вивчення можливостей альтернативних рішень; - вивчення, як зробити ваш продукт кращим, ніж у конкурентів.
Що таке продукт?
Продукт - це кінцевий результат, який надається замовникам і користувачам. Це може бути фізично відчутний продукт, програмна платформа, сервіс, програма або послуга.
Що таке проект?
Проект - це конкретний ПЛАН, який СКЛАДАЄТЬСЯ ІЗ різних АКТИВНОСТЕЙ, які мають певний результат, дати початку/закінчення і результат.
Що входить до етапу Проектування (дизайн)?
Проектування (дизайн) - побудова архітектури; - визначення елементів, компонентів, модулів, типів даних; - розробка макету продукту.("дизайнер також праціє на цьому етапі")
Що входить до етапу Розробка?
Розробка - написання коду (front та back частина)
Що таке гібридна програма?
Середня між нативними програмами та веб-програмами. Гібридні програми, як і нативні, завантажуються з магазину, і побудовані вони з урахуванням веб- технологій. Такі програми завантажуються одночасно в маркети AppStore та Google Play. ("Для їх роботи ПОТРІБНЕ ПІДКЛЮЧЕННЯ ДО МЕРЕЖІ ІНТЕРНЕТ (без інтернету функціонал - обмежений). Для них не потрібен браузер. Пишеться на мовах програмування, які використовуються для веб, потім обгортається в нативну оболочку. Їх найбільше. Facebook, Twitter, Розетка, банки...")
Що входить до етапу Тестування?
Тестування - верифікація; - валідація; - і всі інші принади життя.
Що входить до етапу Технічна підтримка та розгортання?
Технічна підтримка та розгортання - конфігурація та налаштування оточення; - установка на оточення; - підтримка.
Які бувають типи оточень?
Типи оточень: Dev Environment QA Environment Automation Environment ("на цьому оточенні будуть запускатись автотести") Load Testing Environment ("буде проводитись навантажувальне тестування, близьке до Production") Stage Environment ("буде проводитись приймальне, іноді системне тестування, близьке до Production") Production Environment (customer environment) ("те оточення, де користувач бачить кінцевий програмний код, хмарні або реальні сервери")
Які у Scrum регулярні мітінги?
У Scrum є такі регулярні мітінги: Daily meeting/ Stand up ("Щоденна зустріч - що зробив вчора, що планує зробити сьогодні, і які є проблеми, 15хв") Grooming ("Команда аналізує вимоги, розбиває їх (декомпозує) за потребою) Planning ("із загального списку беклогу набираємо частину - на спринт") Retrospective ("Після кожного спринта, це по суті робота над помилками, вносимо кроки для покращення наступного спринта") Demo/Sprint Review ("Зустріч, де показуємо замовнику частину функціональності, яку реалізували")
Про що це питання: "Яке ПЗ потрібно створити?"
Це про продукт.
Про що це питання: "Як потрібно створювати ПЗ"
Це про проект.