Live data from Hacker News

Ego-Driven Development

deliberate-software.com

31–40 of 45 posts

Re: Ego-Driven Development

#31
post #23

Earlier quoted context omitted.

I have always thought the concept was great, but I have struggled with how to implement it.

My preferred method for training right now is "promiscuous pairing" http://www.google.com/url?sa=t&rct=j&q=&esrc=s&#... As for hardware setup, the best I have used is: machines with cloned monitors, two mice, and two keyboards, both side by side so the developers can talk in low tones and not bother anyone else. I do this now at work, and it is a lot of fun, and it really averages to be that we get done more than twi…

[deleted]

Re: Ego-Driven Development

#32

Earlier quoted context omitted.

My preferred method for training right now is "promiscuous pairing" http://www.google.com/url?sa=t&rct=j&q=&esrc=s&#... As for hardware setup, the best I have used is: machines with cloned monitors, two mice, and two keyboards, both side by side so the developers can talk in low tones and not bother anyone else. I do this now at work, and it is a lot of fun, and it really averages to be that we get done more than twi…

@JackMorgan and @dmiladinov, you two have eerily similar timing and views on this one :) Any chance you're co-workers and happen to know Steve?

Well, I am Steve, the author, and yep, we used to work together a few years back.

Re: Ego-Driven Development

#33
post #6

I used to apply the Joel test religiously, but I've gradually come to the opinion that dedicated QA is a net negative. It creates a natural opposition between two halves of what should be the same team, and removes the focus that comes from knowing that what you create will be what's deployed. It also adds friction that goes against the agile "deploy early, deploy often" approach.

FWIW, I work in the test industry.

This is incredibly specific to one way to do QA. Arguably I'd say it's a bad way to do it, much as you can find really bad engineering practice, in which case I agree with you: bad practice is bad practice. :) People complain about how hard it is to hire good developers, and this goes double or even triple for people in the test industry, frankly.

So much depends on what the project actually needs. If developers are doing a great job of handling QA-related issues themselves, great. But sometimes you need someone to help you clear out technical debt, rig up some test infrastructure, help refine a release process, etc. And sometimes the risk of regression is so high and the product is so big that you do need an army of testers.

Likewise, for any sufficiently large project, having a dedicated person who keeps an eye on the big picture -- a clean & accurate bug DB; tracking customer reports/issues; finding & narrowing bugs -- can be an asset. This goes double when the tester's job is to be a product expert, and when the tester is reasonably technical.

And yes testers should be more or less embedded with developers. "Throw it over the wall" is invariably a terrible way to handle releases. Testers should exist to enable deploy early, deploy often, not to inhibit it. And so on. But see above re: hiring good testers. It's hard.

Re: Ego-Driven Development

#34
post #29

> developers and managers repeatedly act as if established best practices do not apply to them ... and rightly so. A junior programmer might be better off always following "established best practices", but I expect any developer worth their salt to be able to know when to break the rules .

Is it really a best practice if there's a better way of doing it?

"Best Practices" are not always well defined or applicable. In some cases there are conflicts among different practices. Even worse, there are cases where one person believes something is a best practice and another believes it to be a bad practice.

The reality is that there isn't really such thing is a 'best practice.' There are only practices that have been found to be 'less wrong' than other ways, and perhaps even 'useful.'

Whatever your development practices are, the important thing is that you have and maintain the flexibility to adapt to what the particular situation needs.

Re: Ego-Driven Development

#35
post #11
post #6

I used to apply the Joel test religiously, but I've gradually come to the opinion that dedicated QA is a net negative. It creates a natural opposition between two halves of what should be the same team, and removes the focus that comes from knowing that what you create will be what's deployed. It also adds friction that goes against the agile "deploy early, deploy often" approach.

Anecdotally, I can say that I've seen the issue with QA causing code deployments to take far longer than they should. For example, right now we have code (one small feature) that QA wants almost two full weeks to test. I was just telling one of our QAs that I hope we start getting much better automated test coverage so that manual QA time can be brought down to a much more reasonable day or two before releasing code…

Some of it comes down to incentives/culture. If QA gets yelled at when bugs go out, they're going to take a conservative approach.

It's funny, though, to hear you "hope" you start getting better automated test coverage. :) It happens pretty often that QA is the sole owner of automated tests, which has its own set of potentially bad incentives.

Re: Ego-Driven Development

#36
post #21

""Not Invented Here" syndrome: Expressed most commonly in a desire for everything needed to be developed in house. E.g.: “Need a CMS? Let’s make our own from scratch!” Perhaps, you work at a place where all your teammates do is constantly bring you bad ideas. Are they really all terrible? Or are only your ideas good enough for the organization? Not Invented Here can also apply to your own head, not just the organizat…

I don't see how you can survive without a bug database. It is useful even for 1-man projects and there are plenty of free ones available.

Well usually we fix them as they come in. Continuous deployment FTW - weekly releases create a whole lot of baggage.

Other than that, I will just throw stuff in Trello, so I don't really have a bug database per say

Re: Ego-Driven Development

#37
post #21

Earlier quoted context omitted.

I don't see how you can survive without a bug database. It is useful even for 1-man projects and there are plenty of free ones available.

Well usually we fix them as they come in. Continuous deployment FTW - weekly releases create a whole lot of baggage. Other than that, I will just throw stuff in Trello, so I don't really have a bug database per say

I consider trello to meet the minimum criteria for a bug database, I use agilezen for this purpose on one project.

Re: Ego-Driven Development

#38
post #21

Earlier quoted context omitted.

I don't see how you can survive without a bug database. It is useful even for 1-man projects and there are plenty of free ones available.

Well usually we fix them as they come in. Continuous deployment FTW - weekly releases create a whole lot of baggage. Other than that, I will just throw stuff in Trello, so I don't really have a bug database per say

I was actually mocked at a FogBugz/Kiln event for being the only developer in the room not using a Bug Database.

Re: Ego-Driven Development

#39
Add two more to the list:

1. No documentation

2. Over-engineering

I believe EDD affects everyone from the large corps right down to the one and two-person teams. Take a look at highest upvoted hacker ideas here: http://www.todaystopthing.com/hackerideas/top

They tend to satisfy the "technically challenging" and EDD trap. Now check out the flop ideas: http://www.todaystopthing.com/hackerideas/flop

Some of these products exist and are profitable. "Simplifying" a problem/solution doesn't make it any less of a project worth pursuing. Great read +1.

Re: Ego-Driven Development

#40
post #7

Sometimes it's not so much "NIH syndrome" as "Everything else really, truly is crap". Scottschulthess mentiones that all CMSes are terrible. Some of my colleagues, for example, needed to spin up hundreds of virtual machines very very quickly, and as it turns out, OpenStack is absolute crap. So they took 2 weeks and wrote something a fraction of the size of OpenStack which can have hundreds of virtual machines running…

Would they consider open sourcing what they made? Sounds very interesting.
Post reply on HN