Project Sluts

In an interview with businessofsoftware.org, Tim Lister defined three software project anti-patterns that are interesting if for no other reason than that they have colorful names.

A Project Slut is an organization that takes on too many projects ("it just can't say no" he says). The result is that nothing gets done, or nothing gets done well. I can say as a developer that this has a negative effect on team moral. The feeling that everything is a hack or quick fix and rushed out the door to users is not a good one. It's hard to take pride in your work. There's a lot to be said for picking fewer things and doing them well. Developer's productivity is in proportion to their pride in what they are doing. If they don't feel good about it, it's much less likely you'll see them there after hours making sure it's done well.

A Brownian Project is one has too many people added too early on. For example, the project might have too many people involved at the design phase such that the design progresses slowly as a result of trying to incorporate the ideas of everyone involved ... or worse, you end up with what I'd call a "compromise design". A compromise design sacrifices coherence to appease the people involved in the design. This is often the case with specifications that are designed by a committee of interested software development corporations.

Notice that I said "corporations". I am reminded of the JDO2 specification, which was controversial in it's time because it had overlap with an up and coming specification we now call EJB3. Reading the official "votes" from various companies, many were against it. Nevertheless, Sun pushed it through adding to later confusion of many users when JPA came to the scene. I'll never forget the Apache Software Foundation's comment though: "Let a thousand flowers bloom" (a yes vote).

A Dead Fish project is one that sets an unrealistic date, or impossible requirements, etc., and therefore is doomed to fail. This doesn't strike me as a useful pattern, or a pattern at all. A pattern is something you can use to help you solve a problem. No one starts a project with the foreknowledge that it's going to fail. Pick any project, and you can find at least someone that thinks it's going to fail, and someone that thinks it will succeed. This pattern can only be applied in hindsight, which makes useless.

Comments:

Alain commented on my previous post that the solution there was problematic as it allowed access to arbitrary view which may depend on objects being set up in other views

Posted by links of london on December 13, 2009 at 02:05 PM PST #

jean style jean style jeans stylejeans style mens jean style mens jean style skinny jean style skinny jean style blue jeans style blue jeans style seven jeans style seven jeans style new jean style new jean style latest jean style latest jean style jeans styles jeans styles boy style jeans boy style jeans men jean style men jean style jean style 

Posted by jean style on December 17, 2009 at 02:22 PM PST #

The select items have object values. http://www.watchgy.com/ All is good. When I submit the form, I see "Validation Error: Value is not valid". My first reaction was that I didn't have any validation on the page, so how could a value be not valid? http://www.watchgy.com/tag-heuer-c-24.html
http://www.watchgy.com/rolex-submariner-c-8.html

Posted by replica rolex on December 28, 2009 at 11:56 PM PST #

Post a Comment:
  • HTML Syntax: NOT allowed
About

jtb

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today