News for hackers. Stuff that matters.
Re:We don’t have time for code reviews by jt2190 on Wednesday October 23, 2013 @11:34AM (#6599340)
Personally I agree with the author that proper [1] code reviews are valuable, however, I think he's skipping over a really critical point:

    > We started doing Unit Testing at some point, and it 
    > quickly became “good practice/mandatory” in our team (I 
    > think good practices need to be applied by everyone in a 
    > team, requiring some kind of “collective enforcement”).
I'd love it if the author would elaborate more on how to change team behavior like this, especially when it's a team member (peer) trying to make the change.

I've seen many teams struggle because there isn't a agreement over what practices to follow.

[1] See edw's comment on proper code reivews: https://news.ycombinator.com/item?id=6598804

Re:We don’t have time for code reviews by hox on Wednesday October 23, 2013 @11:42AM (#6599391)
My advice:

1. As an advocate for a practice, ensure you use that practice in all that you do. Advocate for it in every team meeting. Try to stress why it is important, and how it can directly make things better, instead of just "making our code better." Provide research and numbers from prior projects that show how useful such a practice can be.

2. Provide good examples and guides to get the practice started. Some avoid a practice because they don't know the best way about executing a practice. If it's unit testing, show how one should go about determining edge cases and describe useful unit testing methodologies (mocks, stubs, etc).

3. Make it easy as possible. If it's unit testing, integrate a CI server directly to your SCM. If it's code review, adopt a practice that fits inline with your existing workflow and don't make it a ceremony - make it asynchronous.

4. Understand that it will be gradual, but every effort moving forward should push towards integrating the new practice. You can't suddenly have 100% test coverage after introducing unit testing to an existing project, but all code that gets included can include new tests, and old refactoring can have tests included to slowly build up the test coverage.

Re:We don’t have time for code reviews by puppybits on Wednesday October 23, 2013 @12:06PM (#6599564)
Why is much more important than what to do. The best benefits of code reviews are: 1. Developer educate each other about the code base and how to be better developers. This means quick, more stable features which means the company can start making money sooner. 2. Slows tech debit. Poorly written code stays out of the product. More up time means more overt unity to make money.
Re:We don’t have time for code reviews by martinvanaken on Wednesday October 23, 2013 @12:52PM (#6599952)
Hi, author here. I agree this may not be easy - but something can always be done. I've been in several situation.

As a team leader facing junior developers, I did simply set-up rules. I explained them, but I had the power to enforce them by myself. I coded with them, and they started coding like me - until they were confident enough to challenge me. I apologize to the "autonomous self organizing teams" evangelists, but in some situations, giving some direction may be the most efficient way to progress.

As a peer, you just need to find one other person in your team that is willing to play along. Although I understand the value in explaining something, doing it is for me much more convincing. If you really think something is a good practice, don't try convincing me if you are not already applying it yourself.

If you are in an Agile/sprint oriented team, just propose to test it for one sprint, then it will pass the retrospective test or it will not - no one should object to a one sprint experience, especially in an agile team. Do the same with your colleagues ideas, even if you find them silly. It shows goodwill, and you can be surprised at some time.

This is actually the way me arrived to our current workflow at 8th color (http://blog.8thcolor.com/2013/09/how-our-own-workflow-is-dri...) - successive retrospectives.

Finally I would not involve non coding management in the discussion if possible, as it will quickly devolve into "what would it cost". Better to handle this inside the technical team.

Hope it helps, and remember, it's the first step that cost. Find one willing colleague and start!

Martin