Що таке "Ходіння скелет"?


42

Один з моїх спритних команд на ранніх етапах свого проекту застосував цікавий підхід. Замість того, щоб розпочати проект зі Sprint 0, де вони встановлюють інфраструктуру коду та приймають рішення про архітектуру рішення, вони почали будувати "Скелет для ходьби", який вони описують як практику DevOps.

Це, здається, зводиться до того, щоб створити щось дуже мале (у випадку API єдину кінцеву точку, яка щойно повертається 200-OK), налагодити цю роботу в постійній інтеграції та створити конвеєр безперервної доставки для розгортання цього в кожному з середовищ:

Розробка ► Тест ► UAT ► Передвиробництво ► Виробництво

У процесі роботи їм вдалося відзначити багато нефункціональних вимог, які могли бути пропущені, якби розгортання залишилися до останньої хвилини.

Моє запитання таке: що таке "Пішохідний скелет" і яку користь він дає команді Agile, яка дотримується практики DevOps?


1
Любіть це, я можу поділитися фактичною справою (минулого тижня) і якими були результати цього після обіду
Tensibai

Відповіді:


38

"Скелет, що йде" - це форма "доказ концепції" вашої базової архітектурної концепції. Якщо доказ концепції, як правило, зосереджується більше на одній функціональності, "Ходячий скелет" - це мінімалістична реалізація "в кінці". "Скелет для ходьби" не є контуром вашої концепції (лише "скелет"), але він справді виконується і може бути доступний для доставки (він може "ходити": O) і повинен супроводжуватися тестами.

Алістер Кокберн описав це (і його часто цитують):

Пішохідний скелет - це крихітна реалізація системи, яка виконує невелику функцію "від кінця до кінця". При цьому не потрібно використовувати остаточну архітектуру, але вона повинна поєднувати між собою основні архітектурні компоненти. Потім архітектура та функціональність можуть розвиватися паралельно.

Перевага для DevOps полягає в тому, що «Пішохідний скелет» повинен бути розроблений на початку проекту та приводить до роботи коду, який можна виправити та перевірити . Таким чином DevOps може налагодити повний ланцюг безперервної інтеграції на початку проекту, замість того, щоб він був на борту у завершальній фазі проектів. Це означає, що будь-які проблеми, що виникли, також вирішуються на початковій стадії, а не поспіхом працювати в кінці.


4
Ну, це не лише мережа CI, але вона може буквально охопити виробництво трубопроводу в кінці до кінця, включаючи доставку та розгортання. Скелет цього , а також - вам не потрібно мати все ОК перевірки для кінцевого продукту в місці на 1 день, ви можете поступово додати перевірку «м'ясо» до цього скелету , як історія «м'ясо» накопичується на ходячий скелет.
Дан Корнілеску

1
Мені подобається термін "м'ясо", дуже добре відповідає термінології, що використовується: P
7ochem

3
Чудова відповідь. Я здогадуюсь, що це еквівалентний трубопровід еквівалентно мінімально життєздатного продукту.
Адріан

4
Це здається схожим на мінімально життєздатний продукт, але на більш детальному рівні - можливо, "мінімально життєздатний компонент". Повернення 200 із сервісу просто для того, щоб він "працював", для мене звучить як заглушка.
Дейв Сверський
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.