Certifierad mjukvaruarkitekt
med specialinriktning Microsoft-teknologier

Om certifieringsprogrammet

Med början hösten 2008 startar vi tillsammans med Microsoft AB ett nytt certifieringsprogram för mjukvaruarkitekter. När du gått igenom hela utbildningen för certifiering av mjukvaruarkitekt får du ett diplom som bevisar att du har gått igenom denna utbildning, men du får också möjlighet att genomföra en hemuppgift för att bli certifierad mjukvaruarkitekt.

Denna hemuppgift får du sedan tillfälle att presentera och försvara inför en panel av arkitekter. Om panelen anser att du löst hemuppgiften väl, och att du dessutom har presenterat och försvarat den väl, erhåller du ditt certifikat. Certifikatet är utfärdat av Sundblad & Sundblad och Microsoft tillsammans. Misslyckas du första gången får du ytterligare en eller två chanser. Läs mer om själva certifieringen här.

För vem?
Programmet är utformat för dig som arbetar i Microsoftmiljö och som antingen arbetar som, eller vill arbeta som, mjukvaruarkitekt eller mjukvaruingenjör. Det är särskilt lämpligt för dig som vill bättra på dina kunskaper inom detta område, och som dessutom vill ha ett gångbart kvitto på att du besitter dessa kunskaper.

Varför 2xSundblad?
Vi på Sundblad & Sundblad har god och väl dokumenterad erfarenhet av att utveckla och genomföra effektiv utbildning inom området mjukvaruarkitektur. Under åren 2004 till 2006 certifierade vi, även den gången i intimt samarbete med Microsoft AB, 259 .NET-arkitekter.

Två av dessa har senare lyckats att bli godkända och certifierade som Microsoft Certified Architects (MCA). Att klara detta examensprov inför en tuff panel är inte lätt – det är fler som blir underkända än som blir godkända.

Microsoft har kört detta program sedan 2005 men ändå finns det i hela världen inte mer än drygt 100 MCAer. Två av dem är svenskar, och båda har gått igenom vårt tidigare certifieringsprogram.

Ett annat tecken på kvaliteten i vår utbildning och vårt utbildningsmaterial är att Microsoft USA efter sex måndaders noggrann utvärdering och jämförelse med konkurrerande anbud har köpt rätten att själva använda vårt curriculum från den tidigare certifieringsomgången.

Vad ingår?
Det nya certifieringsprogrammet bygger på det gamla men är kraftigt vidareutvecklat och förbättrat. Det består av två delar:
  • En lärarledd klassrumsdel med fem sammankomster om vardera två dagar. Läs mer om innehållet i denna del här.
  • En onlinedel med fyra onlinekurser. Du läser in dessa onlinekurser mellan de lärarledda sammankomsterna.

Ingående arkitektroller
Sundblad & Sundblad har identifierat fem arkitektroller och en ingenjörsroll som var och en är viktig för etablerandet av det agila och elektroniskt betjänade företaget. Programmet ger dig god kunskap om uppdrag, arbetssätt och leverabler för var och en av dessa roller, liksom om hur de måste samverka för att uppnå bästa resultat.

De roller som sätts i skarpast fokus är dock mjukvaruarkitektens (Software Architect) och mjukvaruingenjören (Software Engineer). Mjukvaruarkitekten är ansvarig för mappning mellan verksamhet och teknik; mjukvaruingenjören för utformningen av den tekniska lösningen.

I praktiken spelas dessa roller ofta av samma person. Som mjukvaruarkitekt måste du ha god kunskap också om mjukvaruingenjörens roll.

Som mjukvaruarkitekt måste du också ha god kunskap om verksamhetsarkitektens (Business Architect) roll. En stor del av den andra sammankomsten, och en försvarlig del av den tillhörande onlinekursen, ger dig god kunskap om villkoren för denna roll och om hur mjukvaruarkitekten måste samverka med verksamhetsarkitekten.

Microsoft-teknologier
Som sig bör är en stor del av programmets innehåll oberoende av vilka IT-teknologier som skall komma till användning. Men ju närmare tekniken du kommer, desto viktigare är det att du förstår vilka teknologiska möjligheter som finns tillgängliga för den lösning som skall tas fram.

Som mjukvaruarkitekt och mukvaruingenjör behöver du en utvecklingsplattform med tillhörande verktyg både för att utforma och beskriva din lösning och för att implementera den.

Vi har valt att genom hela programmet utgå från Microsofts utvecklingsplattform. Vi har också valt att berätta om och redovisa sådana verktyg och sådana teknologier som du kan använda inom ramen för Visual Studio och .NET. Här följer en ofullständig lista över verktyg och teknologier som i olika grad av grundlighet behandlas i programmet:

  • Microsoft .NET
  • Windows Communication Foundation (WCF)
  • Visual Studio
  • Visual Studio Application Designer
  • Visual Studio System Designer
  • Visual Studio Deployment Designer
  • Web Services Software Factory (WSSF)
  • Sparx Enterprise Architecture (UML m.m.)
  • InRule (Business Rules software)
  • NORMA (Neumont Object Role Modeling Architecture)
  • Microsoft Workflow Foundation
  • Microsoft SQL Server
  •  Microsoft BizTalk Server
  • Oslo (Microsoft's next generation modeling platform for better integration between IT and the business)

Arkitektur och "agility"

Agility är ett begrepp som oftast sätts i samband med "agile development approaches" som Scrum, XP och Lean. Förespråkare för sådana angreppssätt har ofta uttryckt att ett systems arkitektur måste växa inifrån och utåt, och att det därför inte är meningsfullt att etablera en arkitektur innan uppdraget att utveckla systemet ges till en agil grupp av utvecklare.

Vi menar att detta är en myt, och att det i grunden inte alls finns något motsatsförhållande mellan en verksamhetsdriven arkitektur och agila utvecklingsmetoder. En del av den andra lärarledda sammankomsten ägnas åt idéer om hur du kan kombinera verksamhetsdriven arkitektur med Scrum, XP och Lean Software Development.

Viktigare än att använda agila utvecklingsmetoder är emellertid att etablera en mjukvaruarkitektur som inte motverkar business agility. Ett företag som är agilt är ett företag som snabbt kan förändra sitt arbetssätt när marknaden och omvärlden kräver snabb förändring. Tyvärr lägger företagens mjukvaru-arkitektur hinder i vägen för snabb förändring av verksamheten.

En förutsättning för det agila företaget är att dess mjukvaruarkitektur är nära anpassat till företagets verksamhetsarkitektur. Denna idé, att anpassa företagets mjukvaruarkitektur till dess verksamhetsarkitektur för att åstadkomma "business agility" genomsyrar hela utbildnings- och certifieringsprogrammet.