Saturday, July 30, 2011

Strange sources for learning new stuff

I am watching "seconds from disaster" for a while now until 3AM everyday for their engineering educational value:
- Disaster Prevention
- Possible Mistakes both in human factors and engineering design, based on designs and situations.
- and Investigation after accident.



It might be strange but I am getting new ideas that I can apply in my own field of expertise.
Airplanes design pushes engineers to their limits in disaster management and prevention.


Not everything I want is in software books.

Monday, July 18, 2011

Social Teams

Is a short huddle in format of Scrum good enough for a company? Or do we need long meeting of discussions between team members.

I think eventually the right place is neither here nor there.

Scrum based huddles are short. In Scrum there is no time for discussions. Discussions are one of the main and best source of sharing opinions and information. In one study, researchers found after showing disgusting pictures, people can memorize things slightly better than after watching nice pictures. In scrum  there is no emphasis on discussions or creating bonds in teams.

It seems that human brain is not so delicate, and needs challenge and opposite opinions in  regular basis to be able to grow and shine.

On the other hand lengthy meeting tend to make people bored and dose them off the topic.

We should find a middle ground here.

The first step is to find people who are able to socialize. That is the essence of every active team. That person must also be a competent person in the team. I think there is no need to be the top technical member as long is that person knows about how to start conversations and slowly brings others into conversations.

Conversation starter could be anything from "how was last night party?" to "Did you buy a car?". Starting with non technical topics helps people to create bond beyond technical subjects. It can create a care factor between team members.

Creating bond is essential in teams. It will help people to feel more responsible about the team goals, and  put more effort to help each other and also express their opinions more relaxed.

In this situations for a person who is the source of team social aspects seniority and age is not a big factor. Technical discussion and skills will show up during meetings in a different dimension.

Conversation starter normally should not last very long to create a long meeting. A number like 5 minutes can be a soft limit.

After starters, team should have a 10 minute or more technical discussion in form of friendly talks. Reports my experience are most useless. I rarely saw any value coming from reports. On the other hand friendly conversations about projects, with almost no format are more useful.

To be able to do it, teams should have a limited number of members.

Scrum works better is number if  size of the team is bigger than 5. But in my opinion creating few small teams with less than 5 members are more affective than having larger teams with more people. Growing social factor and creating bonds are harder in large teams.


Friday, June 17, 2011

You Can Prevent Silo Thinking

You Can Prevent Silo Thinking If you do your job well, and everyone else does their jobs well, everyone succeeds, right? Wrong. In fact, in any organization, it's not only important that everyone do what they are supposed to —everyone also needs to work together. Don't let a silo mentality take over your company. Recognize that you are all responsible for each other's work and if there is a problem anywhere in the organization, everyone fails. Refuse to allow people to go to their separate corners. Encourage people to meet regularly to share what they are learning. Have the courage to call out when one part of the organization is struggling and find a way to fix it together.

Today's Management Tip was adapted from "Solving Your Organization's Open-Faced Sandwich" by Peter Bregman.

Saturday, February 5, 2011

Symmetry in software architecture

Symmetry is a tool in design that can be used to reduce complexity. When we learn one part of symmetry brain can manage the rest with a simple repetitive process.
It is one of the tools that can be used partially in some software architecture.

Saturday, January 29, 2011

Chrome Web Store

I am using the Chrome store for few days. It is again the same concept of defined applications with sense on installations and un-install, so something modular.

I thought I might be useless but I am liking it. Dealing will defined applications have a defined place to search and means of delivery instead of search the web and use bookmarks has better psychological effect for me.

Friday, January 21, 2011

Swtiching to non Apple environment again

Around July 2010 I decide to buy a Mac Book Pro to have a experience about one OS and society named Apple that I have no contact with until that time.

Apple environment had pluses and problems.

Pluses in some user experience area like UI. It has a stunningly beautiful design, with an acceptable hardware, and ease of use just in some areas.

The biggest problems in my mind is their Dictatorship approach and have a much more closed approach even compared Microsoft!.

Other problems might just be my personal problems and I can just say I DID NOT like them.

  • I don't like the Mac keyboard at all.
  • I prefer the gnome window management that is becoming incredibly better in newer versions of gnome.
  • I prefer the life-cycle and package management of Debian much better
Now, it is time for me to go back to use my preferred environment. I hope to buy a new Thinkpad and switch to the environment that I like.

It was the same case for iPhone, I had an oath to try them both.

I have already switch to use an Android phone and it stopped my continuous nagging.

It is interesting in both cases the strategy that I use is almost the same as what I do for big refactoring changes in code. Like switching to DB from a flat file based system. If I want to do it seamlessly it takes time!


Friday, January 14, 2011

No one is idiot exercise

Which programming language is better, Java, Python, Ruby, Perl, PHP or C?
Which Editor or IDE is better, vim, eclipse, netbeans, xcode or Mono develop.

When we think about decisions and actions of people, if we simply think they are idiot our brain wont try to process the data to understand them.

In any controversy, understanding the opposite opinions is a good exercise of wisdom.