7/10/2009

Agile @ Microsoft, or: did Microsoft managed the turnaround?

Do you want to know how to deliver software in a big (what I mean is really big) project in-time and aligned at customers' needs? Please have a look at the very interesting article about the development of Windows 7.

Some of my highlights out of this article (in German, sorry):

"Microsoft hat gelernt, den Fehler zu fürchten. Die Firma musste mitansehen, wie sich der Start des Betriebssystems Windows Vista [Windows 6] um Jahr und Tag verzögerte. Es war viel schwerer als gedacht, alle Fehler auszuräumen. Als Vista endlich auf den Markt kam, wirkte es sperrig, überfrachtet und mitunter quälend langsam."

"Windows 7 ist stabil, schnell und leicht zu bedienen. Es ist sogar elegant."

"Die Entwicklung
[von Windows 6] war ingenieursgetrieben", sagt Microsoft-Sprecher Thomas Mickeleit. Von nun an, so viel stand fest, sollte der Kunde treiben. Nur: Wer war dieser Mensch?"

"Der Riese aus Redmond - 90.000 Mitarbeiter, 60 Milliarden Dollar Umsatz [...] gilt seit 34 Jahren als das Gegenteil von cool."

"Die Extremprogrammierer, wie sie sich nannten, zeigten die typische Strenge von Häretikern. Ihre Disziplin war die Antwort auf die bürokratische Verzettelung, die in der Software-Industrie damals um sich griff. Immer monströsere Programme wurden in Auftrag gegeben, mit Anforderungen oft hoffnungslos überfrachtet."

"Die kleinste Einheit vieler Entwicklergruppen bei Microsoft ist nun das Paar: je ein Programmierer und sein wachsamer Gegenpart. Die beiden hängen zusammen wie eine Zweierseilschaft, die durch eine Steilwand steigt: einer voraus, der andere sichert am Seil. Nur scheinbar ist das eine Vergeudung hochbezahlter Arbeitszeit. "Das Vieraugenprinzip hat die Fehlerzahl drastisch gesenkt", sagt Microsoft-Manager Fischer."

"Die gemeinsame Stunde der Wahrheit schlägt in Redmond täglich um 16 Uhr. Dann wird das gesamte Tagwerk der Programmierer, das "daily build", auf rund 5.000 Testrechner aufgespielt. Ein jeder hat seine Eigenarten: veraltete Festplatten, obskure Grafikprozessoren, schlecht programmierte Drittsoftware oder neueste Exotenprogramme. Hinzu kommt ein Simulator, der dem Betriebssystem etliche hundert Mäuse, Tastaturen und Scanner vorgaukelt."

"In jeder dieser elektronischen Lebenswelten muss sich das neue Windows bewähren. Nacht für Nacht durchläuft die Software hier ihre automatischen Testprozeduren. Die erste Vorabversion, die Microsoft zum öffentlichen Herunterladen freigab, trug die Nummer 7.100."

"Viele Projekte gerieten in Rückstand. Die Leiter schickten zusätzliche Programmierer ins Getümmel. Das machte alles noch schlimmer, denn mit steigender Kopfzahl wuchs auch der Abstimmungsbedarf."

"Spätestens seit der schier endlosen Geschichte von Windows Vista sind solche Schrecken auch den Entwicklern von Microsoft nicht ganz fremd. Windows 7 dagegen ist nun nach kaum zwei Jahren fast fertig. Und der Start wurde schon zweimal vorverlegt, zuletzt auf den 22. Oktober."


It looks like Microsoft managed the turnaround from a bumpy big company taking years for new error-prone releases, to a lean, focused, communication-driven, leading IT company with frequent, stable releases aligned at customers' needs. Back to the roots, congratulations!

7/08/2009

I'm on Twitter

Now I'm also on Twitter .. I did resist three years (or was it two?) .. where I saw all those nerds at JavaOne hacking those small messages into the machine. I wrote about Twitter in my JavaOne conference report for JavaSPEKTRUM .. and now, I have one channel more to manage -- wow, cool! The first task was installing the bridge between my Twitter account and my Facebook account.

6/30/2009

Tooling + Team = Agile

Pretty often I monitor anti patterns, suboptimal or even manual centric approaches and misuse of tools. As described a couple of times in my blog already or explained in my conference talks, workshops and seminars it is very important to create a setting of right tools which are used right -- aligned at the customers' individual requirements.

But tooling is only one recipe to work in an efficient and "Agile" way, the other is the team communication. A direct, open, constructive team communication is even more important than using the right tools right as you may remember from the first value pair of the Agile Manifesto. Yes, you may say "Natch! Those soft skills are widly spread". But also here I often monitor anti patterns which are of disadvantage for the customer.

If you want to learn more about Agile development with using the right tools (for your individual environment) in a cooperative atmosphere just to save money, increase motivation and finish your project successfully please read my book or join my bootcamp or my other seminars or wait for my second book :-). You may also want to drop me a line if you think you may have some room for improvement, or just need another unladen opinion.

Many of you ask me to write more and in more detail about tooling, teaming and best practices giving my opinion online .. many of my fellows do that, I know .. I'm sorry, but running already on 140% workload, .. I will point to performances here mainly, but .. ok, I will improve :-) Please monitor the performance area on my site to be informed about my articles and all this other stuff where I discuss Agile in more detail continuously ..

Addendum: Tooling + Team = Agile. Yes, you are right, it must say Tooling + Team + x = Agile. ;-)

5/26/2009

Plumbers

This morning we had a plumber in our house. Our shower was defect in we gave him a call. What did he do? He installed a new hardware. But it was not only a default one -the cheapest on the market- it also has less features than the defect one. No, we do not want to fill the bath tube manually! To make matters worse the plumber wanted to bill 2 1/2 working hours for that, a task which took him 15 minutes. And he wanted to repair something totally different too, a part not defect at all. Of course this will go into another iteration.

Why do I write this? I think about some externals I worked with recently: billing (too many hours) for some activities which do not fit to the customer's goal, delivering the cheapest worst solution without synchronizing with the customer at all. The provided solution do provoke intensive manual activities continuously. Wow, there are some massive parallels between (bad) plumbers and (bad) IT consultants.

4/27/2009

JavaOne 2009

TS-4421 "Simplifying Development and Testing of GUIs with the Swing Application Framework (JSR 296) and FEST"; June 05 2:50 PM - 3:50 PM, together with Alex Ruiz, Oracle

BOF-5394 "Improving the Java User Groups (JUGs)" June 04 7:30 PM - 8:20 PM, together with Dan Sline and John Yeary

3/30/2009

Technical session at Jazoon

I will give a technical long talk about "Simplifying Development and Testing of GUIs with the Swing Application Framework (JSR-296) and FEST" at Jazoon, June 22-25, 2009 in Zurich.

Devoxx 2009 conference report

The current issue 2/2009 of JavaSPEKTRUM contains my conference report about Devoxx 2008.

2/27/2009

JavaOne 2009 proposal accepted: SAF and FEST

The technical submission Alex Ruiz and me submitted for JavaOne 2009 was accepted. So please stop by and enjoy the session "Simplifying Development and Testing of GUIs with the Swing Application Framework (JSR 296) and FEST". I will post further details on the exact location and time as soon as the program is finalized.

2/15/2009

JUGC, GeeCON, SQS Conference, Javamagazin, Agile 2009 ...

My last post was some days ago .. so here I catch up with a couple of news. The last Java User Group Cologne event on February, 9th was a big success. We had an advanced talk about AOP. Additionally I managed to get Corneliu Vasile Creanga from Adobe to Cologne to talk about Flex, Air and the integration to Java. Stay tuned for the next events and prepare yourself for some surprises. ;-)

GeeCON invited me to give a talk in Cracow in May. I will talk about "From Zero to Hero: Simplifying Development and Testing of GUIs with the Swing Application Framework (JSR-296) and FEST". Thank you, looking forwarding visiting you fantastic guys and that lovely city.

Also in May I will give a workshop about "Agile Testing of Java Rich Clients" during the SQS Software & Systems Quality Conference 2009. Beside agile concepts, functional/acceptance/component testing and general GUI testing strategies the workshop will cover a full-fledged infrastructure to test and inspect the design/code of your application. Tools discussed are Findbugs, Checkstyle, EMMA, TestNG, FEST, EasyMock, PMD, Fit, Ant, Maven, a continuous integration server and a couple of others. Beside other frameworks and solutions I will also discuss JavaFX. Looking forward giving that interactive power workshop.

The current isse 3.2009 of Javamagazin published my article about IntelliJ IDEA 8.0 and RubyMine. Check it out if you like to be informed about what is going on at the bleeding edge of IDE development.

March, 3rd the Agile 2009 will close its call for papers. I'm responsible for the Tools for Agility track. Many good submissions already went in .. expect a great program.

I'm in the program committee of JavaOne 2009. A bunch of talks were already accepted, many are still in review. It is hard to filter the best and most interesting talks out of those billions submissions. You can already register for the worlds best and biggest Java conference -- sorry, Stephan ;-) -- taking place in San Francisco beginning of June.

1/05/2009

Session proposal "Refactoring from Visio to Powerpoint, and Prefactoring to Code"

Recently the following proposal for Agile 2009 come to my mind:

“Refactoring from Visio to Powerpoint, and Prefactoring to Code” — A practical guide for an agile architect. The presented patterns and Web 2.0 tools show how architects can cope with recent challenges in designing complex n-tier, scalable systems and generating code seemlessly. The automated process transforms design artifacts from PowerPoint to Visio (extended pattern catalogue for roundtrip-engineering in progress) and prefactors the artifacts to working Assembler code. This process is fully SOA enabled.

Process/Mechanics
We will finish with a real world cloud computing demo.

Learning outcomes
* learn how to refactor from Visio to Powerpoint
* learn how to prefactor to working code

Level: Expert

If you also have a paper you want to propose, perhaps a more realistic one, go to the agile tooling track and submit your paper .. looking forward seeing your submissions! :-)