Adam Bien's Weblog

Monday Oct 28, 2013

How To Burn Money With Confidence

  1. Don't invest in corporate / internal developers.
  2. Domain knowledge does not matter, anyone can understand the business logic in minutes.
  3. Outsource everything. Developers are replaceable. External companies are always cheaper than internal IT.
  4. Invest in specifications, not code. A good specification can be implemented by anyone.
  5. Try to save as much money as only possible with hardware. Developers behave like prima donnas, but they could just perfectly fine work with 512RAM and 486CPU if they only wanted.
  6. Completely ignore feedback from "internal" developers. External consultants have more experience in any possible direction, why not to just ask them?
  7. Hire external analysts to decouple the domain expert from the developer.
  8. Introduce rigorous metrics for code and documentation coverage. Measure project' quality by metrics exclusively.
  9. Introduce team events without asking. Every team event leads to significant productivity gain.
  10. Sign-off everything. If something goes wrong, you will need the signatures.
  11. Strongly believe in software development methodology. Common sense does not matter, software development is different.

See you at Java EE Workshops at MUC Airport :-)!


Special Events: Java 8 with Java EE 7: "More Power with Less Code", 13th October, 2014 and Java EE 7: "Testing and Code Quality", 14th October, 2014

A book about rethinking Java EE Patterns

Comments:

ha ha!
From recent experience, I'd add:
Identify all developers who have a Master's degree and promote them to "Senior" developer, regardless of what they've been doing for the last two years.

Posted by Realist Theorist on October 28, 2013 at 10:39 PM CET #

12. Don't invest in evolve. Stick with the proven 2008 technology stack Spring, Tomcat and Hibernate. Outsource companies happily support your bloatware for years.

Posted by Laszlo Kishalmi on October 28, 2013 at 11:27 PM CET #

Perfect. It's interesting, how the world go in the same manner - one world, one way

Posted by Tomas on October 29, 2013 at 01:27 PM CET #

Sadly, these reasons were why I left corporate IT to join one of those 'external' companies!

I tried to fight it for awhile, but along with #12 posted by Laszlo, it was a loosing battle. I had to fight tooth and nail just to get JPA accepted! (this was in 2012!!!)

I know there are large corporate IT shops out there that must not suck the will to live from developers, but they are few and far between, at least in my region.

Posted by Nick on October 29, 2013 at 03:24 PM CET #

12. choose SAP.

Posted by Tilman on October 29, 2013 at 10:49 PM CET #

@Nick,

all the points here are a huge opportunity for smaller, still reasonable companies. Their only problem is: they tend to grow.

If they company grow, their managers try to optimize the IT without understanding the matter. They optimize 5% and waste 95%.

A premature optimization it the root of all evil :-)

thanks -- I hope you like your current position,

--adam

Posted by Adam Bien on October 31, 2013 at 09:10 AM CET #

Adam, you are right, all companies are small at some point and I've had that experience as well. (growing from small to large and bringing in all the 'overhead' that goes along with it)

It's would interesting to find where that tipping point is of being a fast, agile team/IT shop to where everything needs to be approved by everyone and your 'good' people are no longer productive or happy and things that took weeks before now take months or years.

And the new job is going great! thanks! :)

Posted by Nick on October 31, 2013 at 08:51 PM CET #

Strong, bold and partly right!

According to some Agile Gurus I met there are still some different methods of burning money:

1.) Ignore the market - the team is everything.
2.) Sell stories, not time. If you don't succeed, sell stories for a bigger fee.
3.) Sell stories and let the team decide what projects they want to pursuit.
4.) Give them a fixed salary, however meager the output - paying them for stories is not an option
5.) Try a lot of things to optimize the feeling of cozyness - costs don't matter
6.) If one way fails, try another - a client can wait
7.) If you run out of money while pursuing the above-mentioned methods, ask your bank, it will gladly cover you losses.

Honestly, I DO like agile methods, internal knowledge and good documented code on rational metrics. But we never should ignore the market, controlling and the cash flow that is supposed to feed our families. You always have to give and take. And not all people are suited to deliver good code or follow best agile practices. People are always quick to demand fundings, as long as they are not involved in taking the risks. Most of the methods for good coding and prospering agile methods work for shared offices with self-employed people, being responsive for their own income but suffer dramatically in an enviroment, where people expect their monthly salary but take their freedom in delivering faith, responsibility and success.

Posted by Michael Ludwig on November 02, 2013 at 11:49 AM CET #

@Adam ahah that's right! I remember one of the murphy law about this:

Technology is dominated by two kind of people: those who manage what they do not understand and those who understand what they do not manage.

Sadly true.

Posted by Crick on November 02, 2013 at 02:59 PM CET #

Post a Comment:
  • HTML Syntax: NOT allowed
realworldpatterns.com
...the last 150 posts
...the last 10 comments
Links
License