aspose file tools*
The moose likes Meaningless Drivel and the fly likes The build is broken Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Java 8 in Action this week in the Java 8 forum!
JavaRanch » Java Forums » Other » Meaningless Drivel
Bookmark "The build is broken" Watch "The build is broken" New topic
Author

The build is broken

Jan de Boer
Ranch Hand

Joined: Dec 10, 2010
Posts: 309
Hey, if in your department, after a check out, update, you cannot compile the sources anymore, what do you do with the guilty one?

I used to work in an environment, where the guilty one had to buy lunch for the whole department. Now I work together with three guys, and if the sources cannot be compiled....it's like every day business. I think it is a 'cannot do'. I always do a clean check out, and check if the sources I have uploaded to the source code management system are compilable. I am the only one here it seems. I think it's annoying. I think it's not good team practice. What do you think? I am too rigid or?

:-(
Jelle Klap
Bartender

Joined: Mar 10, 2008
Posts: 1666
    
    7

Of course it's a good practice to only commit code that, at the very least, compiles, duh
Every developer should be aware of that, but in practice it's sometimes no so easy to foresee how a change might affect client code in other modules. Especially when it takes a really long time to build all dependent modules (let alone test them), code that breaks the build will find its way into revision control, but that should be the exception rather then the rule. I'm opposed to the 'blame system', though. People make mistakes, deal with it. There's nothing more annoying then having some pedentic guardian of the build breathing down your neck.


Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.
Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 13884
    
  10

Too rigid? No! I think it's a good idea to have a penalty on breaking the build. If it becomes an everyday thing then slowly people start to care less and less if the build is broken, and then they care less about other things too, they start to be sloppy and the quality of the software goes down.


Java Beginners FAQ - JavaRanch SCJP FAQ - The Java Tutorial - Java SE 7 API documentation
Scala Notes - My blog about Scala
Jan de Boer
Ranch Hand

Joined: Dec 10, 2010
Posts: 309
Jesper de Jong wrote:Too rigid? No! I think it's a good idea to have a penalty on breaking the build.


Since this is Meaningless Drivel, I would like a picture of a pillory with your post. Or would that go too far?
Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24168
    
  30

We generally chide the perpetrator with talk of a "virtual dunce cap". Sometimes GIFs are exchanged. This is usually enough.

I extend this not only to build failures, but test failures as well. If the unit test suite fails after a check-in the perpetrator always gets a hard time from me.


[Jess in Action][AskingGoodQuestions]
Jayesh A Lalwani
Bartender

Joined: Jan 17, 2008
Posts: 2063
    
  22

I have heard some people make the offender wear a bra on his head
Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 13884
    
  10

Jayesh A Lalwani wrote:I have heard some people make the offender wear a bra on his head

I'm not in favor of humiliating and sexist punishments like this.

One idea I've heard which supposedly works very well to make people keep to their promises is that they agree to pay money to some cause that they don't like, if they break their promise. For example, you break your promise, then you give some money to a political party that you don't like.
Jelle Klap
Bartender

Joined: Mar 10, 2008
Posts: 1666
    
    7

I'd quit my job the very same day such a schoolyard enforcement policy would be enacted. Either you trust your developers or you don't. If check-in behaviour becomes a problem, then talk about it rationally like adults and if it remains a problem, escalate.
Jan de Boer
Ranch Hand

Joined: Dec 10, 2010
Posts: 309
Jayesh A Lalwani wrote:I have heard some people make the offender wear a bra on his head


Also if it's a girl?
Jan de Boer
Ranch Hand

Joined: Dec 10, 2010
Posts: 309
Well the thing is, I find it very rude. Sloppy check ins. You frustrate the work of other because you're too lazy yourself. And it is not difficult to check out, after a check in and recompile. It's not rocket science. It's not even computer science. It's just procedure. Not doing it, is, for me, just drop your dropping, bogger off, and let others deal with the consequences.
fred rosenberger
lowercase baba
Bartender

Joined: Oct 02, 2003
Posts: 10923
    
  12

While I think it is OK to do some mild teasing, I don't think any major public humiliation is a good idea.

However, if the problem persists, more drastic measures should be taken. Make it a company policy that you have to verify the build after your check-ins, which then allows you to do anything from mild reprimands up to termination for serious, recurring issues.


There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors
Richard Tookey
Ranch Hand

Joined: Aug 27, 2012
Posts: 971
    
  10

Jan de Boer wrote:Well the thing is, I find it very rude.


I contracted to a company to do some Java development but found I was mainly doing C. The C had to work on many platforms and with many compilers and I did not have access to some of the build. Also, the part of the build I could run took over an hour which meant other people could check stuff in after my test build started. As a result there were frequent conflicts to be resolved and incompatibilities that caused the nightly build to fail. On top of this, I kept using // for comments which on some of the C compilers was accepted but on one I had no access to did not. Luckily I was only there for 5 months.

I spend some while trying to see if a finer approach to branching would help but decided a fundamental overhaul of procedure was needed but the management made it clear that this was not going to happen.
 
 
subject: The build is broken
 
Similar Threads
What shoe do you put on first
Whooo hooooo!!! School starts 7 days from today:-))
inner-join?
Vietnam war - Domino
JPA - understanding OneToMany bidirectional relations