Kravmognad - Från tanke till formella modeller

Det dynamiska förloppet från tanke till formell modell-baserad system utveckling (MBSE - Model Based System Engineering) med SysML-baserad (Systems Modeling Language) modellering är en naturlig process av att mogna.

info om Stefans bloggseriePå samma sätt som en tanke och idé ofta förfinas när man pratar om den och får återkoppling, så blir det vi pratat om mer strukturerat och tydligt genom att representera det i någon form. Ofta startar även den mest formella kunskapsrepresentationen som en kladd på en servett eller på vita tavlan under ibland livliga diskussioner. Bilden sparas i regel både mentalt och genom att vi tar kort på det vi skapat. Och varje gång vi möts så ritar vi bilden igen och den förfinas vanligtvis lite varje gång.

Den internationella certifieringen för Kravingenjörskap IREB erbjuder metoder för att förfina och göra textuella representationer mer mogna genom en tydlig uppdelning av olika typer av krav i form av funktionella krav, kvalitetskrav och begränsningar, samt en genomtänkt struktur. Det är värt att notera att begreppet ”icke-funktionella” krav inte används, eftersom det inte tydligt särskiljer kvalitetskrav och begränsningar. Denna mer formella textuella kravskrivningsmetod lyfter även fram hur den mänskliga hjärnan fungerar och att vi inte ser ”verkligheten” utan bara vår egen ”tolkning” av verkligheten, baserat på vad vi fokuserar på, vad vi har för kunskapsdomäner och vad vi för stunden är intresserade av.

Det innebär att som kravingenjörer måste vi kämpa mot fragmenterade verklighetsbilder och vi behöver en stor verktygslåda och en stor mängd specifika frågor för att nysta i den samlade förvirringen. Om vi bara tänker själva och pratar så märker man sällan hur kunskapen är både begränsad, att olika delar motsäger varandra och att vi egentligen inte alls har förstått vad det handlar om. Och än mindre att vi saknar en gemensam bild av hur det hänger ihop. Tankar, prat och servettskisser är en bra början, men är inte lämpade för att beskriva komplexa fenomen som uppkommer inom systemutveckling av system av system ("System of Systems") och med avseende på säkerhetsaspekter och återanvändbarhet.

System av system lyfter det faktum att flera olika system är beroende av varandra. Olika system har ofta olika ägarskap, arkitektur, begränsningar etc. men måste ändå fungera som en helhet för att kunna lösa komplexiteter som uppkommer inom multi-komplexa problem, internet of things och cyber säkerhet. Om något är svårt att förstå, så krävs det starka formella verktyg för representation. Det räcker inte att vi tittar och förstår vårt eget system som en samling av delsystem och subsystem.

Visualisera din idé

Nästa naturliga steg i mognadscirkeln är att visualisera det vi skrivit ner på papper eller digitalt . Vi vet alla att en bild säger mer än tusen ord, men vi vill i detta steg styra vilka ord vi vill ha. Det innebär att även om en bild är bättre än ingen bild alls, så bör vi redan från start stanna till och tänka efter om det vi ska representera visuellt är dynamiskt eller statiskt. Ska vi beskriva något som vi har filmat med en filmkamera, då vi fångar dynamiska händelser och förändringar eller ska vi beskriva något som om vi tagit ett foto och pratar om det vi ser och beskriver den statiska ögonblicksbilden?

Genom att ge den skapade bilden ett tydligt namn och att beskriva vad bilden eller diagrammet visar genom att lägga in en ”diagramberättelse” så kan vi skapa tydlighet och underlätta läsandet av bilden. Att hålla sig till principen att skriva ”Detta diagram visar …”, men även ”Notera att diagrammet visar INTE …” så underlättar vi för läsaren och styr vilka ord och tankar som bilden ska generera.

Analysera

Det sista steget i mognadscirkeln kring kunskapsrepresentation innebär att vi analyserar bilden eller diagrammet som skapats och ser om vi kan göra diagrammet mer kraftfullt och träffsäkert genom att bli formell. För att skapa en kraftfull visuell representation av kunskap bör vi inspireras av existerande standarder för visuella språk. Alla visuella språk har en syntax, en semantik, well-formed formulas och en pragmatik.

Vi kan tänka oss syntax som att vi har tillgång till ett antal olika stämplar som vi kan använda oss av för att stämpla symboler på ett papper. Semantik utgör då vad varje enskild stämpel har för betydelse i det specifika sammanhanget när vi använder stämplarna. Det finns naturligtvis även begränsningar på hur olika stämplar får kombineras i den aktuella situationen vilket skapar ett mer eller mindre välkänt regelverk för hur de får användas för att vara "välformulerade", så kallade Well-formed formulas. En pragmatik visar slutligen hur dessa stämplar används och hur de bör användas för att representera kunskap i verkligheten.

Ett exempel på ett formellt definierat visuellt språk för att representera kunskap inom systemutveckling är SysML som förvaltas av Object Management Group. SysML är en akronym för Systems Modeling Language.
Mognadshjulet ikoner

En mogen kunskapsrepresentation innebär även att arbetsprocesserna bejakar användande av formella modeller, ofta i ett modelleringsspråk som exempelvis SysML och att vi har ett verktyg för att hantera både de textuella kraven och alla SysML diagram.

En modell innehåller många olika typer av diagram på olika abstraktionsnivåer som alla hänger ihop. Det är otroligt spännande att jobba med en mogen organisation som lärt sig att visualisera det som gör sig bäst på bild snarare än text, att använda kraftfulla språk fast på ett ”lagom” och ”good-enough” sätt som passar med organisationens behov.


All produktutveckling kräver kunskap och vi måsta ställa oss frågor om hur vi representerar denna kunskap på bästa sätt. Att bara prata om komplexa saker eller om saker som kan få stor konsekvens på verksamheten som helhet är inte proffsigt helt enkelt. MBSE, Model Based System Engineering kan bara utföras med en ganska låg ambitionsnivå för mindre projekt med mindre påverkan på verksamheten. Dock kan MBSE även hantera stora komplexa produkter och förändringar genom sitt fokus på att skapa otvetydiga bilder med ett riktigt visuellt språk.

Det viktigaste är dock inte att vi ”ritar rätt” enligt regelboken och SysML specifikationerna, utan att vi visualiserar våra tankar, det vi pratar om, det vi kladdat ner och våra mer genomarbetade krav. Ibland är till och med en enkel mind-map en visuell modell som är ”good enough”.

Modellera mera!

 

Bättre kommunikation

Nedan hittar du min Pdf för bättre kommunikation inspirerad av e-sporten. Den innehåller 11 punkter som du kan ta med dig in i ditt projekt. 

11 punkter för bättre kommunikation - Mustasch och Hängslen

Alla blogginlägg

Vi rekommenderar också