Låt mig inleda det här inlägget med att säga att rubriken på det här inlägget är vald för att få delta i debatten, men det finns en potentiell poäng vill jag påstå. I repliken på IDG som publicerades nyligen så fick jag tyvärr inte riktigt plats med mer utförliga svar så jag passar på i bloggen istället.

Jag anser att det är lysande att vi får en nyanserad och konstruktiv dialog med communityn gällande hur vi redan utvecklar eller bör utveckla våra produkter och tjänster, men debatten måste vara konstruktiv. ALT.NET är ett mycket bra initiativ för att samla intrycken och även förespråka både alternativ, dialog och konkurrens.

Men vad har det här med tonåringar att göra?

Jo, jag kan minnas allt för väl hur jag själv agerade i tonåren, ville ha det ena och det andra och var allmänt säker på att alla de val som jag och mina kamrater med mig gjorde var absolut rätt och det enda vettiga alternativet att välja. Tack och lov kan jag känna så här i efterhand så tilläts jag ändå inte göra precis på det sätt som jag själv alltid ville, jag hade inte helheten och erfarenheten att göra alla dessa val vid just den tidpunkten.

När jag sedan också reflekterar på hur jag själv agerar när mina egna barn kontinuerligt gör mig uppmärksam på att saker och ting bör förändras så inser jag att när det skriks och tjafsas om detaljer, separerade från helheten och helt ifrånkopplade från varandra så brister inte bara min koncentration utan till slut och mitt intresse för att lyssna, även fast de ibland har helt rätt i sina synpunkter.

För närvarande får vi kritik för hur vi har implementerat stöd för TDD i våra produkter, hur vår ansats på en Dependency Injection teknik ser ut, hur vår ORM-teknik (Entity Framework) fungerar och även hur vårt väldigt öppna ramverk för ASP.NET MVC börjar ta form. Dessa är bara några av de saker som kritiseras, i vissa fall helt motiverat, både kritik och konkurrens främjar för vidareutveckling och dialog, men vi måste vara konstruktiva och inte bara falla tillbaka på; använd något annat...

Jag noterar också att kommentarerna på min replik också berör att Microsoft inte är tillräckligt öppna utan måste öppna mer och mer, villket jag igen anser att det är precis det vi gör, varje dag. Men vi kommer antagligen aldrig vara tillräckligt öppna för alla.

Vår öppenhet sträcker sig dock inte bara till källkod utan också till insyn i “stängda projekt” där vi samtidigt får en hel del kritik från kunder som anser att vi är för öppna, det släpps för många CTP’er och versioner av beta-tekniker för att kunden i sin tur ska hinna ta del av alla nyheter. Om någon kan skapa formeln för rätt nivå på öppenhet för alla våra kunder så är jag mycket intresserad, den är inte helt trivial.

Jag skulle också vilja att communityn ibland höjer perspektivet och istället för att stirra sig blind på detaljer som om en produkt eller teknik heter A eller B och gör på det ena eller andra sättet, försöka skapa sig en helhetsbild. Är det verkligen relevant för en stor lösning om vi använder Spring, Windsor eller Unity för att skapa en IoC eller DI-funktionalitet? Det är lite som att jag faktiskt struntar fullständigt i om när du träffar mig under en presentation, har på dig en tröja från HM, Dressman eller Ralph Laurent, bara du har på dig en tröja och inte går naken på överkroppen.

Är det inte bättre att både vi (Microsoft) och communityn förespråkar mönster och rekommendationer och att vi tillsammans försöker främja kompetensutvecklingen hos den generella utvecklaren och bidrar till bättre lösningar och nytta för kunden i slutändan. Vi försöker själva göra det via rekommendationer och riktlinjer på codeplex. Och tillsammans med ALT.NET så tror jag vi kommer nå ytterligare gemensamma framgångar.

När kritiken dock tar upp att våra produkter och då speciellt utvecklingsverktygen bara är gjorda för att passa i vår egen utvecklingsprocess så blir jag lite förvånad. Jag vågar absolut påstå att Microsoft har en stor framgång i mjukvaru-utveckling och vi har massvis med kunder och partners som vänder sig till oss för att lära sig precis hur vi själva använder våra verktyg för att de själva ska kunna dra nytta av våra lärdomar och också bli framgångsrika själva.

Ett praktexempel på det anser jag också vara hur vår SDL-process har paketerats, dokumenterats och exporterats för att säkerställa att alla utvecklare ska kunna bli bättre på att skriva säkrare lösningar med hög kvalitet med en strukturad process.

Jag hade själv en mycket intressant dialog med Scott Bellware under en av dagarna på ÖreDev konferensen och blev naturligtvis både inspirerad och förvånad på samma gång över hans enorma passion för Microsofts plattform och teknik, trots att han som han själv poängterade driver ett företag som helt fokuserar på Java.

Jag tror att Microsoft tillsammans med ALT.NET kommer att dra flertalet gemensamma strån till stacken i framtiden och ser oerhört positivt på både samarbetet och konkurrensen. Vad ALT.NET lyckas åstadkomma som jag avslutningsvis vill påstå är den absoluta styrkan är en gemensam erfarenhet som gör ALT.NET till en mycket värdefull och inflytelserik partner till Microsoft i allmänhet och mig själv i synnerhet.

Full fart framåt!