Sunday, October 24, 2010

Intentional and Accidental Managers

There are two kind of managers, intentional and accidental managers. 

Intentional managers are educated to be managers. They start their carriers as managers. Usually, besides huge knowledge of by-the-book management rules, they also have a strong theoretical background on psychology. Also, these people are very self-organized and they are able to organize people to do some work in a way that’s easy to monitor and control. Most of all, they have generalization approach to managing work, especially at the beginning of their carriers. Generalization approach means that they use general rule for management regardless of the business domain. They follow the very same rules whether they run a shoe factory line or a software development team. 

Accidental managers are, first of all, craftsmen. Being extremely good in their everyday work got them to management in the first place. This kind of managers know their business domain very well, they have working knowledge on the matter and they earned the manager’s position by saving several problematic projects. They manage work through specialization. While working on the project, they go down to all the little details and seek to know every single thing that’s related to the project’s result.

So, which kind of managers is better?

As with everything in life, there’s no silver bullet.

Speaking of bullets, here are few on the diversity of these two types to conclude:
  • Intentional managers tend to delegate all of the work, accidental managers do (too) much of the work themselves.
  • Intentional managers lead larger teams in a very organized way. Accidental managers have problems managing large teams.
  • Intentional managers write great reports and present them to the satisfaction of stakeholders. Accidental managers have problems writing reports at all, and when writing,  they produce reports focused on problems and rarely mentioning good things they and team has done.
  • Accidental managers work great in time of crisis. They are great cost-cutters. Mainly, they are appointed at the time of crisis. Intentional managers much easier surrender to the crisis and flee from the battlefield.  
  • Accidental managers got bored easily when business is stable. In the day of crisis they are troubleshooter, in stable business they, as managers, are troublemakers. Intentional managers work best while in stable business. Reports are clear, regular and everyone can celebrate good results.

Monday, October 18, 2010

the dead parrot

It seems that Microsoft has dropped Oslo and it's focusing on OData and EDM as a more loosely coupled approach to modeling. I was really interested in "M" and creating DSL's in the language, was impressed with Don Box and Doug Perdy at PDC2008 but it seems that we'll have to wait for another fad to occupy our dsl-thirsty minds. Weirdest of all, it seems that Doug also vanished with the Oslo.

Nevertheless, after a few posts on SQL Server Modeling, Oslo, and "M" and a long pause posting, I'm here to write about the next technology I'm trying to learn and apply.
This time it's Python with Google App Engine.This should be a big change after years of using C# and Java in my everyday work. This is somehow weird, because actually I'll still continue to use MS technologies at work, but examining the Google side of development world is like a new hobby.

Right now I'm going through the tutorials and docs on Google code and I really like the language and the approach. Provided services give a lot of power instantly to your applications. You don't have to worry about authentication - authenticate users with Google account, don't worry about the database details and query optimization - just use the easy-to-use Datastore service. Emails, cron jobs, XMPP, Google Apps, all together gives a great platform for development and enable you to focus on your.... Idea!

If you don't have an idea for the next I believe you should try developing an application that you need and you would like to see available. Taken this approach what I miss really is an application to easily organize and track my tasks. I get and assign tasks through several tools, Outlook, issue tracking tools at work, Google tasks, and of course RTM. At the end of day, each application is missing some feature that I think I really need. Thus, I'll try - as an exercise - to start with a task tracking application. Not a great idea, but at least - it could be a real enough project to learn Python and development for Google App Engine.