Brian Button - One Agile Coder

Blogging on all things .Net, C#, and Agile

My Links

Blog Stats

News

Archives

Post Categories

Agile Solutions Group

Blogs I read

Enterprise Library V1 Team

How to create a maintainable system

Ayende had an interesting post on his blog today about the only metric that really counts, which is maintainability. He made a joke about measuring this property of a system by measuring the intensity of groans that emanate from the team when asked to changed something, which made me laugh.

It did bring up a more significant question in my mind, one that I've thought about before, and something that I've been telling my TDD classes lately. The question always comes up in class about why we just don't design our systems right in the first place, for some value of right. There are several parts to my answer, but one of them is always that we build our systems simply and change them as we need to so that we can practice changing our systems for our big moment. That big moment happens when the customer comes in and tells us that he really, really, really needs this new feature, and he needs it by next Thursday.

If we had never practiced changing our system, and had never considered changing our system, then this might be a pretty scary thing. But if you build your system such that you practice changing it in new and interesting ways from the first day, when that change request comes in, you yawn and make the change.

In short, you get a maintainable system by practicing maintenance from the first day.

-- bab

posted on Friday, August 10, 2007 8:51 AM

Feedback

# re: How to create a maintainable system 8/25/2007 9:33 AM Jeff Grigg

A project manager once asked, in frustration, "When will the users stop asking for changes to the system?"

(...so that it could be considered "done.")

I answered, "When they stop using it."

When a system is dead, as in no one is using it, then no one will ask for enhancements to make it better meet their needs. But in my experience, regular use of a useful system will inspire most people to think of ways to improve it, to better aid them in their efforts.

It's not possible to know all the requirements up front: Implementing the system will change the requirements. Normal changes in the business over time will change the requirements. So there may be no one perfect design that will meet all known and unknown present and future requirement changes of a successful system.

# re: How to create a maintainable system 8/27/2007 4:37 AM SOHBET

himm. okey

# re: How to create a maintainable system 10/22/2007 8:16 PM sohbet

thanks

# re: How to create a maintainable system 11/20/2007 7:04 AM mirc

thanks best regards..

# car pictures 11/25/2007 6:37 PM car pictures

Thanks for this article.

# petegim 11/28/2007 4:48 AM mirc yukle

thanks

# mirc 12/15/2007 12:52 AM mircturk

thanks..

# re: How to create a maintainable system 1/26/2008 11:38 PM guzel mesajlar

<a href="http://www.tamdost.com/">guzel mesajlar</a>

# cinsel sohbet 3/12/2008 3:06 PM cinsel sohbet

solsa3232

# cinsel sohbet 3/12/2008 3:07 PM cinsel sohbet

sosla3232

# re: How to create a maintainable system 3/30/2008 3:33 PM oyunlar

Thanks Good Article For Me

# re: How to create a maintainable system 4/8/2008 8:56 AM nackt

http://www.fickennacktsex.com/

# re: How to create a maintainable system 5/4/2008 3:16 AM sohbet

thangyouu

# re: How to create a maintainable system 6/10/2008 10:31 AM Plus Tc

Thnaks man..

Title  
Name  
Url
Spam Protection:
Enter the code you see:
If you can't read it, click your refresh button to get a new image.
Comments