Секој проект за развој на сопствен софтвер започнува со истиот разговор. Тимот го води бизнисот со пакет готови алатки веќе неколку години. Нешто престанало да функционира. Некој предлага „треба да си изградиме свое решение.“
Поголемиот дел од времето точниот одговор е не. Повремено точниот одговор е да, а бизнисите што ја носат таа одлука правилно завршуваат со неправедна предност во однос на оние што ја донеле погрешно.
Кога сопственото решение е погрешен потег
Развојот на сопствен софтвер не е показател за зрелост. Тој е решение за одредена класа проблеми, и ако ја немате таа класа проблеми, сопственото решение ќе чини повеќе отколку што ќе заштеди и ќе ве забави наместо да ве забрза.
Погрешни причини да одите на сопствено решение:
- „Алатката го нема точното копче што го сакам.“ Тоа е празнина во работниот тек, не во софтверот. Решете го со процес.
- „Веројатно би можеле сами да го изградиме ова.“ Речиси секој бизнис би можел. Речиси ниеден бизнис не треба — опортунитетниот трошок на инженерскиот тим обично е повисок од лиценцните надоместоци што би ги заштедиле.
- „Сакаме да ги поседуваме нашите податоци.“ Реално. Оправдано. Но во повеќето случаи решливо со self-hosted или on-premise верзија на постоечка алатка, по дел од цената на сопствениот развој.
- „Нашите процеси се премногу уникатни.“ Понекогаш е точно, но најчесто не. Повеќето „уникатни“ процеси се три готови алатки залепени заедно, што сопственото решение може само малку да ги исчисти.
Кога сопственото решение е правилен потег
Вистинските причини за развој на сопствен софтвер се потесни и поконкретни:
- Клучниот процес е вистинскиот заштитен ров на вашиот бизнис. Ако начинот на кој управувате со резервации, или насочувате нарачки, или одредувате цени на договори е тоа што ве прави конкурентни, готовите алатки што ве тераат во нивниот генерички работен тек активно го нагризуваат тој ров. Сопственото решение е одбранбена инфраструктура.
- Усогласеноста бара нешто што пазарот не го нуди. Некои регулирани индустрии — сметководство, здравство, е-фактурирање во одредени јурисдикции — имаат гранични случаи што готовите алатки не ги покриваат. Сопственото решение е единствениот пат.
- Замор од интеграции. Кога одржувањето на синхронизација меѓу пет готови алатки чини повеќе работно време отколку што би чинел систем изграден по мерка, сопственото решение почнува да победува во равенката на вкупниот трошок.
- Сопственоста на податоците е производот. Ако предноста на вашиот бизнис зависи од уникатни податоци што клиентите ви ги даваат, чувањето на тие податоци засекогаш во шемата на трета страна е стратешки ризик. Сопственото решение ви овозможува моделот на податоци да ви припаѓа вам.
Шемата е следна: сопственото решение е правилен потег кога процесот, усогласеноста, трошокот за интеграција или самиот податочен ресурс е стратешката предност. Не порано.
Како изгледа искрен развој на сопствен софтвер
Начинот на кој пропаѓа сопствениот софтвер не е во тоа да се изгради погрешната работа во првото издание — туку да се изгради вистинската работа во првото издание и никогаш повеќе да не се врати на неа. Сопствениот софтвер е жив ресурс. Тој бара тековно одржување на ист начин како што бара и физичка зграда. Секој ангажман што нуди „изгради еднаш, готово засекогаш“ нуди погрешна работа.
Во KIMISUITE, ангажманите за сопствен software development се дефинираат во две фази:
- Фаза еден — Откривање. Писмена спецификација, мал кликабилен прототип и искрена препорака дали сопственото решение воопшто е точниот одговор. Некои ангажмани завршуваат тука со заклучок „купете алатка X и застанете“. Тоа е добар исход.
- Фаза два — Изградба. Ако првата фаза потврди дека сопственото решение е правилниот потег, градиме во кратки чекори. Секој чекор се испорачува. Секој чекор се користи. Секој чекор го информира следниот.
Исто така, сопствените системи ги дизајнираме со можност за извоз уште од првиот ден. Шемата на податоци, API површината, топологијата на распоредување — сè е документирано, сè е преносливо. Системот е ваш дури и ако ние исчезнеме утре.
Често поставувани прашања
Можете ли да градите врз постоечки систем?
Да. Работата на проширување и интеграција — преку KIMISUITE Connect — често е вистинскиот одговор наместо целосно сопствено решение. Поевтино, побрзо, помал ризик.
Кои технологии ги користите?
Избираме според проектот, врз основа на тимот што ќе го одржува и оперативниот профил. Вообичаени стекови: Laravel + PostgreSQL за backend, Astro + Svelte за frontend, Docker за распоредување. Избегнуваме технолошки избори водени од трендови.
Дали нудите одржување по пуштањето во употреба?
Да, преку managed IT support. Сопствен софтвер без тековна поддршка се влошува со текот на времето — тоа е реалноста околу која градиме.
Можеме ли да го поседуваме кодот?
Да. Секој ангажман за сопствено решение се испорачува со целосниот изворен код, документација за распоредување и функционална локална развојна околина. Системот е пренослив кај друг добавувач уште од првиот ден.
Заклучок
Ако готовите алатки сè уште ви одговараат, продолжете да ги користите. Ако престанале да одговараат — поради вистинска, конкретна, стратешка деловна причина — сопственото решение станува поевтино од заобиколните решенија. Трикот е искрено да знаете на која страна од линијата сте.