Imprisoning Mort

time to read 3 min | 509 words

Nick Malik responded to the discussion around his Tools for Mort post. He has a very unique point of view.

If you cannot make sure that Mort will write maintainable code, make him write less code.    Then when it comes time for you (not Mort) to maintain it (he can't), you don't.  You write it again.

Okay, so you have a tool that makes sure that Mort doesn't write a lot of code with it. Now Mort has left and I need to maintain the code. How do I do it? I can't do it with the tools that Mort has used, because there are intentionally crippled. You guessed it, time to rewrite, and it is not just a rewrite of Mort's code, it is a rewrite that would need to add functionality that existed in Mort's framework, but crippled so Mort wouldn't damage himself with it.

Sorry, that is the wrong approach to take.

Someone 'smart' has written the 'hard' stuff for Mort, and made it available as cross cutting concerns and framework code that he doesn't have to spend any time worrying about.  Mort's code is completely discardable.

I thought that Pie-In-The-Sky frameworks were already widely acknowledged as a Bad Thing.

Does Mort put process first or people first?  He puts people first, of course.  He writes the code that a customer wants and gets it to the customer right away.  The customer changes the requirements and Mort responds.  If it sounds like a quick iteration, that is because it is.

Agile doesn't mean iterations, agile means working software and enabling change. You says that Mort can respond quickly to changes in the application, but is only during the first few iterations, after that, Mort is too busy fighting with the code to be able to significantly add any value to the application.

Possible Answer: We can have Mort consume a service.  He can't change it.  He can't screw it up.  But he can still deliver value

I really don't have your faith in Mort's inability to screw things up. What do you do when Mort decide to "improve" performance by making the service calls in an endless loop on another thread?

After getting those points across, I would like to protest most strongly about the general tone of Nick's post. It is extremely derogatory toward Mort, and it preclude in advance the ability to improve. I am a Mort on quite a few levels (the entire WinFX stack comes to mind), does this mean that I am bound to write unmaintainable code and should be locked down to a very small set of "safe" choices, which were chosen for me by those Above Me ?

Sorry, I really can't accept this approach, and while it explains some of the stuff that Microsoft puts out, the only thing that it helps is to stifle innovation and development on the platform. If this is Nick's idea about how things should be, it is very sad. I seriously hope that this isn't the accepted position at Microsoft.