<font style="font-family: tahoma; color: rgb(0, 0, 0);" size="3">Funny you should start this topic. I'm a dev manager. Dealing with the fine line between agile and cowboy is my daily task.
Cowboy coding as a modus operandi makes for un-releaseable projects. I'd de-hire people if that was their only way of working.
We try to be agile, and indeed most of the time we are. It gets ugly
when one of the senior guys gets an Idea. Ideas scare the shit out of me when its close to release date. Cowboy coding always
starts from an Idea.
Ideas are great during spec phase. I have the luxury of setting
"Technical Debt" as a clear task on my schedule and thats when we do
most of our great Ideas.
We've developed a strategy to reduce cowboying: When an IDEA shows up late in a release, I <strikeout>force</strikeout> strongly encourage pair coding. Its not perfect, but it does help.
Pair coding itself has on only a few advantages: a dramatically lower error rate and usually better documented code: they keep each other honest. Debugged lines per hour coding is likely higher, divided by two. Pair coding is a loss if your team is mostly careful people... and why would you hire careless people?
This lack of preview is annoying
BTW, first post for me
</font>