Hvad er en funktion?
En funktionsmodel er en visuel repræsentation af de forskellige funktioner inden for et softwareprodukt eller en familie af relaterede produkter, der viser, hvilke er obligatoriske og hvilke der er valgfri, for at give seeren en idé om tilgængelige konfigurationer. Funktionsmodeller er nyttige både i udvikling og salg og kan fastlægges på forskellige måder. De fleste har form af et diagram med standardiserede markeringer for at gøre det nemt at læse informationen som præsenteret.
I produktudvikling kan medlemmer af udviklingsholdet brainstorme for at diskutere, hvad de ønsker at inkludere i et produkt eller en række produkter. Dette kan resultere i oprettelse af en funktionsmodel, et diagram, der viser de vigtigste funktioner og de forskellige måder, de kunne konfigureres på. For eksempel kan et firma, der laver en pakke programmer til brug i kontorproduktivitet, muligvis have en ordprofessor, regnearksprogram, grundlæggende tegningsprogram og oprettelsesprogram til slideshow. Det kunne opbygge en funktionsmodel, der viser disse indstillinger i softwarepakken og forskellige konfigurerbare funktioner inden for hver enkelt.
En vigtig overvejelse er, hvilke funktioner der skal inkluderes, og hvilke der kan være valgfri, herunder valg mellem to forskellige funktioner for at udføre den samme funktion. I en online butik er sikkerhed f.eks. Nødvendig for at kryptere kundeoplysninger, så dette er obligatorisk. Sikkerhedssystemet kunne fungere på flere forskellige måder med forskellige niveauer af sikkerhed, og disse vil blive repræsenteret som "eller" indstillinger, der forgrener sig fra den obligatoriske butikssikkerhedsfunktion.
Efterhånden som produktudviklingen skrider frem, kan en funktionsmodel skifte som svar på ændringer foretaget af produktet. Teammedlemmer kan identificere behovet for yderligere funktioner eller kan beslutte at skære funktioner, der oprindeligt brainstormede i de tidlige stadier af udviklingen. De kan bestemme, hvilke funktioner der skal være integrerede i modsætning til valgfri. Dette kan omfatte opsætning af forskellige lag, som en gratis version af et softwareprodukt versus en betalt version med flere funktioner, hvor virksomheden ønsker at tilskynde folk til at prøve den gratis version og udvide til den betalte version.
Kunder kan se på en funktionsmodel, når de bestiller tilpasset software. Forgreningsdiagrammet tilbyder et antal valg, der giver kunderne mulighed for at konfigurere det efter deres behov. Et hospital, der bestiller journalsoftware, ønsker muligvis software med medicinsk billeddannelsesintegration, eller ønsker måske en faktureringsfunktion såvel som en registreringsfunktion til at strømline journalføring. Det kan blande og matche de funktioner, det ønsker inden for de fleksible parametre for at generere en brugerdefineret ordre.