Коли потрібен аудит
Ви купуєте бізнес разом із його системою і хочете знати, що купуєте. Попередня команда каже «треба все переписати», і ви не впевнені, чи це правда. Проєкт став повільним або нестабільним, і ніхто не може пояснити чому. Ви плануєте наймати розробника і хочете розуміти, кого саме шукати. Або просто хочете зрозуміти, скільки коштуватиме підтримка того, що є.
У всіх цих випадках рішення без аудиту приймається наосліп. І, як правило, це дороге рішення.
Що дивимось
Код: структура, версії PHP і фреймворку, залежності, які давно не оновлюються, тести або їх відсутність, місця, де логіка продубльована або схована. База даних: схема, індекси, повільні запити, дані без правил цілісності. Безпека: авторизація, робота з паролями й токенами, відомі вразливості у залежностях, доступи, які лишились від колишніх людей. Інфраструктура: як деплоїться, чи є бекапи і чи їх хтось перевіряв, що станеться під час падіння сервера.
Ще дивимось на процес: як зміни потрапляють у продакшен, хто може щось зламати одним кліком, чи існує тестове середовище.
Що отримуєте
Документ із трьома розділами. Стан: що добре, що погано, що критично, з конкретними прикладами з коду, а не загальними словами. Ризики: що може зламатись і за яких умов, від найімовірнішого до малоймовірного. Варіанти дій: зазвичай три, від мінімального до повного, кожен із приблизною ціною й терміном.
Документ ваш. Із ним можна піти до іншої команди, показати своєму розробнику або покласти в шухляду до кращих часів. Ми не пишемо його так, щоб єдиним розумним варіантом були ми.
Що потрібно від вас
Доступ до репозиторію, бажано до бази з тестовими даними й до серверів на читання. Годину часу людини, яка знає, як система використовується насправді. Якщо репозиторію немає, а є лише сервер, теж працюємо, просто аудит починається з того, щоб код з нього забрати.
Скільки триває
Для більшості систем це кілька днів роботи. Дуже великим системам потрібно більше, і про це стає зрозуміло після першого погляду на репозиторій. Ціна називається до початку, а не після.