Thursday, April 16, 2009

Developer Summit 2009, day 1

Who do You Trust? Beware of your Brain by Linda Rising

In The Robbers’ Cave Experiment two groups of 12 year old boys were transported separately to a boy scout camp. In the first phase the groups formed identities by giving themselves a name, evolving rules, leadership, etc. In the end of phase 1 the groups became aware of each other. The reactions were strong. This is our swimming hole, they, whom they had never seen were given bad names.

In phase 2 the staff scheduled competitions and nice prizes were given to encourage competition. War broke out! The boys collected weapons and fights erupted.

I phase 3 the staff experimented to resolve the conflicts. The boys watched movies and had fun together. The conflicts could not be resolved.

Finally, the staff had the boys do projects together that were important to all of them. They had to work together to remove a tree that was dangerous to all of them. This pulled the groups together.

Blue-eyes vs. Brown was another experiment where a teacher told her students that brown-eyed children were smarter than blue-eyed children. The blue-eyed children were given collars to make everyone aware that they were not as smart. During the course of that day the children started treating the other group, whom they had known all their lives, badly.

Stereotyping is the act of labelling people.

Managers divide employees into winners and losers as early as 3 weeks after starting to work with them.

We forgive our behavior but not others’. The solution to avoiding conflicts with others is to give them the excuse that you would use for yourselves in the same situation.

When people are stereotyped and told that they are not as good as someone else the prophesy is usually fulfilled.

Since stereotypes are prophetic, the #1 rule for good management: Catch them doing something right.

In the Strange Phone Conversation experiment, men where given a photo and a bio and then had to call her. The men that thought they talked to attractive, smart women, influenced the conversation so much that when the women’s part of the conversation was given to other men and there was a correlation between the expectations of the first group and the impressions of the other.

The key to collaboration can be summed up with: I want to know what you think?

Deception and Estimation: How We Fool Ourselves by Linda Rising

Lisa’s message is: we naturally deceive ourselves and others, constantly!

Smarter people are better at deception, because they can create better “rational” explanations.

We cannot estimate! The only solution is experimenting.

Lean by Scott Bellware

In Scrum we make a plan at the beginning of the Sprint and try to estimate what we can fit into the time-box.

In Lean in contrast you don’t have a time-box instead you have just work. The goal is to eliminate waste. The waste in this case is the planning in the beginning and the work that does not fit into the time-box. This means that we have multiple plans, the release plan does not have to the same pace as the development plan, which does not have to have the same pace as the planning plan.

The Kanban is the glue and it is filled with work items that are produced by the planning process.

Cloud Computing a la Microsoft by Robert Folkesson

Windows Azure is Microsoft’s take on cloud computing. The session was just a demonstration of a new Visual Studio project type for cloud computing. The usual demonstration of point-and-click programming. It would be interesting to see it in work with command-line tools and continuous integration.

The one interesting thing mentioned was that all the different services provided by the Azure cloud are RESTful.

Can I deploy a local cloud? No!

Can I deploy the application with command-line tools or have my continuous integration server deploy the application. Yes

Good Test, Better Code by Scott Bellware

Scott talked about a BDD like framework called Machine Specification or mspec. He also mentioned the BDD goals of tests as documentation and design as well as test.

Specify the experience and not the implementation

Readable Code is not as important as Scannable code.

He also talked a bit of DDD and mentioned that Entities should not have dependencies and that services could. He also said that primary dependencies, like a data access service, should be injected into the constructor and that secondary dependencies, like a logger, should be injected with setters. I can agree with that, its not too controversial.

No comments: