Goodbye CodeBetter and ALT.NET
Note: Please read the follow-up after you read this. Thanks!
So, I wasn't going to write this post. For 3 weeks now, I have written versions in my head and discarded them because I don't want to be about negativity and maybe it was better to say nothing at all. But recently my friends, clients and others have wanted to know why as well as I feel that there are serveral messages I need to put out there. I am going to say it and then not discuss it, I'm going to move on. Well, let's get to it. I have had increasing disatisfaction with some of the posts there for quite some time and the attitude they conveyed. The posts that tipped me to leave were Scott Bellware's One Less Stupid, Piece of Microsoft Usability Negligence Crap in My Life and Jeremy Miller's What would you say you do here?
Let's start with Scott's. I don't even know what to call this thing. Let's start with the title. Again, totally over the top, insulting and foolish. Then he proceeds to talk about his mobile that doesn't work with ActiveSync, oh but wait, it doesn't work with the Java Gmail client either but he doesn't codemn them. You see where I am going with this? I have a Motorola Q Razor SmartPhone with Windows Mobile and Verizon, and it took under one minute to configure ActiveSync to our Exchange Servers in Irvine. I get full Outlook Mail from anywhere in the country (and I have tested it very well over the last month's traveling). It just works. It seems that Scott has a broken phone that doesn't work with anything but that doesn't stop him from saying things like "So... Ah, ActiveSync team... you suck so badly. I can't imagine even writing such crappy software even if I were paid to do it. Ah, Windows Mobile team... ditto for you - suckage all around." and "Microsoft, you are deeply, deeply pathetic. I'm endlessly amazed at the effort you put into crafting such screwy software." How you leap from one product to indicting all of Microsoft is amazing to me as well as being unwarranted. I can no longer be associated in any form with this kind, of well I have to say it, garbage. The continued negativity, sneering at others, talking down to them is harming the community. I will have no further part of it.
Then there is Jeremy's post in which he can't figure out what to call himself in a job title, as long as its not, God forbid, a Software Architect. This is a familar topic for Agilists, their contempt of Architects. a topic I talked at length about in my Agile Architect post. I stated there the failures I have seen by "pure Agile/XP" teams in believing that Infrastructure was something you only did during the mythical "Phase 0" and the Continous Design thing took care of all Architectural/Infrastructure pieces. My experience has been that this does not happen. Moreover. Agile, as Kent has always said, is a solution for small person teams (less than 20) working in the same room. Agile has been recently copted by a bunch of people, who were NOT there when we were inventing it, turned it into a black and white, us vs. them religion and unleashed it on the underserving others who are so beneath them. It seems like the community has no use for Architects because, after all in the Agile world, they are "doing all of those things because it's just the things you need to do to make software." And I believe that is the root of the disconnect and problem. It comes from that community's inability to see beyond the code level, something I refer to being constantly in "the weeds." They refuse to work on back-end systems as beneath them, everything "enterprisey" is beneath them. Being in the weeds means you only look at everything as code and can only see code. My position on this is very clear: "For the most part, we were all right about this as, after all, The Source Code Is the Design, not those huge UML Rational Rose diagrams that we churning out that produced zero value but were check-off items in some big process list. Models have no use unless they are essentially are Code Is Model." So I believe in Agile/XP techniques of course, but at the project delivery level, and there are a lot of other parts to most software development projects.
The problem with this is that there are many things that Architects do that are far beyond this AND PRODUCE DIRECT BUSINESS VALUE. In a famous piece of hypocrisy, Jeremy says, "the definition of the role of an enterprise architect that I see at places like James McGovern's blog puts more focus on business process engineering and IT strategy in general and analysis than technology. Just to really irk somebody out there, I think an Enterprise Architect is just a fancier title for what used to be called Systems Analysts. " Oh, but I thought Agile was about alignment with business!! Understanding business value, translating that into user stories, but of course we sneer down at those "Enterprise Architects" because they are "Enterprisey" and that's ickey. My view is that good Software Architects totally understand the business domain AND all the technology including code! I As Clemens Vasters took me to task, most (90%) of the world is Enterprises and not 10 person XP teams. I won't go farther with this because I don't feel there is any value in arguing about it. As James McGovern responded to Jeremy, "Jeremy Miller gets it twisted by classifying all enterprise architects into the same bucket and reads into my blog by stating there is more focus on business process engineering and IT strategy than technology. If I blog about the lack of secure coding for technology procured by large enterprises, is that strategy or technology? Can folks assume that my blog represents what I do at work in terms of time management and that I don't spend time helping folks write better code because I am too busy drawing high-level Powerpoint all day? While I can say that I have ran across more than my fair share of enterprise architects who doesn't know one iota about technology, I can surely say that pretty much all of my enterprise architect peers at work are also the best technologists."
When a an Agile Religous Bigot rants against Architects and "Enterprisey", remember that all they see is the weeds. If I go into a Fortune 50 bank, use my diverse talents to understand the BUSINESS drivers and processes and I figure out that it maps well to a BizTalk solution (that is what those Solution Architects do that he can't understand), and I work through an intensive process of orchestrating those business processes and create a technical solution that doesn't involve a slew of (and refactored and refactored and refactored) code, is that not business value? What if I just helped the bank save a $1Million by integrating multiple solutions into one integrated one using back-end products like BizTalk? I think I have made my point.
Lets's address one more point before we move onto the ALT.NET thing. Jeremy says, "I spent some time around the Solution Architect MVP's at the MVP summit last May and frankly walked away unimpressed. It's not a bad title if I could just get over the cynicism. " I'm sorry you feel that way but I have a lot of respect for my peers.
Now, onto this whole ALT.NET thing. When I was in the weeds at Algo, coding away, I too got caught up in the low-level issues and put out a stupid ALT.NET Moniker and List. I took a ton of crap on this from my friends all over the world, both inside and outside Microsoft. It wasn't about disagreement, it was just blindly putting a list that was stupid, cross out everything Microsoft in one column and replace it with something else. It's black and white, stupid and unneccessary. After getting out of the weeds myself, and seeing what Microsoft has for solutions for addressing customer solutions in the back-end, and "enterprisey," I find very good coverage to what I need to solve my customer's problems. It's like a whole another side has opened up.
Personally, I'm not only concerned code for cod's sake. What I personally find real interesting after 25 years, is big meaty integration challenges, like walking into a Fortune 50 bank with 200 systems, using 20 different technologies, totally non-integrated, and listening to the business needs and using solution technologies like BizTalk, Neuron, WCF, MOSS, Sharepoint and such putting together a solution that requires me to have intimate knowledge of the business as well as single sign on, multi-domain security trust domains, asynschronous message brokering and lots more. A good Solution Architect or any architect has to have a wide variety of skill sets and be deep in many technologies. I have always said that Architects must code but there are many other things of business value that can be produced.
ALT.NET is a divisive thing. No matter what they tell you, they are full of negative energy, they sneer at others that don't buy into their view and sneer at the "enterprisey" folks. I know, I was there. I am not going to be part of it any more. I am not going to use the term "Morts." I am going to be a positive force going forward. I am going to work with and for everyone in the community for it is a big tent. As they have their Pow-Wow in the desert, remember that its ok to use the tools you use as well (and that includes all the PAG blocks) as to be a continuous learner (which is one positive aspect that ALT.NET encourages). You don't have to be "ALT.NET" to be a great Microsoft developer, Solution Architect whatever. You just need to push forward in a positive manner, continue to learn and grow, and build the mainstream community.
So goodbye CodeBetter and ALT.NET - enjoy it!
