Почнемо з того, щоб найняти для вашого проекту хорошу команду потрібних професіоналів. У типовому бізнес-додатку вам потрібно буде найняти розробника баз даних і ДБА, особу, що відповідає за якість, системного адміністратора, бізнес-аналітиків, розробників додатків, спеціаліста з користувальницького інтерфейсу і лідерів команди як мінімум. DBA, System Admin, бізнес-аналітики та QA повинні бути в окремому ланцюжку звітності від команди розробників. Спеціаліст БД розробки повинен звітувати з тим же технічним лідером, що і розробники додатків та спеціаліст із користувальницького інтерфейсу.
Встановіть офісні приміщення. Приватні офіси чудові, якщо ви можете їх отримати (я бажаю вам багато удачі з цим), але в мінімум вам потрібні столи, телефони, комп’ютери, дошки та пара виділених конференц-залів. Переконайтесь, що є місце для перерв на обід, холодильник, безалкогольні напої, закуски та кава. Безкоштовні безалкогольні напої та кава ще краще.
Налаштування сервера dev / qa / staging та prod як для програми, так і для баз даних. Бази даних ніколи не повинні знаходитися на тому ж сервері, що і програми. Залежно від розміру та обсягу проекту, вам може знадобитися кілька серверів або SAN, тощо для кожного середовища.
Як тільки сервери налаштовані, заплануйте резервне копіювання файлових систем, бази даних та журналів транзакцій бази даних. Зробіть це вже в перший день. Наймайте таку фірму, як Iron Mountain, щоб знімати резервні копії поза сайтом щотижня.
Налаштуйте систему управління джерелом та створіть документ, який описує, як він буде використовуватися. Не забудьте наполягати на тому, що ВСІ структурні зміни бази даних та вставки даних для таблиць типів пошуку повинні бути в сценаріях в керуванні джерелами. Це полегшить розгортання.
Купуйте комерційне програмне забезпечення або завантажуйте програмне забезпечення з відкритим кодом для набору інструментів, які ви вирішили використовувати з ліцензіями для всіх відповідних користувачів.
Купіть машини для розробників, які швидко кричать і мають два монітори. Купіть принаймні одну машину для тестування користувачів, яка стогне повільно і характерна для того, що користувачі матимуть на своїх робочих столах.
Навчіть своїх нових розробників тому, як ви хочете робити справи. Якщо у вас є достатньо велика команда для створення молодших розробників, тоді плануйте додаткове навчання для них і включайте час у своє планування проекту. Слідкуйте за юніорами дуже ретельно протягом принаймні трьох місяців. Перший місяць уважно стежте за новими працівниками. Позбудьтеся мертвих лісів та шахраїв якнайшвидше.
Визначте, що потрібно зробити в якому порядку (критичний шлях). Не призначайте завдання в кінці критичного шляху, поки завдання, від яких вони залежать, не будуть виконані.
Створіть плани та вимоги тестів.
Організуйте регулярно заплановані зустрічі з клієнтами. Вони заслуговують на те, щоб знати, що ви робите та які дорожні блоки. Не пропустіть сказати їм, коли справи запізнюватимуться. Якщо у вас три тижні від граничного терміну, і ви вже знаєте, що будете його пропускати, цей дефіцит не магічно зникне, перш ніж вам доведеться повідомити клієнту. Переконайтеся, що клієнт знає, що додаткові вимоги означають додаткові витрати та час, і що кожна додана вимога повинна або матиме відмову від інших завдань, або термін зміниться на кількість годин на нові завдання. Зрозумівши це з самого початку, ви врятуєте багато болю та понаднормових годин, а також перевитрати коштів, які поглинає ваша група, а не клієнт.
Створіть середовище для перевірки працездатності, не тільки швидкості одного користувача, але і такої, де ви можете перевірити очікувану кількість одночасних користувачів. Не чекайте робити це тестування до дня, перш ніж ви будете жити.
При плануванні проектів припустімо, що QA знайде помилки та потребує часу на їх виправлення. Не плануйте QA лише на один день наприкінці.
Створіть тестові дані приблизно за розміром, на який, на вашу думку, буде база даних. Змусити всіх розробників перевірити свій код на базі даних такого розміру. Не дозволяйте розробникам розвиватися лише на основі невеликої бази даних на своїх персональних машинах. Це часта причина коду, який працює добре, поки не потрапить у виробництво.
Плануйте нагороди в бюджеті. Це демотивує людей, коли вони працюють місяцями, і лише менеджери отримують бонуси. Також скажіть спасибі часто і письмово.
Можливо, вам знадобиться система управління проектами або принаймні налаштувати електронні таблиці для відстеження того, що потрібно відстежувати. Виконуючи планування проекту, візьміть на себе не більше шести годин на день. Це допомагає врахувати час, який буде витрачено не на проект, наприклад, канікули, час хвороби, канікули, зустрічі з персоналом, огляди ефективності тощо. Якщо ви знаєте, що проект знаходиться в періоді великої недоступності (скажімо, проект, який працює з 1 листопада по 1 січня в США), можливо, вам доведеться внести додаткові надбавки на більше відпусток та відпустки. Не чесно розраховувати, що розробники відмовляться від відпустки та відпусток, і ніхто не може передбачити, коли трапляться такі речі, як час хвороби, обов'язок присяжних, час позбавлення волі тощо. Припустимо, вони відбудуться з вашою командою в цьому проекті.