Sunday, 28 August 2011

Of Tablets and Things

Although tablet PC's have been out for a few years, the introduction of Apple's iPad really heated up the market. It has been touted as the only useful tablet on the market and indeed, having owned an iPhone for a few years, I had a serious case of "wanna/needa".

The time finally came when my old Asus WinXT based netbook had too little battery life left for any serious use, the keys were so worn that a lot of the letters on them could no longer be seen and so I finally had to admit that I needed a new one (That sounded like a good enough excuse I thought). I went searching.

Seriously, at the start of the search I was convinced that this was my chance to get an iPad. I had looked at them many times but when I came to actually parting money, well, I type too much and the idea of doing that much typing on a screen pad put the shivers up me. I still liked the idea of the tablet though so I broadened my search. It must be noted that since the final purchase, HP TouchPad was all but given away but unless you were staff, or best friends of staff, few were able to purchase one.

So I ended up with a transformer from Asus. Yes, I was also interested in the Android market. I'd heard a lot of statistics about android but knew these to be based on cheaper phones rather than the tablet market but I felt it had matured enough for the purchase. The Asus Transformer allows me to have a keyboard, but detach the screen to have a fully functional Android tablet.

I have had this now for a few weeks, so what is my verdict? Having used windows, iPhone, and now Android for serious productive work, I still rate Windows as the basis for the type of work I do. I have been extremely surprised at the quality and usefulness of iPhone apps for on-the-go applications though and regularly enter information including mind maps, documents, and spreadsheets and keep track of my spending habits with it. I have tried to use it for reading books, but it just doesn't work - too small.

Essentially I wanted a tablet so that I can detail mind maps in my work speaking to customers, pan out presentations, and detail some notes on the go. I also want to be able to read books anywhere - I found I can't really do that on the iPhone despite some serious book reading apps.

I'm pleased with my purchase with only a little hesitation. I love the ability of the keyboard to enter in bulk text but am just a little disappointed in the quality of the applications. I have some frustrations with it as well, mainly around the use of the keyboard. Keyboards are new to Android so I eagerly await updates that will recognise this. Using the keyboard I cannot use Ctrl-Arrows to jump to the next or previous word, despite how many times even in writing this I try. The copy and paste works but not as well as iPhone (I know others disagree) but copying the right set of characters is still a little hit and miss, even with its grab-able handles.

There is a couple of very good MS-Office applications available and the Asus Transformer comes with one of them installed. I'm also pleased to find that applications like DropBox and EverNote (I'm using that now), are available for this divide so its easy to move stuff around between computers. The only true disappointment that I have come across is the Mind Map app. I use Mind Maps extensively in my work and I'd have to say is one of the main drivers for me in getting a tablet. The only one currently available on the Android market is called "Thinking Space" and looks every bit as good as the ones I'm used to. However when I use it I find the menus are confusing and not intuitive. The icons are in some cases just wrong - e.g. an icon with a plus sign means create another node as a child of the current node, and an icon with a plus and a right-arrow means to create another node on the same level. It just doesn't make sense. Also, when I do create another node, the focus stays on the previous node, I have to specifically select the newly created node to type into it, when it seems obvious that I'd want to type into the node I just created. But despite the frustrations, this does look promising and I eagerly wait for these few items to be updated to make it more intuitive and easily work.

I'd say that the Android app market still has a way to go to catch up with the quality of serious apps that is available on my iPhone. The tablet is new to Android and I find that most of the apps that I download to try out, do not make use of the extra screen space and are clearly built for the tiny mobile phone screen. I am convinced though that this will change, and soon.

While its fair to say that I should have simply got a replacement to my Windows netbook, I really want to put in the time and effort to use the tablet.

Just as an after thought - my partner has just purchased the very new MacBook Air. For the first time in many years I had to finally agree that she owned a far better computer than I did. I'll keep an eye on this very disturbing development to see where it leads.

Sunday, 14 August 2011

Evaluating Software Teams


There has been a very interesting discussion on one of the LinkedIn groups I belong to on evaluations of team members for Software Teams and how to go about it. If you manage a Development team you'll know the answer isn't as simple as comparing producing features against the number of bugs, it's far more complicated than that.
Often there is little in software development to quantify and you are working with as many different people as you have team members. They all have differing levels of skills and different personalities. Even the area of applications they work in will make comparing production to other team members almost impossible. 
Developers can knock over 20 bugs and add 3 new functions in a one day but spend the next week trying to resolve a single bug. Performance against sheer production is just not an option. 
Managers need to look at other options. 
To properly evaluate, managers must be able to repeat the same evaluation 6 months later and compare the two to see if the individual is performing better than he/she was in the first evaluation, so the evaluation must be against something that is quantifiable, repeatable, comparable, and understandable. 
Luckily there are things that you can use other than functions vs bugs. You can evaluate items like:
  • Standard of dress (programmers turn up in tee shirts - but are they clean and non offensive). 
  • Attendance to work during required times and hours. This will include calling in if late for any reason. 
  • Attendance to meetings 
  • Quality of documentation and testing 
  • Time to respond to a request 
  • Ability to get along with the others in a pleasant and non-disruptive way 
  • Ability and willingness to help out others with mentoring. Includes things like contributing at meetings. Must be weighed up with doing their own work. 
  • Following the correct process 
  • If customer interaction is involved, how many complaints and compliments. 
  • Desk tidiness (mine is terrible so I have to make a real effort to tidy it every couple of days). 
  • Willingness to take on new work. 
  • General attitude 
  • Attitude to change 
  • Clarity and effectiveness of documentation
Try marking these out of 5 (5 being the best). Try to keep them all around 3 so that areas of discussion and commendation are easily highlighted.
After this the manager can make general comments on their assessment of the team member's skills. This part however is very subjective so must be introduced as comments only discussed behind closed doors and something for them to consider, but its not anything that can be quantified so it can't go into, say, consideration for a bonus. 
Try not to compare team members against others - this is THEIR evaluation. It's also not wise to evaluate the team itself - the team is where YOU will be evaluated, not the individuals. 
Your comments?

Employment Scene over the last two years


It's been hard to miss, the financial crisis of the last few years. 

There have been some real horror stories coming from the United States on the employment scene with many people losing everything, starting with their jobs. In one case I know, a person with a well run retirement fund that had grown to around 14 million, was reduced to a few hundred thousand in a matter of a few days. Things are a little better now but the fabulous retirement that was planned will now never be.
Australia fared reasonably well on the world stage but still suffered some serious concerns for both full time employees and consultants. The downturn meant that few were hiring. I spoke to an employment agent in Sydney during that first 18 months. His business was not doing very well and he told me that although you could walk the streets in Sydney and see crowds of people in business suits going about their work, it was his estimation that at least a quarter of those you saw on the street were looking for work. I considered myself very lucky to have found work during that time.
New Zealand did not fair as well. When I returned to Wellington at the end of the first quarter last year, I took up a contract with a Government department here. Paradoxically, this contract itself would not have been available except that there was a freeze on employment and they took in a contractor instead. One of the few management positions available for contract. During that time we were able to employ a number of others into short term contracts for necessary projects. 

In the interviews, it was immediately obvious that every person, some very highly qualified and experienced, had a large gap in their employment. The financial downturn turned a lot of very good people out on the street. The look behind their eyes when we discussed this with them showed the horror of the times on their personal and family lives.

Things are just starting to get a little better but there is still a long way to go before we get anywhere near the heady days of only 5-6 years ago.

Returned

I've been very remiss in updating this blog over the past couple of years and I'd like to kick start it again. I get a lot of enjoyment and learning from writing this blog and I've had a lot of feedback to say that others also get that same enjoyment.

There has been a lot of things happening over the last two years.

I've found it very sad that I was placed into a position where I had no choice but to return to New Zealand from where I was living in Australia. I loved Australia and the people there. New Zealand has wonderful people too but I had built up a number of friends in both Melbourne and Sydney and a even few in Perth (although I never actually got to Perth).

My main areas around application development teams has been a joy to me in my contracts, and although my secondary area of Marketing has also been of use, it's the team and the process that has always been of greatest interest.

This last few years has seen me in different contracts as a Marketing Manager; a Software Development Manager for a government department; and a Software Consultant for a team with a great product now in Wellington New Zealand.

Over this time I've been very involved in a number of projects and technologies so there is plenty of interesting bits that I can delve into. I'm back on the Blog scene again and will update this again shortly.

While I was away I had so many spam posts that I had to switched off the ability to comment on my posts. I feel sad that I have to apologise for the stupidity of a lot of people - mostly Indian programming companies touting for work by adding posts that said things like "I agree" and signing off with their company link. Those posts will be removed and the company reported to the blog hosting company so they will be blocked.

I'll begin posting again shortly.

Wednesday, 10 February 2010

Leadership of the Technical Team #3

Number 3 in the series on Technical Leadership.

Makes Decisions for the Team

top I was surprised to find that this section was more difficult to write for several reasons. the title “makes decisions for the team” is something that I could have well reconsidered as it seems both obvious and at the same time very snobbish and places the leader in a position that should not be taken – at the top.

Most people automatically place the leader at the top of the team in a visual organisational chart. While the organisational chart does indeed show this position at the top, it is not the visual reference that I want to portray. I’d suggest that the leader is the one underneath; leading from behind or holding the team up; in a supporting role; carrying all the responsibilities of the team; a servant to the team; and the person protecting the team from the politics and pressures that attempt to divert the team from its path of productivity and enjoyment.bottom

One of the ways a leader can serve and support his/her team, is in making decisions for the team as a whole.

In the position of leader and manager, you are expected to move the focus from the code being produced to the product. You are also expected to know and understand the perspective of several other areas including those of the boss, the company, the customer, the financial budget, and those of other departments within the company.

It has been said that there are two different types of leaders - we’ll ignore the fact that there are several, just for this instance, let’s assume there are two. Take, for example two good managers of forestry teams tasked with clearing a section of forest and harvesting its timber.

Leader One will take his team into the forest, start them cutting trees in the most effective pattern that his experience shows for its productivity; he’ll have the trucks lined up to take away the timber in the correct times in the correct order; have the forklifts correctly placed to load the trucks; and have everything running like clockwork so that he/she clears the most timber of any forestry team. That is an excellent team and a good leader.

However, Leader Two will go into that same section of forest but before work begins, this leader will climb a tree, have a look around and come down to declare to his team that they are in the wrong forest and they should be over the other side of the hill.

Leader One was acting in the best interest of the project looking at the tasks required and delivering to the tasks. Leader Two however realised that his position was to serve the team by having the ability to view the larger picture, ensuring that the team not only delivered to the project, but delivered to the RIGHT project in the CORRECT direction to also serve the company.

This ability to raise your head above the tasks at hand to see the overall picture is usually very difficult for those whose lives to this point revolved around climbing inside the disk drive door, only coming out to eat or sleep.

The leader is in a position to make everyday decisions for the team. With the knowledge and understanding of the forces that effect the team, the leader can guide the team into exceptional productivity and communicate that to those others in the company who need to know. Communication is a strong point and I direct you to a previous post titled “Even Programmers need to Communicate”.

Don’t be scared to make decisions. You will never have all the information, so make decisions on the information that you do have. Some of the most ineffective managers I have come across will be those who will not make decisions but continually wait for more information.

Remember, you can always change or deal with a bad decision but you can do nothing when no decision is made. Yes, be prepared and able to hold your head up high while you do a total 180 on a decision as more information becomes apparent.

I have never understood the old saying of "make a decision and stick to it". That is unwise advice and will have you standing in the wheelhouse of a sinking ship with total resolve as you draw your last breath in the knowledge that you stuck to your decision to ram the iceberg even after it became apparent that it was larger than your ship.

A good leader will not only make decisions, he will also allow the team to make decisions where appropriate. Grow your team by allowing them to make decisions where they are able. Ensure that they have as much information as possible to allow that decision without attempting to tell the team which decision they should make (although there are times when that might be required). However, be also prepared to stand behind the decision that is made and make it clear to the team if it becomes apparent that they should make a change to that decision.

Rely on your gut feelings, they will NEVER fail you. Just make sure it is your gut you are feeling and not your heart - that can fail you.