1.
Bredden-först eller djupet-först
Oavsett om man anser sig ha sina rötter i
verksamhet eller IT, är det klokast att lära sig båda, och då stegvis snarare
än allt på en gång. Egentligen är det ingen dramatisk skillnad mellan designvalet
av sökstrategi för en sökmotor och kunskapsvalet av kompetensstrategi för en praktiskt
inriktad roll: Att kombinera bredd och djup lönar sig först lite längre fram på
vägen.
Djupet-först
förutsätter dels ett informerat val, dvs
information och tumregler i företaget som leder in ”rätt” på de grenar i (sök-
resp kunskaps-)trädet som är kandidater för fullträff, och dels backtracking ur grenar som visat sig vara återvändsgränder.
Bredden-först å andra sidan är feltolerant (det går inte att totalmissa något)
och ibland mer resurskrävande men kan också ge ”biprodukter” användbara i
närtid. Bland Informators arkitekturkurser finns båda alternativen (SoftwareArchitecture resp ArchitectureFundamentals).
2. Grepp om modellering (och animering)
I agil miljö
krävs tillräcklig kunskap om modellering, UML, och framförallt om olika rollers
behov av olika information, för att göra dokumentationen till ett slimmat och
selektivt kommunikationsstöd. Dels handlar det om ”rätt” abstraktionsnivå (vad
man utelämnar när), dels om att använda en passande mix av diagram,
affärsregler, formler, kodexempel, testfall, animeringar, skrift, tal, osv.
Alla roller behöver inte se allt, och all kommunikation är inte diagram, men
några UML-diagram
på rätt plats snabbar märkbart upp diskussionen vid en whiteboard och håller
den till punkt. En del diagram kan också vara värda att animera, för att
åskådliggöra för andra hur saker fungerar. I högskolemiljön blev UML ibland som
två läger: ”allt” (bild) mot ”inget” (”bild överflödig” i dubbel bemärkelse J).
Praktiskt handlar det mest om relevant modellering, att betona de diagram som
är mest ändamålsenliga, och att få dem ”lagom bra” (Just Barely Good Enough).
3. Mönster
“Patterns are
tools, not rules” hette det redan på Gammas & GoF:s tid, och det är än mer
sant ur en arkitekts synvinkel. Förutom att de banar vägen för kunskapsdelning
och komponentifiering stödjer de också kontinuerligt lärande ”i portioner”,
vilket passar in i agila praktikers vardag. Det är viktigt att förstå och förankra
skillnaden mellan objekttänkande, designmönster, processmönster, analysmönster,
och arkitekturmönster (och naturligtvis även arkitekturtaktiker, som är mer
”one-pointed” än mönster). Det är en nyansskillnad och ingen avgrund, visst,
men det finns få mönster som verkligen tillhör flera kategorier.
4. Grepp om icke-funtionella krav (NFR) och
kvalitetsegenskaper (QA)
Även sådant som
handlar om annat än funktionalitet kan hjälpa eller stjälpa en given arkitektur
(säkerhet är ett välkänt exempel). ISO 25010-standarden (bild) listar 8
”kvalitetskarakteristika” (40 inklusive ”subkarakteristika”), så det gäller att
välja rätt i mängden. I en agil miljö med tydliga tidsramar är det mest
produktivt att ”skjuta in sig” på de QA som varit mest eftersatta i företaget.
Oftast är det de som är svårare att mäta än prestanda och tillgänglihet. Till
exempel säkerhet, modifierbarhet/varierbarhet, användbarhet... Det i sin tur skapar
nya utmaningar för arkitekter, dels i form av testfall och verifiering (det
räcker inte att ”man tycker” att nu är systemet och kringrutinerna ”säkra”),
dels intern insäljning då säkerhetsinvesteringar är ungefär lika omtyckta hos
budgetansvariga som höjda försäkringspremier...
5. Att stödja och fungera i en agil kultur
Här behöver man
kommunikation, soft skills, ibland diplomati, och kunskapsledning genom
informell auktoritet (mer av en ”influencer” med erfarenhet än en uppifrån
bemyndigad ”polis”).
Med det följer
att föregå med gott exempel, så att även arkitekturen,
arkitekturdokumentationen, och sättet att arbeta fram dem, följer agilt
tänkande med minimerad overhead, iterationer, snabb informell relevant
kommunikation, horisontella samarbetsformer, stand-up möten, mm.
6. Att tidigt stödja, använda, och anpassa
modern kommunikation
Videomöten,
webinarier med desktop-sharing, interna ”sociala medier” med olika ämnestrådar,
m fl nya leveransformer (för kunskap) har många fördelar. Samtidigt gäller det
att i arkitektrollen pusha för deras säkerhet, användbarhet, feedback och
anpassningar, och att ändå träffas face-to-face när det tillför ett mervärde
utöver remote-kontakten (att kommunicera elektroniskt med alltifrån
kaffekokaren till utvecklaren i rummet bredvid är att gå över ån efter vatten,
och kan dessutom ge ryggproblem av sittande. J)
// Milan Kratochvil konsult, Kiseldalen.com och kursledare hos Informator inom IT-arkitektur.
Huvudförfattare: GrowingModular: Mass Customization of Complex Products, Services and Software samt
UMLXtra Light: How to Specify Your SW Requirements
UML 2 Professional, OCUP Advanced Level
(certifikatnivå 3 av 3)
Milan samarbetar med Informator
sedan våren 1996 inom modellering, UML, krav, analys, arkitektur och design. Håller
f.n. kurser i grundläggande Arkitektur,
Modular Product Line Architecture (T1430),
i modellering (T2715,
T2716),
och 2013 höll han också Informators fullsatta Frukostseminarium om användningsfall.
Skicka en kommentar
Trevligt att du vill dela med dig av dina åsikter! Tänk på att hålla på "Netiketten" och använda vårdat språk.