Wednesday 24 February 2010

Scrum bashing - natural iterative evolution

Not throwing my weight into a current Scrum bashing trend that erupted this week, as I'm a nobody when it comes to agile. But I tend to agree some of the points and disagree with others.

It all started off with Uncle Bob responding to Chris Brookins whom was looking for some of Scrum shortcomings to present at his work.

That raised a large number of responses on the thread and in the blogsphere. People such as Jeff Anderson stated that it was time for Scrum to evolve.

Others such as Jurgen Appelo came in defense of Scrum by insisting people should stop pissing on Scrum.


Issues raised



  • No technical rules, ie no prescribed methods of insisting on CI, TDD etc.
    I dont agree with limiting Scrum to development only, but suggestions are fine, which they kind of already do.

  • Sprint lengths are too long.
    They are. But again agile carrots of emphasising e.g. 2 weeks are better than bashing teams that need longer sprints.

  • Scrum masters assume or are assumed to have to much power.
    That does happen too ften, but coaching of team members and external chickens are probably the solution.

  • CSM, Certified Scrum Masters.
    Yup the title does not help, I even got it....,
    but dropping it may result in very few taking the courses all together. Time will give a solution to this I think.

  • Backlog structure.
    Not sure this can be solved, because so many different type of organisations use scrum for a variety of usage, the items in the backlog are very different.
    Partially the problem here also lies in the pedantic use of manual physical task boards,which translate into difficulties in transferring stories/tasks.
    Also the tools available, e.g. Jira+Greenhopper, have poor support for Stories and Themes.

  • Anti management.
    Scrum and its adapters have a reputation of Anti management.
    This may be true as team members often would like to introduce Scrum for the empowering of the team in the decisions.
    But once implemented it is not so much the case.
    I would actually say it is a bit pro management, once they see the results and a clearer vision of their future. Also Scum increases management due to the team's own micromanagement and constant status reporting.

  • Automatic tests.
    It's Uncle Bob, Mr FitNesse. True, an essential part, but not always the rule.

  • Multiple teams.
    Yes, this is one point that Scrum struggles with.



Future of Scrum



I think this bashing of Scrum now is a natural evolution.

The early adopters, the evangelical Scrummers, now need a new fix, and are quite vocal in Scrum's negative points. The early sceptics, also realises Scrum does not solve everything and would like to move on.

But it is natural. RUP, then XP, Lean etc are not perfect, they are just an iterative history of continual evolution and improving methodology of teams and projects.

Scrum is not a bible to follow for the next 2000 years. But now, or rather 5 years ago it was the best thing around. It has helped a huge amount of organisations become agile. Not perfect, but a lot better than before.

We should not always jump to the new shiny thing, but it is probably time to evolve, to continually improve and never rest at least not too long.


I quite like ideas suggested by Kanban. Kanban practices more common sense. As Henrik Kniberg writes in his minibook about scrum and Kanban.

But again it is not the final evolution. And everyone should adapt their needs as appropiate. There is no need for this bashing of Scrum. But neither should we not try to improve it.

Tuesday 23 February 2010

Dream employer past and present

With the demise of Sun following the Oracle's acquisition of it (or resurection depending on your view), I remembered that Sun Microsystem was once a "dream" employer of mine.

With Sun always seemingly on the forefront of technology, inventing(or acquiring) and leading the development of tools I liked; mainly Java but also within Unix, OpenOffice, VirtualBox, MySQL, etc.. And being fond of Open Source they were my "dream" company in the 90ies and early years of 2000.

But that faded over the last decade, so I began pondering what my current dream employers would be.


Current employer


And is it wise to speak/blog about other companies than my current? Would my current employer be offended or even future employers if not mentioned?

As Ive never been known to care too much about political correctness nor company politics I plow on regardless... Anyway would I still be at a company if I did not appreciate it? Maybe when I was a developer padawan I may have had less options, but today I can pick and choose so I don't think my current employer nor future ones will be that offended. :)


Dark past


Actually when I think about it, even Microsoft was a highly thought of employer in my early years. But grew out of that! Even IBM seemed attractive to the naïve student.


Today's dream companies




  1. SpringSource

    Avid user of their framework(s).
    Met a few of their employers whom seem great advocates for the company.
    But wary of VMWare influence, too corporate?
    (Offices in Southampton and now Frimley are close to family and potential future home in Alton, Hampshire.)

  2. Atlassian

    Great tools (Jira,Confluence,etc).
    Great supporters of Open Source projects.
    Influenced by their sponsering of JavaPosse.

  3. Canonical

    The company behind Ubuntu.
    Nice ethos, even the Ubuntu name.
    But perhaps not a Java company?
    And Im defintely not a C man.

  4. Twitter

    Great tool.
    Still a small company.
    But any relevant Java?

  5. Spotify

    Great tool.
    Great solution for future music.
    Interesting future.

  6. Amazon AWS

    Amazon web service, mostly ec2.
    Use it myself for my private servers,
    written documentation on how to use ec2 for others.
    Would be interesting to work with their cloud.

  7. Remember the milk

    Maybe too small?
    But supports distributed work force.

  8. Google

    Now too large. Nice ethos.
    Great innovators.
    Too algorithmic/academic culture.
    Bad reputation for coder burn.




Dream role/position out of scope


Dream/fantasy company/employer does not make working for them an ideal job. The actual position I would work as is obviously the crucial part. Perhaps you can have a dream position in an awfull company and the other way round. I am sure there always some disgruntled workers working for even in general fantastic companies.

Other factors such as job stability, salary and other compensations, location, coworkers, potential personal growth etc are all important but all out of scope for this list.


Analysis



If I review my list they tend to be smaller companies that have one or more great applications that I use myself. Perhaps they are not great companies, they just make great tools? Quite a few are also Open Source supporters.

And they may be cool companies, but are they working with what I do? Any Java? As I move away from a fulltime developer role and more and more into a system architect role, technology should be not so relevant, but I still mostly prefer Java based solutions (Or similar, Scala, Groovy etc). Due to less need to reinvent the wheel, more mature libraries, easier employment/training of developers, and personal indepth knowledge. And I do not know if these companies use Java, or even if they do if it is a marginalised technology choice.


Summary



What is important in the end is job satisfaction and that it supports my life outside work: Family etc. A great Norwegian motto is that "you work to have spare time". Ie the reason you work is to afford having quality spare time. In addition I think it is important that you enjoy what you work with. I do, basically I get paid to do my hobby.

If I am happy in a role the company should not matter. So this list will probably stay as a "dream" list". If I ever did work for one of them, I might actually see sides of the company that might tarnish the "dream" label!

In a perfect world, my dream company would be a charity. But I would feel guilty about demanding a significant salary from such a company. So my requirement of quality of life for me and my family may lower my ethical requirement of a company. But Microsoft is no longer on my list so I have some standards.

Actually anything based in a nice spot (Caribean, Barcelona, Meditereanian, New York) would have a great chance of making my list!

Tuesday 9 February 2010

oracle java blog - netbeans

So Oracle has now finally gotten their Sun. What does this mean for me and the javasphere?

A lot of people have strong feelings about the aqcuisition/merger and some feel strongly against Oracle. I don't. I don't love Oracle, but I think Java will be fine, if not better with their stewardship.

Java



Oracle needs Java, they use it all over their own product line and obviously especially with their former Bea products Java is core to their business. So an evolving, healthy and competitive Java is in their interest.

So Java, JEE, the Java VM platform etc will be fine, with more money available than at Sun. Actually it may be better as Oracle has a lot more funding and marketing capability, and it may revive the ailing JCP?


But what about the other Sun products, and specifically those related to Java?


Glassfish


I don't use glassfish, at least not directly, so personally I have no strong feelings on how Oracle will proceede with Glassfish compared to its more corporate Weblogic.

I use Weblogic at work and either Jetty or Tomcat on pet projects at home.


Kenai


Kenai was to be killed, but read somewhere today it may be saved.
I don't use it. I have a few projects on Sourceforge, and future ones may be on SF or perhaps google code or Github.


Netbeans


Netbeans however I do use.

In the initial press release by Oracle on its plans for Sun's product line they stated it was to be focused as a scripting IDE and leave JEE, java enterprise level, to their own JDeveloper and Eclipse tools.

I use it with Maven and JEE modules so this feature strategy change would affect me very much. I dabled with eclipse for a few years, and still use when forced to at work, but prefer Netbean's cleaner interface (Its not made by IBM...)

However again in an updated press release they have a seperate java tooling page regarding their plans and they may not restrict it to that. Lets hope not.


Cloud


Oracle killed Sun's cloud computing ambitions. Fine by me. They are not into being a hosting provider.

I use Amazon's ec2 a lot, and will not miss it. However I did not know enough about its features compared to ec2 and Google's App engine. It would have to be much better than those to have been worth it. Maybe it was more like Ubuntu's cloud offering with hardware hosting?


VirtualBox


VirtualBox I do use, and glad it looks like it will be kept as is, I think.


Solaris


I have no strong feelings for or against Solaris, but keeping it competitive is probably in their interest.

The hardware and other areas I am not too bothered about. I used Sparc at university, but not since.

Other links:
http://blogs.oracle.com/devtools/2010/02/updated_faq_for_the_developer.html
http://www.oracle.com/ocom/groups/public/documents/webcontent/038563.pdf

Monday 8 February 2010

Excellent tip on how to go to sleep

(For once a non tech related posts, but still perhaps nerdy...)

I've worked out how to fall asleep quickly, and this is my simple tip:

Basically I start to think/daydream about a fantasy story. Ie something completely irrelevant but interesting.

Maybe it is by coincidence or due to other factors like getting older or simply exhaustion but it seems to work evertime. And fails everytime I don't follow these rules.

So it has to be nothing realistic or related to my real life in anyway. If I think about something in my actual life I get too upset/depressed/happy/excited and very engaged into the thinking that I don't fall asleep.


So my rules are:

  • Never think about what I did today or what I need to do tomorrow. That engages my brain too much and I can't fall sleep.

  • Don't think about regrets of the past or problems in the future, again no sleep.

  • Don't think about anyone you know whether romantically or aggressively. No good can come of that. Well maybe...

  • Don't think about work or hobbies. You minds gets too active to fall sleep.


Think about something interesting that can not upset you in anyway. Which is best if it is something not related to you at all.


The famous tip of counting sheep [2] jumping over a fence works on the same idea, but never worked for me as it was too boring. I remember a tip on a radio show that also is similar; The lady said she "thought and concentrated" about each part of her body from toes upwards step by step till she felt asleep. Doesn't work for me but is again related to concentrating on something completely irrelevant.


My thoughts/dreams are usually almost like a Hollywood film. Something not related to my real life, but I "live" in detail in these worlds. Maybe because I am a man (with a vivid imagination) that my snoozethoughts are related to wild western / jungles / space / racing cars etc but they work.

I can continue the same story for months usually because I fall asleep so quickly so never really get anywhere in the actual story line!

If trying to sleep try to block out all other thoughts and imagine yourself living a life in a place like the Avatar film, then maybe this will work for you?

If you have problem sleeping, try it!
Don't think about anything in your real life, think unrelated fantasy, and zzzzzzz.