Anpassad programvara
Anpassad programvara (även känd som skräddarsydd programvara eller skräddarsydd programvara ) är programvara som är speciellt utvecklad för någon specifik organisation eller annan användare. Som sådan kan det jämföras med användningen av mjukvarupaket som utvecklats för massmarknaden, till exempel kommersiell programvara från hyllan eller befintlig fri programvara .
Överväganden
Eftersom skräddarsydd mjukvara är utvecklad för en enskild kund kan den tillgodose kundens speciella preferenser och förväntningar, vilket kanske inte är fallet för kommersiell programvara från hyllan. Anpassad programvara kan utvecklas i en iterativ process, vilket gör att alla nyanser och eventuella dolda risker kan tas i beaktande, inklusive problem som inte nämndes i de ursprungliga kravspecifikationerna (som i regel aldrig är perfekta). I synnerhet kan den första fasen i mjukvaruutvecklingsprocessen involvera många avdelningar, inklusive marknadsföring , teknik , forskning och utveckling och allmän ledning .
Stora företag utvecklar vanligtvis anpassad programvara för kritiska funktioner, inklusive innehållshantering , lagerhantering , kundhantering , personalhantering eller på annat sätt för att fylla luckorna i befintliga programvarupaket. I många fall är sådan programvara äldre mjukvara , utvecklad innan kommersiell mjukvara från hyllan eller gratis programvarupaket som erbjuder den nödvändiga funktionaliteten med en acceptabel nivå av kvalitet eller funktionalitet blev tillgängliga eller allmänt kända. Till exempel BBC mycket pengar på ett projekt för att utveckla sin egen anpassade programvara för produktion och hantering av digitala medier, men projektet upplevde problem och avbröts efter många års utveckling. En viktig orsak till att projektet avbröts var att det hade blivit uppenbart att det fanns kommersiell mjukvara från hyllan som vid den tidpunkten var tillräcklig för BBC:s behov och tillgänglig för en liten bråkdel av priset.
Anpassad mjukvaruutveckling anses ofta vara dyr jämfört med standardlösningar eller produkter. Detta kan vara sant om man talar om typiska utmaningar och typiska lösningar. Det är dock inte alltid sant. I många fall kommersiell programvara från hyllan anpassning för att korrekt stödja köparens verksamhet. Kostnaden och fördröjningen för anpassning av kommersiell programvara från hyllan kan till och med öka kostnaden för att utveckla anpassad programvara.
Kostnaden är inte heller den enda faktorn i beslutet att utveckla skräddarsydd programvara, eftersom kraven för ett skräddarsytt programvaruprojekt ofta inkluderar att köparen äger källkoden, för att säkra möjligheten till framtida förbättringar eller modifieringar av det installerade systemet för att hantera förändrade krav. Men modern kommersiell hyllprogramvara har ofta applikationsprogrammeringsgränssnitt (API) för utökningsbarhet - eller ibland, som i fallet med Salesforce.com , ett domänspecifikt språk (DSL) - vilket innebär att kommersiella hyllprogramvarupaket ibland kan rymmer ett brett utbud av anpassningar utan att behöva komma åt källkoden för kärnreklamen från hyllan.
Dessutom kommer kommersiell programvara från hyllan med förhandslicenskostnader som varierar enormt, men ibland uppgår till miljontals amerikanska dollar. Dessutom förnyar de stora mjukvaruhusen som släpper kommersiella mjukvaruprodukter från hyllan sin produkt mycket ofta. Därför kan en viss anpassning behöva uppgraderas för kompatibilitet vartannat till vart fjärde år. Med tanke på kostnaden för anpassning kan sådana uppgraderingar också visa sig vara dyra, eftersom en dedikerad produktutgivningscykel kan behöva öronmärkas för dem. Men i teorin kan användningen av dokumenterade API:er och/eller DSL:er, i motsats till direktåtkomst till interna databastabeller och kodmoduler, för anpassning minimera kostnaden för dessa uppgraderingar. Detta beror på att kommersiella mjukvaruleverantörer kan välja att använda tekniker som:
- göra ändringar "under huven" samtidigt som bakåtkompatibiliteten bibehålls med anpassningar skrivna för äldre API- eller DSL-version(er)
- stöder gamla API-version(er) och nya API-versioner samtidigt i en ny version av programvaran
- publiceringsvägledning som varnar om att stöd för gamla API- eller DSL-versioner ska tas bort från produkten i en efterföljande version, för att ge kunderna mer tid att anpassa anpassningar.
Beslutet att bygga en skräddarsydd programvara eller satsa på en kommersiell programvara från hyllan skulle vanligtvis vila på en eller flera av följande faktorer:
- Ekonomi - både kostnad och nytta: Förskottslicenskostnaden för kommersiella produkter från hyllan innebär att en grundlig kostnads-nyttoanalys av affärsfallet måste göras. Det är dock allmänt känt att stora skräddarsydda mjukvaruprojekt inte kan fixa alla tre av omfattning, tid/kostnad och kvalitetskonstant, så antingen kostnaden eller fördelarna med ett anpassat mjukvaruprojekt kommer att vara föremål för en viss grad av osäkerhet - även om man bortser från osäkerheten kring affärsfördelarna med en funktion som är framgångsrikt implementerad.
- Leverantör - I fallet med kommersiell programvara från hyllan, är det troligt att leverantören kommer att vara kvar länge, och kommer det att finnas adekvat support och anpassning tillgänglig? Alternativt, kommer det att finnas en realistisk möjlighet att få support och anpassning från tredje part? När det gäller skräddarsydd programvara kan mjukvaruutvecklingen läggas ut på entreprenad eller göras internt. Om det läggs ut på entreprenad är frågan: är leverantören ansedd och har de en bra meritlista?
- Time to market: kommersiella produkter från hyllan har vanligtvis en snabbare tid till marknaden
- Implementeringsstorlek: kommersiell off-the-shelf-mjukvara kommer med standardisering av affärsprocesser och rapportering. För en global eller nationell organisation kan dessa ge vinster i kostnadsbesparingar, effektivitet och produktivitet, om filialkontoren alla är villiga och kan använda samma kommersiella programvara från hyllan utan tunga anpassningar (vilket inte alltid är givet).
Stora fält
Konstruktion
Byggbranschen använder anpassad programvara för att hantera projekt, spåra förändringar och rapportera framsteg. Beroende på projektet modifieras mjukvaran för att passa de särskilda behoven hos en projektägare , designteamet och general- och handelsentreprenörerna.
Projektspecifik data används på andra sätt för att passa varje projekts unika krav. Anpassad programvara tillgodoser ett projektteams speciella preferenser och förväntningar, vilket gör den lämplig för de flesta byggprocesser och utmaningar:
- design utveckling
- anbudsförfaranden
- dokument kontroll
- godkännanden av butiksritningar
- förändringsledning
- besiktningar och driftsättning
- sätt att hitta
Anpassade mjukvaruutvecklare använder olika plattformar, som FileMaker Pro , för att designa och utveckla anpassad programvara för byggbranschen och för andra industrier.
Sjukhus
Sjukhus kan föra elektroniska journaler och hämta dem när som helst. Detta gör det möjligt för en läkare och hans eller hennes assistenter att överföra uppgifter om en patient genom ett nätverk.
Att förvara patienternas blodgrupper i en sjukhusdatabas gör sökningen efter lämpligt blod snabbare och enklare.
Sjukhus använder också faktureringsprogram, särskilt i sina apotek .
Utbildningsplatser
Skolor använder anpassad programvara för att behålla antagningsinformation om elever. De producerar också överföringscertifikat. Vissa regeringar utvecklar speciell programvara för alla sina skolor. Sampoorna är ett projekt för skolledningssystem som implementerats av Education Department of Government of Kerala, Indien för att automatisera systemet och processen för över 15 000 skolor i delstaten. Dessa projekt ger en enhetlighet för skolorna.
Detaljhandeln
Fakturering är en vanlig användning av anpassad programvara. Anpassad och . programvara används ofta av små butiker, stormarknader grossister för att hantera lagerdetaljer och generera räkningar
Stora projektöverskridanden och misslyckanden
Misslyckanden och kostnadsöverskridanden av statliga IT-projekt har undersökts omfattande av brittiska parlamentsledamöter och tjänstemän; de har haft en rik söm av misslyckanden att undersöka, inklusive:
- NHS nationella program för IT
- Landsbygdens betalningsmyndighets datorsystem. Den 15 mars 2006 fick verkställande direktören Johnson McNeil sparken när en deadline den 14 februari för beräkning av engångsbetalningssystemet missades.
- Universal Credit - den första testversionen kunde inte ens utföra de mest grundläggande funktionerna korrekt; efter schemat och enligt uppgift har projektet startat om.
- 1992 - LASCAD - London Ambulance Services nya datorstödda sändningssystem - tillfälliga krascher som orsakar förseningar i dirigering av ambulanser. Ett tidigare försök att utveckla ett anpassat avsändningssystem för London Ambulance Service hade också skrotats.
Fördelar och nackdelar
När ett företag överväger en mjukvarulösning är alternativen i allmänhet mellan att skapa ett kalkylblad (vilket ofta görs i Microsoft Excel ), att skaffa en produkt från hyllan eller att få anpassad programvara skapad specifikt för att möta deras behov. Det finns fem huvudkriterier för att välja rätt lösning:
Kriterium | Natur |
---|---|
Utvecklingskostnad och tid | Kvantitativ |
Övriga personalkostnader | Kvantitativ |
Systemeffektivitet | Kvantitativ |
Serviceförbättring | Kvalitativ |
Flexibilitet | Kvalitativ |
Även om initiala bedömningar av alternativen enligt dessa kriterier kan avvika kraftigt från verkligheten för den eventuella lösningen när den omsätts i praktiken, på grund av faktorer som kostnadsöverskridanden, otillräcklig utbildning, dålig produktanpassning, lösningens tillförlitlighet, etc.
Dessa faktorer måste ta hänsyn till verksamhetens drift, dess bransch, storlek och omsättning. Som sådant kan beslutet endast fattas på företagsbasis för att avgöra om det motiverar en anpassad utveckling, såväl som ägande av programvaran.
Fördelar
Anpassad programvara kommer i allmänhet att producera det mest effektiva systemet eftersom det kan ge stöd för företagets specifika behov, som kanske inte är tillgängligt i en färdig lösning och kommer att ge större effektivitet eller bättre kundservice.
Givet ett lämpligt tillvägagångssätt för utveckling, såsom DSDM , kommer anpassad mjukvara också att producera den bästa eller mest välriktade tjänsteförbättringen. Företag kan skräddarsy programvaran efter vad deras kunder vill ha istället för att behöva välja ett paket som vänder sig till en generisk marknad. Till exempel kan ett tryckeri vill ha programvara som svarar på kortast tid, medan ett annat tryckeri kan fokusera på att producera de bästa resultaten; eftersom dessa två mål ofta är i konflikt, kommer ett hyllpaket normalt att sitta någonstans i mitten medan med anpassad programvara kan varje företag fokusera på sin målgrupp.
Även om det inte alltid är det mest lämpliga för större eller mer komplexa projekt, tillåter ett kalkylblad mindre teknisk personal på ett företag att modifiera programvaran direkt och få resultat snabbare. Anpassad programvara kan vara ännu mer flexibel än kalkylblad eftersom den är konstruerad av mjukvaruproffs som kan implementera funktionalitet för ett brett spektrum av affärsbehov.
Nackdelar
De största nackdelarna med anpassad programvara är utvecklingstid och kostnad. Med ett kalkylblad eller ett standardprogrampaket kan en användare snabbt få fördelar. Med anpassad programvara måste ett företag gå igenom en mjukvaruutvecklingsprocess som kan ta veckor, månader eller med större projekt, år. Buggar som av misstag introducerats av mjukvaruutvecklare, och noggranna tester för att åtgärda buggar, kan hindra processen och göra att den tar längre tid än förväntat. Men kalkylblad och vanliga mjukvarupaket kan också innehålla buggar, och eftersom de dessutom kan distribueras på ett företag utan formell testning, kan dessa buggar glida igenom och orsaka affärskritiska fel.
Anpassad programvara är ofta flera gånger så stor som kostnaden för de två andra alternativen och kommer normalt att inkludera en löpande underhållskostnad. Detta kommer ofta att göra anpassad programvara omöjlig för mindre företag. Dessa högre kostnader kan vara obetydliga i större företag där små effektivitetsökningar kan relatera till stora arbetskostnadsbesparingar eller där skräddarsydd programvara ger en stor effektivitetshöjning.
Hybridmodell
Särskilt med modern molnmjukvara är en hybridmodell av skräddarsydd mjukvara möjlig där huvudfokus ligger på den kommersiella mjukvaran från hyllan - främst obalansen mellan dess egenskaper, funktioner och affärskrav, preferenser och förväntningar. Tanken här är att köpa en kommersiell programvara från hyllan som uppfyller det maximala antalet krav och utveckla anpassad programvara (tillägg eller tillägg) för att fylla luckorna som den lämnar. Detta är standardmetoden som används vid implementering av till exempel SAP ERP .