Home
About
Contact
Tuesday, April 28, 2009

image Is there anything more annoying than standing on a red light, when there is no car, motorcycle or carbon life form in sight? Maybe traffic lights elsewhere in the world are more intelligent, but at least where I live this happens from time to time. So what have this to do with developers? Good question, but let me first try to answer another one: Why do we have traffic lights?

From Wikipedia:

Traffic lights, also known as traffic signals, stop lights, traffic lamps, stop-and-go lights, robots or semaphore, are signaling devices positioned at road intersections, pedestrian crossings, and other locations to control competing flows of traffic.

I read: bla bla bla bla… control competing flows of traffic. I would probably have said something like this:

To avoid cars running into each other and avoid have people run over in a cross road. It’s a very logical way of saying stop or drive (red and green). Yellow is the same as green, but for taxis only. Traffic lights are regulated by sensors in the ground detecting where there is traffic and not + a algorithm to give green lights in a predefined order.

Now back to the first question, answered by asking a new one: What’s the equivalent of traffic lights in development? No, not red, green, refactor :-) I was thinking about frameworks, internal DSL’s and the like. Stuff that good developers create, which the not so good developers should use. To keep them from “hurting” themselves or the company they work for. Do you find that to be ok?

Tuesday, April 28, 2009 8:15:39 AM (W. Europe Daylight Time, UTC+02:00)
I'm not really a fan of such defensive, protective programming. Locking down APIs to stop "bad" developers from doing the wrong thing is more likely than not going to come back and bite you. Instead, educate the bad developers so they become good (pair programming, code reviews etc), and if they can't improve, kick them out :p

(That's not to say that a good API shouldn't be intuitive to use, of course).
Tuesday, April 28, 2009 8:39:23 AM (W. Europe Daylight Time, UTC+02:00)
I thought this post would be all about how interesting traffic lights are to us developers (or should I be more precise and say geeks?!). But sadly the conclusion was more like a management statement :)

Did you know that David West used traffic lights in his Object Thinking book to illustrate how system we normally think of as procedural can really be better modeled using true object orientation? Instead of a central controlling algorithm traffic lights are supposedly design better having each light control itself, and just responding to it's surroundings. A good example of object thinking.
Tuesday, April 28, 2009 6:25:24 PM (W. Europe Daylight Time, UTC+02:00)
I agree with you Fredrik and I think most people in the agile community (at least) does. However, there are still many with other opinions and I would really like to hear from them. I be the first to admin it's a challange to get all devs on a level where this becomes painless, but I also see that internal frameworks and the like is not the solution.

Sorry to disappoint you Torbjørn ;-) Since David technically is my boss @ infoq I would never steel his work ;-) It reminds me I need to pick up his book.
Wednesday, April 29, 2009 12:10:32 AM (W. Europe Daylight Time, UTC+02:00)
You can borrow mine if you like, I'm almost done with it. Have mixed feelings.., a review will come shortly on my blog.
Thursday, April 30, 2009 1:03:41 PM (W. Europe Daylight Time, UTC+02:00)
I completely agree with Fredrik, if you are protecting the other developers you are limiting what you can do with the code, it won't take long until these limitations will slow you down or even stop you.

Also what you are effectively doing is limiting the potential of the other developers, they are not given the opportunity to learn this new thing, which is BAD. Sure some will learn it anyway, but some need the extra push.

I also agree 100% with Fredrik about if they cannot adapt/learn then the team is not the right place for them. It is a real shame that it is soo hard to fire someone here in Norway (I know it has benefits as well) so the only option you have is put him on the side lines, and let him explain that to his boss.

-Mark
Thursday, April 30, 2009 1:04:35 PM (W. Europe Daylight Time, UTC+02:00)
Out with the bad in with the good
Friday, May 22, 2009 8:31:10 AM (W. Europe Daylight Time, UTC+02:00)
I'm now done with Object Thinking (reading it that is), and you can see my review of it on my blog (in Norwegian).

You should also read this quote from the book (again, translated to Norwegian), which addresses what Mark and Fredrik is commenting here.. We should prefer better developers over better development techniques!
OpenID
Please login with either your OpenID above, or your details below.
Name
E-mail
(will show your gravatar icon)
Home page

Comment (Some html is allowed: a@href@title, b, blockquote@cite, em, i, strike, strong, sub, sup, u) where the @ means "attribute." For example, you can use <a href="" title=""> or <blockquote cite="Scott">.  

Live Comment Preview
RSS RSS - Comments Twitter LinkedIn
         
SEARCH
 
 
         
TOP POSTS
   
         
NAVIGATION
   
         
CATEGORIES
  .Net (61) ADFS (3) Agile (30) Ajax (5) Architecture (20) Articles (1) ASP.NET (6) ASP.NET-MVC (1) Blogging (12) Books (2) BPEL (1) CleanCode (1) CloudComputing (7) Community (4) CSharp (11) DasBlog (5) Database (2) DDD (5) Deployment (16) DSL (1) Events (38) ExtremeProgramming (6) Fun (6) Gadgets (4) IIS (10) InfoQ (4) Java (2) Lean (3) Linq (2) MemoryLeaks (5) Microsoft (37) MVC (1) NDC (2) NNUG (36) Other (10) Patterns (9) Performance (3) Scrum (17) Security (7) ServiceBus (1) Silverlight (4) Software (19) TeamManagement (11) TechEd (7) Testing (4) Tools (25) TvGuide (1) WCF (8) Web (15) WebDeploy (1) WIF (3) Windows (10) Vista (15) VisualStudio (16) WiX (9) Work (16) Workflow (3)  
         
ARCHIVE
   
         
BLOGROLL
   
         
ON THIS PAGE...