Friday, May 31, 2013

Opinions: JavaScript

Can you spot the differences:

I'm convinced there is a need to replace JavaScript.


JavaScript was that component of the Web that everybody underestimated.


JavaScript is fast becoming a serious contender to Ruby and JVM languages.


This is probably the worst thing any server-side framework can do: be written in JavaScript.


JavaScript is now established as a powerful, mainstream language that can be used in a variety environments both on client and server sides.


A very large group of developers still thinks of JavaScript as a joke.


JavaScript used to be the thing that we tolerated… Now it became the technology leader.


JavaScript in the browser is the single largest development platform.


JavaScript is a bubble. What is actually awesome about JavaScript has nothing to do with JavaScript.


Tuesday, May 28, 2013

Postagile: A large Scrum backlog is like a big pile of underpants

We were used to getting shit done … then they told us about Agile.


If your product backlog contains more than 50 Stories, there probably are inconsistencies due to lack of comprehensiveness.


In his talk "Co-making Great Products" Jeff Patton draws a hilarious analogy between an anti pattern in Scrum and the Underpants Gnomes in South Park:

The business plan of the Underpants Gnomes looks like this:

Gnomes plan

If you think about it, then the business plan of the gnomes is not all too different to an excessively collected and groomed backlog in a Scrum project:

Screen Shot 2013 05 28 at 12 17 12 AM

Let's remember what Agile is about:

  • Individuals and interactions over processes and tools
  • Responding to change over following a plan

Lately it seems that many incarnations of Scrum (typically flavours of "Scrum in the Enterprise") have lost their Agile roots.

In my opinion excessive grooming and estimating of a product backlog beyond the next two sprints is waste. Of course this depends on the definition of "excessive". A backlog should represent an idea where the product is heading, but demanding an exact and fully estimated backlog to plan and forecast efforts and deadlines of a whole project is just not what Agile was all about. In fact, with an idolized  backlog in Scrum there is not much difference any more to a phased waterfall approach … or to an ingenious gnome scheme of fervently collecting with the belief in subsequent profit...

In all the cases where I have seen this antipattern of an idolized backlog the pressure came from management which took the idea too far by striving for the perfect backlog. In most cases the urgent need for the perfect backlog is a result of overusing planning and monitoring tools: it doesn't matter if it is the handcrafted excel-sheet of the project leader or a sophisticated report-dashboard in Jira or TFS. All those tools imply that there is value in a more complete, more detailed and more accurately estimated backlog … but that was already the fallacy of the waterfall, wasn't it?

However it might be that all of this is just the return of an ancient and evil conspiracy:



Update 2013-06-01: I just watched "You Are Not a Software Developer! - Simplicity in Practice" which has a quote that fits totally in the context of this post:

For planning we need a roadmap, not a road! A roadmap is about option and choices, a backlog is not a roadmap.

Thursday, May 23, 2013

Quotes of the Week: Complexity

We complify where we should simplicate.
Somewhere in the history of building web applications on the JVM, adding layers somehow became part of the solution without being seen as a problem.

Complexity is an expensive luxury… powerful solutions do not have to be complex!

You can only build so much on top of something else, before you have to wipe the slate clean and start over.

The amount of complexity I'm willing to tolerate is proportional to the size of the problem being solved. There will come a point where the accumulated complexity of our existing systems is greater than the complexity of creating a new one.

People pile layers on top of layers, abstractions on top of abstractions, complications on top of complications, crap on top of patches, and patches on top of crap until everything collapses onto itself and the singularity appears.

OOP programs built as towering hierarchies of classes are like perfect crystals, to be admired by architects everywhere but loathed by the programmers responsible for maintaining them.

Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves.

Friday, May 17, 2013

Myco: My first iOS App is in the iTunes Store

My colleague Stefan created Myco / Pilzkenner for Windows Phone.
The App won the "Best Windows Phone Apps" award in the Microsoft Switzerland App Award 2013. 

We partnered up and I ported the app to iOS. Myco is now available in the iTunes Store.

There are three editions of Myco: 

StoreIcon114x114 proStoreIcon114x114

StoreIcon114x114 free

  For more information please visit the Myco product page.

If you like the app, please consider submitting a review to the iTunes Store.

Friday, May 10, 2013

Tidbit: How programmers spend their time

From the great talk of Douglas Crockford about Quality:

Screen Shot 2013 04 28 at 10 18 02 PM

This is so true in my experience... that is why I don't get why people are argueing over and over again that  typing is one of the most important skills of a programmer (the latest is example from Miguel de Icaza and Scott Hanselman). 

Related Posts Plugin for WordPress, Blogger...