The Artima Developer Community
Sponsored Link

.NET Buzz Forum
Mistake #1

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Udi Dahan

Posts: 882
Nickname: udidahan
Registered: Nov, 2003

Udi Dahan is The Software Simplist
Mistake #1 Posted: Nov 28, 2003 4:49 PM
Reply to this message Reply

This post originated from an RSS feed registered with .NET Buzz by Udi Dahan.
Original Post: Mistake #1
Feed Title: Udi Dahan - The Software Simplist
Feed URL: http://feeds.feedburner.com/UdiDahan-TheSoftwareSimplist
Feed Description: I am a software simplist. I make this beast of architecting, analysing, designing, developing, testing, managing, deploying software systems simple. This blog is about how I do it.
Latest .NET Buzz Posts
Latest .NET Buzz Posts by Udi Dahan
Latest Posts From Udi Dahan - The Software Simplist

Advertisement

I haven't yet found a mistake of mine that I want to publish, but it just so happens that I came across someone else's ( luckily ).

On Udi Dahan's Projects you can find information about the projects that I've currently got underway - 5 ( +1 that I'll have to take on later ).

On one of the projects, Accounting System, I am charged with taking a project that's finished development ~95% and taking it to production. The developer took me through the system, and I realized that this was not the architecture that I had envisioned when told: "This is a good system. Well architected, stored procedures, and C# code that calls it. ASP.NET pages using code-behind. Its practically finished."

You can see what kind of monster I've inherited here.

To all you DBAs out there who want to develop systems, I tell you this: Do NOT put all the system into the database just because you can ! Even the dreaded "3-tier architecture" is better than that.

Just so the rest of you get an idea of what I'm talking about, think about putting all possible logic into the DB. Calling a stored procedure is all you ever do from the UI besides basic GUI event handling stuff. The SP then does everything - checks business rules, sends email, calls webservices, performs calculations - you name it.

And WHY did they do this ?! So that they could change the functionality of the system without recompiling it ! Let's see, toss out all the *abilities ( maintainability and all the others ) , get ability to change system without recompile. Hmm... That's like trading diamonds for glass.

Now, here's the best part: For the project to be profitable, I'll have to work by the same conventions ! ugghh...

Final thought: "It works" isn't an excuse.

Well, I guess that my mistake in this whole process was assuming. Assuming that what I consider well architected, and what someone else considers well architected are two different things. Or, more generally, miscommunication. Even though I was told what to expect "Well architected, stored procedures, and C# code that calls it...", I didn't verify what this exactly meant. And even worse - I gave an estimate based on my assumption.

Lesson to be learned ( for me - and I'm only writing this so that I can berate myself more harshly the NEXT time it'll happen ): Actively search for the hidden assumptions that I make when listening to someone. Make them explicit. Verify them with the speaker.

Final note: although I've heard this piece of advice many times before, and, like most things, is just common sense, it wasn't REAL until it happened to me.

Read: Mistake #1

Topic: WSE apps on the SmartPhone Previous Topic   Next Topic Topic: NewsGator/.Text questions

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use