Кевін Гурвіц

Середа, 30 липня 2008 р

Святий Грааль - Розробка додатків без розробників

Якщо ви зайшли так далеко, я можу сказати вам, що назва - це язик. Забороняється кидати мені речі або відмовлятися від підписки (тим самим зменшуючи свою аудиторію навпіл).

гурвіц

Протягом своєї кар’єри я бачив спроби різних проектів, щоб усунути необхідність постійного залучення розробників до обслуговування системи. Аргумент виглядає приблизно так: Якби ми могли просто створити гнучкий механізм ділових правил, нам не потрібно було б телефонувати розробникам кожного разу, коли нам потрібно оновити наше ЗАПОВНЕННЯ.

Не зрозумійте мене неправильно точно є час і місце для налаштування програми. Просто власники бізнесу (підготовлені розробниками, які шукають хороший виклик) схильні надмірно розширювати концепцію. Наприклад, вони можуть сприяти створенню нової мікро-мови для визначення правил ціноутворення. Щось на зразок:

ЯКЩО ($ PRICE $> 100) $ PRICE $ *, 90 -> $ PRICE $ ELSE $ PRICE $

Враховуючи те, що я особисто знаю обох людей, які читають мій блог, я знаю, що ви можете застосувати парсер, щоб застосувати це бізнес-правило. А чому ні? Тепер власники мого бізнесу можуть повністю контролювати свої правила ціноутворення! Ми говоримо не лише про кілька консервованих правил. Ні, я маю на увазі автономну, нестримну, владу над своїм всесвітом!

Але є кілька уловів. Що трапляється, коли власник бізнесу пропускає закриті дужки? Ну, повернулося до креслення, щоб написати зручну перевірку синтаксису (так званий компілятор). Але потім вони забувають символ для вартості виробника і скаржаться (це, звичайно, $ MFG_COST $). Ну, напевно, настав час для документації (специфікація мови) та побудови макросів (IDE). Наступна скарга, яку ви отримуєте, - "Мої правила ціноутворення дуже важко вдосконалити, не псуючи їх". Що ж, цього разу (знову ж таки, тому що я знаю, хто мої читачі), ви усвідомлюєте, що вам потрібно буде впровадити структуру модульного тестування та навчити власників бізнесу про тестову розробку.

Однак зараз концерт закінчився. Ви не знаєте, як реалізувати структуру модульного тестування для вашої нової мови, POOP (Pricing Open Operation Protocol). Однак зараз ви витратили 20% своєї кар’єри на його розробку, її компілятор, специфікацію мови та IDE. Ви високо вклали гроші - зараз не час відмовлятися від POOP!

Ви підробляєте. Ви починаєте збирати цінові вимоги від власника вашого бізнесу (якщо б ви могли просто програмувати цілий день), впроваджуючи їх і демонструючи для прийняття. Просто у вас життя складніше, ніж було раніше. Раніше у вас була потужна, виразна мова (C #), повна документація (MSDN), засоби розробки whiz-bang (Visual Studio & Resharper) та модульна модульна перевірка (NUnit). Тепер ви тільки що отримали POOP.