Sunday, December 23, 2012

Thursday, December 20, 2012

Hurry up - crazy discounts from JetBrains - up to 75% off. Sale will last for 20 hours (counting from 10:00 am EST)

ReSharper
- $50 (regular - $199)

dotCover
- $25 (regular - $99)

dotTrace
- $75 (regular - $299)

RubyMine
- $17 (regular - $69)

IntelliJidea
- $50 (regular – $199)

Even if the world will end tomorrow, it is still a great bargain, - you won't need money in the post-apocalyptic world anyway. If you pay for these licenses with credit card then your cash will still be available for food, water and ammo supplies :)

Monday, December 10, 2012

Couldn't just miss it - and the event was awesome. It surprises me every time that the practice which doesn't really sound impressive ends up to be a lot of fun and insight. And a spark and an inspiration and interesting people.
I was looking for helpful tips to run my own corporate session and wasn't disappointed. My biggest take-out is a concept of the "ping-pong round" when pair of developers are writing one test each and just enough code to make the test pass. It quickly becomes a "competitive ping-pong" as soon as your test misses some corner or null case and revenge follows with another failing tests. This simple, simple technique forces adoption of TDD in an unobtrusive way and eventually results in a better code. The difficult part is to write the very first test - and helpful advice was "just create a REALLY simple one - like collection has length greater than zero". And from there it went.
The activities used the usual "Conway Game of Life" although I would really like to find similarly interesting and intuitive problem - just to keep my corporate audience interested for the next time...

Sunday, December 02, 2012

Witnessing quite a few project within past two years I am still surprised how world differs from what is declared and discussed inside the communitywalls.
Agile and its incarnations are vary rarely a weapon of choice. Even projects declared as “agile” only adopt superficial practices. Projects routinely planned and executed the same “proved” way and routinely spill over time and budgets. Project Manager's most daring task is to successfully invent excuses manage client’s expectations when “it” hits the fan. Iterations do not exist or their length is arbitrary and inconsistent: one of the projects I observed had two iterations – four months and one month. Retrospective meetings, even if held (rarely), have zero value as no statistic data is being gathered or it is irrelevant. Everybody had their own idea of what went well in iteration and what did not (and kept this thoughts to themselves). In some projects Agile was understood as a roam-naked-and-free environment - no documentation, no plan, just build-as-we-go. *
There is no software project manager in existence who hasn’t heard about the agile methodology, yet just 11 years since declaration of independenceagile manifesto was signed and it is already old news for vast majority of IT folk.
We seem to not learn anything from the hardware revolutions. Who could believe that ugly smelly noisy tin cans could replace centuries-proven horses as a main meaning of transportation? Internal combustion engines have existed for almost 80 years before been attached to a real self-propelled carriage and it took another 20 years for an automobile to make it to the mass-production. Assuming that life has accelerated tenfold since then, we should have seen our Henry Ford for Agile mass-production already.
Let’s face it - it’s hopeless.

* Disclaimer: Any resemblance to actual events or locales or projects,
living or dead, is entirely coincidental. The fictional projects in description were stumbled upon during my contracting years and user group discussions. Some of them got better with time.