This post originated from an RSS feed registered with .NET Buzz
by Udi Dahan.
Original Post: One wrong DLL = 3 months gone
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.
A couple of days ago, one of the programmers on a project Iâm consulting on came in to ask me a question. With a puzzled look on his face, Alex asked me âUdi, in your design you have these two tiny interfaces, IEntity and IMapEntity, that together wouldnât justify belonging in their own DLL, and you gave each of them their very own DLL! Why?!â Right then and there I decided to hold a project-wide standup. I got everyone into the room, from project manager, to tester, to programmer, and spun the following scenario.
âPatrickâ, I said to the project manager, âyou know how we have our iterations set up so that each iteration we work on an entire feature, end to end, and keep the number of features down?â Patrick nodded.
âAnd Danielâ, I said to our test lead, âyou know how you report defects on a feature by feature basis, correlated with the version of the system being tested?â Daniel, too, nodded.
âAnd Bethâ, I said to our SCM/integrator, âyou know how each check-in gets the relevant projectâs version number to increase, gets built, unit tests run, and, if everythingâs OK, the DLL gets put out?â Beth was quick to jump in, âand donât forget that the version number is taken from the DLL and applied as a label to the corresponding source files.â
âSo, whatâs the point of all this ceremony?â I asked, turning to the entire group. I got some blank stares. âWhy are we doing things like this, and not differently?â Alex spoke up. âThis all has to do with the DLL thing I asked you before, doesnât it?â
I wonât draw this story out too much, so letâs just cut to the chase...