Теорія, на якій побудовано Product Printer
Програмне забезпечення більше не є ремеслом. Це технологія.
Сімдесят років програмне забезпечення створювали, як меблі в майстерні: один майстер, один виріб, усе з нуля. Ця епоха щойно закінчилася. Коли написання коду стає дешевим, цінність переходить до плану, деталей і конвеєра. Тому ми працюємо як фабрика.
Від ремесла до технології
Вартість написання коду обвалилася
Агенти ШІ тепер пишуть більшу частину коду. Найдорожча частина кожного проєкту програмного забезпечення — написання реалізації — майже за одну ніч стала найдешевшою. Наша мета: те, на що команді раніше потрібен був квартал, контрольована виробнича лінія виконує за тиждень.
Більшість програмного забезпечення — це вже розв'язана задача
Вхід до системи, білінг, багатокористувацька архітектура, мови, моніторинг: кожен бізнес-застосунок потребує цього, і жодна з цих частин не заслуговує на повторне винайдення. Це стандартні деталі, позиції каталогу, а не конструкторська робота.
Дефіцитною залишається сама задача
Розуміння велосипедного магазину, парку прокату, служби догляду, а також визначення правильного продукту для створення. Саме тут місце людини. Усе, що йде після якісної специфікації, можна індустріалізувати.
Ремесло стає технологією в той момент, коли його кроки можна записати, повторити та перевірити. Програмне забезпечення щойно перетнуло цю межу, а коли щось стає технологією, фабрика перевершує майстерню.
Лінія, станція за станцією
Від першого навчання до працюючого програмного забезпечення, станція за станцією. Кожна позначена статусом: «Працює» означає, що вона діє сьогодні; «Незабаром» означає, що ми створюємо її далі.
01Працює
Починається з навчання
Перед лінією йдуть люди: консультанти вчаться консультувати малі та середні підприємства щодо ШІ, а потім навчають команди своїх клієнтів за курсом під білим брендом, останній крок якого стає новим проєктом або новими вимогами.
Докладніше02Працює
Спочатку вимоги
Нічого не будується за розмитим завданням. Розмова перетворюється на вимоги, кожна з яких має свої критерії прийняття, і лінія будує лише те, що прийнято.
03Працює
Безперервна лінія
Щойно вимоги прийнято, крок роботи передається агенту програмування без жодного кліку: по одній збірці на проєкт, по порядку. Кожен крок виходить як pull request.
04Працює
Контрольні перевірки для кожної зміни
Кожен pull request проходить CI і перевірки безпеки проєкту, а потім огляд безпеки з використанням ШІ, який працює за принципом «відмова за замовчуванням»: немає висновку, немає злиття, а злиття прив’язане до точної версії, яку переглянули. Захист головної гілки не дозволяє розгорнути нічого, що обійшло ці перевірки.
05Працює
Доказ за кожним критерієм
Кожен критерій приймання отримує власний тестовий запуск з CI, який фіксується після злиття останньої зміни вимоги, і вимога вважається перевіреною лише тоді, коли всі вони проходять успішно. Критерій, який перевіряє людина, показує «Очікує перевірки людиною», доки він не буде затверджений. Слово агента ніколи не враховується.
06Працює
Спочатку тест: від червоного до зеленого
Тест для кожного критерію приймання пишеться першим, в окремому коміті, і має завершитися невдачею в CI до того, як код змусить його пройти. Перш ніж зміна буде злита, гейт перевіряє, що тест кожного критерію перейшов з червоного на зелений і не був змінений на цьому шляху; вимога пов'язує обидва запуски.
07Працює
Цикл виправлень
Коли CI або огляд безпеки відхиляє зміну, зауваження повертаються до тієї ж сесії агента, який виправляє їх у тому ж pull request, і всі перевірки запускаються знову. За замовчуванням є щонайбільше два виправлення; після цього втручається людина.
08Працює
Стандартні компоненти
Кожна застосунок починається з шаблону фабрики, де вже є вирішені задачі: вхід, орендарі та ролі, юридичні сторінки, макет. Створено один раз, перевірено у продакшені, ніколи не перебудовується.
09Працює
Бібліотека фабрики на кожному кроці
Коли план кроку роботи затверджено, кожен крок постачається зі стандартними компонентами, які обрав дизайн. Кроки, що торкаються бази даних або інших чутливих ділянок, будуються згідно з настановами бібліотеки щодо безпеки та баз даних, а запис про збірку показує, які саме настанови застосовано і чому.
10Працює
Реліз у продакшен
Публікація релізу розгортає хостований застосунок у продакшені: спочатку міграції бази даних, по порядку, зупиняючись на першій помилці, потім збірка. Реліз показує статус «Працює» лише тоді, коли жива адреса його обслуговує.
11Працює
Чесний стан
Доки все в межах охоплення не випущено, проєкт показує «Створюється — випущено 3 з 6 кроків роботи», а «Працює» — лише після цього. Новий застосунок показує відвідувачам «Незабаром», а його користувачам, які ввійшли в систему, — кроки збірки; сторінка «Що є в застосунку» перелічує компоненти, з яких він почався, що вже зроблено і що ще буде.
12Працює
Усе фіксується
Кожне завдання збірки, кожне розгортання релізу і кожна зміна, що потрапила в головну гілку поза контрольними перевірками, фіксуються. Наші дії оператора записуються в журнал аудиту, який лише додає записи.
13Працює
Обмежені ключі, хостинг у ЄС
Для застосунків, які ми хостимо, кожна збірка отримує короткоживучий токен лише для цього одного репозиторію, який видаляється після завершення збірки. Ваші ключі моделей залишаються у вашому PP Orchestrator. Хмарні інстанси працюють у Німеччині (ЄС).
«Працює» означає, що функція випущена в релізі Product Printer і діє на наших керованих інстансах. Станція переходить зі статусу «Незабаром» у «Працює» лише тоді, коли її реліз доступний.
Епоха майстерні була чудовою. Епоха фабрики доступна.
— Прибираємо зайве.
Приходьте зі своєю проблемою →