За групи и няколко бранда
Няколко компании, една инсталация, без споделени клиенти
Групите обикновено решават това два пъти, и то зле: или пет отделни инсталации и пет отделни всичко, или една инсталация и тържествено обещание, че приложението винаги филтрира правилно. Първото е скъпо. Второто е обещание, а обещанията не са модел за сигурност.
Ако управлявате повече от една компания — холдинг с дъщерни дружества, франчайз, два бранда за различни пазари, агенция и нещото, което агенцията откъсна — вече знаете формата на проблема. Брандовете споделят хора, инструменти и финансов отдел. Не споделят клиенти и не бива дори да изглежда, че ги споделят.
iKonekt управлява всички от една инсталация, а разделението между тях се пази от базата данни, а не от кода. Това разграничение звучи академично, докато не дойде денят, в който вече не е.
Защо слойът има значение
Филтър на ниво приложение е едно изречение в заявка. То работи, докато всяка заявка, която някога ще бъде написана, го съдържа — включително тази, написана набързо, тази, написана от новия разработчик, и тази, написана за отчет, който трябваше да се използва само веднъж.
Преместете границата в базата данни и аритметиката се обръща. Политиката се изпълнява при всяко четене и всяко записване, под всичко. Заявка, която забрави компанията, не връща грешните редове; тя не връща нищо. Режимът на отказ става празен екран и объркан разработчик — а това е правилният режим на отказ.
Празните екрани са функционалност. По-добре да обясним празен екран на собствен наш инженер, отколкото да обясним списък с клиенти на двама клиенти, които не са очаквали да се срещнат.
- 1Клиенти & кореспонденцияОграничени по обхват. Продавач в бранд А не може да достигне тези на бранд Б — по конструкция, а не по конфигурация.
- 2Права върху клиент„Вече имаме този акаунт“ е заключване, държано на компания — така два бранда могат да работят на един и същ пазар, без да се сблъскват.
- 3Подсказки & настройкиВсяка компания редактира своите. Единственото място, където това някога е било споделено, е бил бъг — и това е бъгът, с чието откриване системата се гордее най-много.
- 4Партньорски програмиМодул на компания, а не глобален, който всички наследяват.
Граница, наложена под приложението
Какво една група реално може да споделя
Разделението не е изолация за самата изолация. Нещата, които си заслужава да се споделят в група, се споделят съзнателно и те са предимно скучните — което е точно правилно, защото в скучните се крие дублираната цена:
- Една инсталация за поддържане и обновяване. Едно внедряване, един набор от идентификационни данни за грижа, едно нещо за държане актуално.
- Един екип от хора с различни шапки. Човек може да работи в повече от една компания; това, което не може, е да вижда и двете едновременно чрез заявка, забравила да попита.
- Един набор от навици. Начинът, по който се разпределя потенциален клиент, начинът, по който се пише бележка, начинът, по който една задача става фактура — научено веднъж, приложено навсякъде, което скъсява въвеждането до около едно утро.
- Една връзка с останалата част от семейството. castomAPI отдолу, същият акаунт, същите конектори — конфигурирани на компания там, където има значение.
Въпросът, който група винаги задава втори
„Можем ли да отчитаме през всички тях?“ Да — от собствена гледна точка на групата, съзнателно и изрично, а не като страничен ефект на течаща граница. Разграничението е целият замисъл: пресичането на границата трябва да бъде действие, което някой е извършил нарочно, с правомощието да го направи. Никога не бива да е нещо, което един заблуден идентификатор може да постигне случайно.
А въпросът, който задават трети: „Какво става, ако продадем един от брандовете?“ Граница, която базата данни пази, е и граница, от която можете да извадите чисто копие. Това не е съвпадение — разделението и преносимостта са едно и също свойство, гледано от две различни срещи.
Под пода
Какво конкретно държи границата
Не твърдение, а списък. Ако доставчик не може да представи този списък за собствения си продукт, това си заслужава да се забележи.
26
Таблици, носещи своята компания, с принудително включена проверка, а не просто налична.
72
Правила, изписани едно по едно, така че всяко да е прочетено от човек, а не генерирано в цикъл.
942
Тестове, изпълнявани срещу база данни, изграждана от нулата при всяка промяна.
0
Компании по подразбиране. Заявка без обхват се прекъсва, преди да достигне данните — няма резервен вариант, който да забравите да изключите.

„Пет компании, пет инсталации, пет фактури от вас.“
Една инсталация. Пет граници, които базата данни пази.
Споделени хора, споделени навици, споделена платформа — и нито един споделен клиент. Пресичането на тази граница трябва да е нещо, което човек е направил нарочно, а никога нещо, което идентификатор е допуснал по невнимание.
Как е изградено разделението →