Co oznacza „przedsiębiorstwo” w odniesieniu do architektury oprogramowania?

11

Widzę, że termin „przedsiębiorstwo” jest często rzucany na twórców oprogramowania i programistów i wydaje się, że jest używany dość luźno.

en · ter · nagroda / ˈentərˌprīz /

Rzeczownik: projekt lub przedsięwzięcie, zwykle takie, które jest trudne lub wymaga wysiłku. Inicjatywa i zaradność.

Czy ktoś może wyjaśnić, co tak naprawdę obejmuje ten termin? „Na poziomie przedsiębiorstwa”, „skala przedsiębiorstwa”? Istnieją nawet „edycje dla przedsiębiorstw”. Co to dokładnie znaczy? Oczywiście nie ma sensu osądzać na podstawie powyższej definicji, a dokładniej w odniesieniu do oprogramowania, co oznacza słowo „przedsiębiorstwo”?

EDYTOWAĆ:

Aby dodać do tego spinkę - w jaki sposób termin ten pasuje do wyrażeń takich jak Enterprise Framework Model? Co dostęp do danych i kontekst danych mają wspólnego z opisami obejmującymi całą firmę?

SkonJeet
źródło
10
Zasadniczo oznacza, że ​​jest to na tyle skomplikowane, że można wokół niego budować biznes konsultingowy ;-)
vartec
3
@SkonJeet: Firmy takie jak IBM i HP często nadużywają terminu „przedsiębiorczość”, a ich model biznesowy polega zasadniczo na świadczeniu usług doradczych w zakresie wdrażania i utrzymywania rozwiązań.
vartec
10
@vartec Myślałem, że oznacza to niepotrzebnie skomplikowane i drogie oprogramowanie, które kupują niezwykle duże korporacje z rozdętymi budżetami IT ze względu na wszystkie pieniądze, które zaoszczędzili na zmniejszeniu personelu IT i niewolnictwie na kierowaniu tymi, którzy pozostali?
wałek klonowy
1
@maple_shaft: tak, to dość dokładny opis ;-)
vartec

Odpowiedzi:

11

Musisz poszerzyć swoją definicję.

Ze strony http://dictionary.reference.com :

en · ter · prise  [en-ter-prahyz] rzeczownik

  1. projekt podjęty lub do podjęcia, szczególnie ważny, trudny lub wymagający odwagi lub energii: utrzymanie pokoju jest trudnym przedsięwzięciem.
  2. plan takiego projektu.
  3. udział lub zaangażowanie w takie projekty: nasz kraj został utworzony przez przedsiębiorstwo stanowczych mężczyzn i kobiet.
  4. śmiałość lub gotowość do podjęcia przedsięwzięcia; awanturniczy duch; pomysłowość.
  5. firma zorganizowana w celach komercyjnych; firma biznesu.

Zgodnie z piątą definicją, którą zacytowałem powyżej, oprogramowanie Enterprise lub licencja Enterprise ma na celu zapewnienie rozwiązania dla całej firmy. Zgodnie ze słownikową definicją PO „Projektem lub przedsięwzięciem” w przypadkach cytowanych przez PO jest firma.

Rozwiązanie dla całej firmy oznacza, że ​​będzie ono stosowane wszędzie tam, gdzie firma ma biuro lub miejsce. Tak więc licencja Enterprise zapewni rozwiązanie dla wszystkich witryn firmy. Różni się to od licencji na Witrynę, która obejmowałaby tylko jedną lokalizację należącą do firmy, a nie wszystkie. Inne użycie terminu Enterprise oznacza po prostu całą firmę i niekoniecznie jest ograniczone z definicji do czegoś związanego z oprogramowaniem. W ten sposób możesz mieć oprogramowanie, dział kadr lub księgowość, a nawet zapas Jelly Beans dla „The Enterprise”. W obu przypadkach słowo Enterprise w odniesieniu do wielkości firmy nie ma znaczenia, ponieważ odnosi się zarówno do małej firmy, jak i do megakorpu.

Wersje oprogramowania dla przedsiębiorstw mają być pełne tego rodzaju funkcji, które zwykle byłyby potrzebne, aby dołączyć do nich rozwiązanie z wieloma serwerami i wieloma serwerami. W tym przypadku jednak przekonasz się, że prawdopodobnie będziesz musiał zapłacić więcej, aby uzyskać więcej funkcji, które prawdopodobnie nie byłyby potrzebne w mniejszym „przedsiębiorstwie”, i dlatego słowo to staje się dużo hiperboli marketingowej jak wszystko.

Aby odpowiedzieć na zredagowaną część odpowiedzi OP, Enterprise Framework to fantazyjna nazwa interfejsu API, który obsługuje implementację produktów przeznaczonych do rozproszonego przechowywania danych i komunikacji, zwykle niezbędnych dla produktów zaprojektowanych z myślą o produkcie obejmującym wiele lokalizacji. Zazwyczaj nie jest to przeznaczone dla małych firm, a jednak można je wykorzystać do tworzenia produktów, które można skalować z jednego serwera / witryny na wiele serwerów / witryn. Chodzi o to, aby produkt mógł rosnąć, aby dopasować się do zmieniających się potrzeb firmy (Enterprise) wraz z rozwojem, takich jak otwieranie biur na całym świecie, ale na przykład udostępnianie wspólnego systemu pocztowego.

Tak więc kwestia użycia słowa „niejasno” lub „luźno” jest w zasadzie trochę nieistotna, ponieważ pojęcie Enterprise zawsze ma oznaczać „w całej firmie, niezależnie od liczby witryn, które trzeba obsłużyć” ... tylko Enterprise jest wyraźnie mniej chętny do powiedzenia, a na przykładach wymienionych przez PO znaczenie słowa Enterprise pozostaje jasne.

S.Robins
źródło
Dziękuję za odpowiedź, która jest bardzo wyjaśniona - i szczerze mówiąc, mam wrażenie, że lepiej rozumiem słowo „przedsiębiorstwo” w kontekście oprogramowania. Wydaje się jednak, że powszechną odpowiedzią jest opisywanie oprogramowania przeznaczonego do skalowalności w całej firmie - ale czy całe oprogramowanie zasadniczo nie jest skalowalne? Chyba że jest źle zaprojektowany. Zobacz także edycję.
SkonJeet
1
@SkonJeet Niekoniecznie. Skalowalność zależy od wielu czynników i nie nazwałbym oprogramowania źle zaprojektowanym, gdyby nie spełniało warunków, których nigdy nie planowano ani nie zaprojektowano. Czy oprogramowanie działa na wielu serwerach? Czy dobrze równolegle wykonuje obciążenie? Czy lokalizuje tekst, aby można go było używać w wielu krajach? Czy będzie budować i działać na innym sprzęcie? Czy jest wielu konsultantów / programistów, którzy mogą go używać / modyfikować? Wszystkie te i wiele innych czynników decydują o tym, jak przydatne jest oprogramowanie dla przedsiębiorstwa, w zależności od jego specyficznych potrzeb.
CodexArcanum
6

Z mojego doświadczenia wynika, że ​​słowo „przedsiębiorstwo” w ustawieniach oprogramowania najczęściej odnosi się do oprogramowania pisanego dla dużej korporacji. Często odnosi się również do oprogramowania wewnętrznego, a nie oprogramowania skierowanego do klienta.

Może się to wydawać dowolną linią do narysowania (i oczywiście, co dokładnie jest „duże”), ale mając napisane oprogramowanie dla różnych rodzajów firm, mogę powiedzieć, że potrzeby dużych firm są bardzo różne od potrzeb potrzeby małych firm, które znów bardzo różnią się od potrzeb osób fizycznych.

Kwestie, które często są nieistotne (a raczej nie warto inwestować) w wielu małych firmach obejmują:

  • Wysoka dostępność / bezproblemowe przełączanie awaryjne
  • Redundancja / odzyskiwanie po awarii
  • Prywatność danych klientów
  • Zgodność z prawem i przepisami
  • Monitorowanie w czasie rzeczywistym, bogate informacje śledzenia do rozwiązywania problemów
  • Nacisk na raportowanie (zazwyczaj pozwalający na inteligentne zarządzanie)

Zaryzykowałbym przypuszczenie, że dzieje się tak, ponieważ koszty ogólne i zyski dużej firmy są na zupełnie inną skalę niż duża firma. Jeśli lista płac małej firmy przechodzi w tryb offline, możesz płacić ręcznie lub przeprosić wszystkich osobiście. Jeśli zdarzy się to w dużej firmie, powstanie. Kiedyś rzuciłem bank na około kilka milionów dolarów traconych na godzinę, aż do znalezienia błędu - to pokazuje perspektywę rzeczy. Niezawodność jest bardzo ważna dla większości dużych firm (przynajmniej na papierze).

Daniel B.
źródło
5

Użycie jest raczej niejasne, ale zwykle oznacza oprogramowanie, które ma działać w dużych organizacjach - na przykład w organizacjach międzynarodowych.

Oded
źródło
Dziękuję za odpowiedź, ale wydaje się, że to nie jedyne normalne użycie tego słowa. Patrząc na link, który Roc podał (w komentarzach do PO), widać, że słowo ma wiele różnych zastosowań. Jedną z rzeczy, która mnie naprawdę denerwuje, jest to, że na poziomie młodszym - sprawdzanie rozwoju i technologii jest wystarczająco trudne bez takich słów latających po branży, aby wywołać zamieszanie.
SkonJeet
3
@SkonJeet - Właśnie dlatego stwierdzam, że termin jest niejasny.
Oded
Dlatego +1 i prawdopodobnie zostanie oznaczony jako odpowiedź. To tak, jakby w społeczności programistów (można to zobaczyć nawet w SO) występuje niemal pewien rodzaj pretensjonalności przy użyciu użytych słów - zaprojektowane przez osoby na wyższym poziomie w celu zaprezentowania swojej wiedzy i wykluczenia tych, którzy jej nie posiadają.
SkonJeet
1
@SkonJeet - „Agile” to kolejne takie słowo.
Oded
1
@ S.Robins - Z całym szacunkiem się nie zgadzam. Zastosowanie w tym kontekście jest niejasne i zależy od tego, kto mówi. Jest to głównie termin marketingowy i nie ma dokładnego znaczenia.
Oded
2

Teoretycznie „rozwiązanie dla przedsiębiorstw” to dowolne rozwiązanie, które jest odpowiednie dla dużych korporacji. W praktyce oznacza to jednak rozwiązania opracowane z myślą „nikt nie zostanie zwolniony za zatrudnienie IBM” .

Z drugiej strony istnieją firmy takie jak Google, Facebook, Amazon itp., Które zbudowały swój biznes na rozwiązaniach, które tradycyjnie nie są uważane za „poziom przedsiębiorstwa”. Na przykład początkowo używali taniego sprzętu CotS . Oprogramowanie, którego używają, to Open Source, a dużą rolę odgrywają języki dynamiczne, które tradycyjnie nie są również uważane za „gotowe do pracy w przedsiębiorstwach” (mimo że są powszechnie używane przez przedsiębiorstwa).

vartec
źródło
„jest to wystarczające rozwiązanie dla dużych firm” - jakie rozwiązanie początkowo nie zostało zaprojektowane pod kątem skalowalności? To jest moje zamieszanie.
SkonJeet,
1
Sporo oprogramowania zaprojektowano tak, aby działało jako pierwsze, a skalowane jako drugie. Skalowalność to YAGNI dla wielu rozwiązań.
Eoin Carroll
Dlaczego użyłeś akronimu YAGNI? 9/10 osób prawdopodobnie nie wie, co to znaczy, i trzeba google google.
SkonJeet
2
@SkonJeet 9/10, którzy nie są programistami, nie wiedzą, co oznacza YAGNI, ale większość programistów wie (lub powinna), to dość powszechny akronim, który pojawia się bardzo często (wraz z DRY, SOLID itp.). I nie ma nic złego w wyszukiwaniu akronimu, nauczyłeś się czegoś nowego, robiąc to.
yannis
2

Definicje są w porządku i dobre. W oprogramowaniu wydaje się, że jest to termin marketingowy - słowo kodowe, które mówi „kup to dla swojej firmy, to poważne oprogramowanie, w którym możesz uzyskać wsparcie”. To, czy to prawda, zależy od produktu, ale taki komunikat próbuje wysłać marketing. Ta część wsparcia jest ważna dla wielu firm - chcą, aby ktoś po drugiej stronie telefonu dzwonił z problemem.

W tym kontekście jest to termin marketingowy.

zaraz
źródło
1

Oprogramowanie dla przedsiębiorstw to zazwyczaj:

  • Okładzina wewnętrzna;
  • Albo krytyczne i / lub używane przez wiele osób w całym przedsiębiorstwie; i
  • Zintegrowany z innymi systemami okładzin wewnętrznych i / lub zewnętrznych

Oprogramowanie dla przedsiębiorstw niekoniecznie musi być wdrażane w dużej firmie. Przykładem może być elektroniczny system dokumentacji medycznej w małym gabinecie lekarskim, który jest zintegrowany z systemami laboratorium szpitalnego i systemami rozpatrywania roszczeń ubezpieczeniowych.

Klif
źródło