Friday, 16 May 2014

Why Delphi and why now?

I've just recently finished up a great contract with a Regional Council, as their Development Team Leader for a great team of developers and business analysts. It was a fun role and it got me to thinking more and more about my pure love for developing great applications.

Those who have been following my blogs and career have seen that I have moved more and more into leadership, and management over the last 10 years. This has been a very enjoyable time, and has taken me into areas that I never thought I’d have opportunities, but I still missed the code.

There’s something special about helping teams to be their best; about making sure that management knows how productive the teams are; and helping others and seeing individuals grow within the teams. But in recent years, I've also realised the “something special” about being able to create.

I'm about to start another contract but this time as a Senior Developer. Now I know what you’re thinking already. I have been a development manager, a software group manager, and even a CIO; why would I want to take what can be perceived as a step back in my career?

I don’t see this as a step back at all. Actually, I see this as a return to what I love and what most drives me. As a team leader and a manager, I was one of many. Yes, I was able to deliver; I was able to make changes resulting in huge improvements; and I was able to assist many along their own career paths; however I was still just one of many. As a Senior Developer I became well known. I was sought after for my skills (let’s hope I still have some), and I made my mark. Through some serious navel gazing that has been ongoing for a few years now, I simply decided that being a developer was my core skill. Like all good management decisions, I decided it was time to focus on my core function.

So, I am very excited and not in the least apprehensive about taking the plunge again and returning to being a Senior Developer.

The company I am going to work the rest of this year for, uses Delphi for its core product development and during the interview stages, I was asked if they should change. Many others have suggested moving to Java or VB .NET. Some felt that C# was the way to go forward. It’s a very valid question and one they should not take lightly. I looked at both their product and their small team. I knew that my answer should be to move to .NET, but I could not think of a valid argument for that; I also knew that if it was a new product, I would be suggesting something like Ruby on Rails, but it's a stable product in daily use by tens of thousands of users who rely on the stability of the product. My eventual answer was that they should upgrade to Delphi XE6.

 

 Yes, I can hear the wails, the howls of indignation, and the gnashing of teeth out there but the team had used Delphi very successfully for more than 20 years (yes, the developers had been with that company for that long and longer), turning around and retraining in another language would require a good and reasonable result and damned if I could give the a single reason other than “it’s expected”.

Also, as I have said many times before, Delphi is a very productive language and changing languages may result in needing a larger team with reduced knowledge. Knowledge in the product itself may even be at risk as the current team may no longer enjoy the experience and move on.

No, Delphi was the answer no matter what others would say. With the recent release of Delphi XE6 they could seriously look at the tablet and smartphone markets as well as normal pure enhancements, all using a small, dedicated, and very experienced team.

So it’s back to being a developer for me and I couldn't be happier at the prospect.

Sunday, 23 June 2013

Programmer or Analyst Developer?

I know these terms to mean different things in different countries or even different organisations so I'll explain.

  • A Programmer is a person who is given a task and codes that task as it is described. Usually this task is described by a Business Analyst in the form of a Requirements Document or a User Story.
  • An Analyst Developer will speak to the users to help define what their need is, then code that need.


I had an interesting talk the other day with a Software Development Manager who was looking at the whole idea of the Business Analyst that so prevails our thinking around software development. A number of years ago there was a push never to allow the programmers to talk to the users. The huge push for Business Analysts was on and the Analyst Developer idea disappeared from our vocabulary.

What this person was suggesting was to reintroduce that idea. He recognised that not every programmer was an analyst developer and there was still room for the programmer in the teams, but that instead of having a number of business analyst producing streams of paper and diagrams, this function was sometimes better produced by an analyst developer.

Thursday, 23 May 2013

Version 6 of Jira has been released

Atlassian has released Version 6 of its great Jira tool. I must admit to being a big fan of Jira from its infancy and have installed Jira in a number of organisations in New Zealand, the UK, Australia, and Germany.

See my previous post on a much earlier version of Jira - Tools for the Development Team - JIRA.

Atlassian has released a number of versions since that early review and its long overdue to do another review, but that's for another article.

So what's so different about Version 6?

There's a new user interface. Atlassian have recognised that while its second nature for long time users to make their way around Jira, it can sometimes be a learning curve for new users. This new user interface is designed to allow new users to get to know and use Jira that much faster and easier.

Sunday, 19 May 2013

Delphi, why won't it just die?

Over the years, I've programmed in a lot of different languages. Along the way, languages have come and gone in typical "Flavour of the Month" style, while others that have been predicted to be flavour of the month, have become very mainstream;  Java being one of them.

I used to do a lot of work in FoxPro and it was used extensively in almost every company and government department in New Zealand, but then Microsoft bought it and firmly placed its boot over its head knee deep in water and it slowly, desperately, died.  Even then it was flailing about so hard that Microsoft was forced to simply state, "No More FoxPro! Last version ever!"  in about 2007 despite having millions of followers.

Wednesday, 27 March 2013

New Post in Leadingtechnicalteams.com

Come over to leadingtechnicalteams.com to see new posts.

leadingtechnicalteams.com talks about the five skills you will need as a new Team Leader of technical teams.

leadingtechnicalteams.com recognises that many technical experts are promoted into a position of leadership, often on little more than their technical abilities. This is a place where all team leaders can come for advice and to learn from each other.

Please contact me if you would like to contribute with your own post. I would like leadingtechncialteams.com to be a community of technical leaders.

Thursday, 21 March 2013

New Blog Leading Technical Teams


Good day to all readers. I have been pleasantly surprised to see that this blog has a readership that is still quite large despite the length of time since I last posted. 

I've also noted that the blog, and the people searching for answers here, have been towards posts that relate to team leadership. 

I realised that I do like writing and learning and the interaction that a blog can give to me and others. To this end, realising that the current blog is a little more technical focussed, I have started a new blog. 

LeadingTechnicalTeams.com is designed to be a place where everyone can come and learn and contribute. I'm working on a suitable forums section as well. 

It is my real hope that some of you can also contribute with posts of your own and questions and answers. 

I know the difficulties that a team leader faces, often put there due to little more than being the best technician. Leadership is a different skill that needs to be learned. Much more often than not the team leader is also not really a team member and suddenly finds they have no one to discuss and get advice from. 

Join me at LeadingTechnicalTeams.com and contact me. Lets make it a place we can contribute to and learn from, and where we can find that we are not alone.

I welcome you to my new blog at LeadingTechnicalTeams.com.

Monday, 29 August 2011

The upcoming Skills Shortage

There has been some talk in the news recently of an upcoming IT skills shortage in the country when we still have a high unemployment rate.  I have noticed that every time there is a period of great unemployment, this is followed by what is perceived as a skills shortage.

During the employment and financial crisis of the last few years, those companies who were able to hire got very used to the idea that they could get exact fits to their needs. While there was high unemployment through these times, companies and employment agencies became comfortable with the knowledge that every job advertised would have a hundred or more applicants. They could then be extremely picky about their exact needs. In other words, if they wanted, say, a senior Java developer to assist them in programming plugins for Atlassian's Jira, then they could easily expect to find amongst the applicants, some who have 3-4 years exerience specifically programming jira plugins in Java.

This is no longer the case and employees and agencies are crying "Skills Shortage" to the government. Too bad if there are 120 others within a 10 mile radius who are very well qualified and capable and have enough experience to quickly pick up the industry and product knowledge - heaven forbid but they may even be 10 years younger or older than all of the others in the team. Who know's they may even bring some diversity to the team, especially if they are originally from another country or have a different accent and skin color.

While we do need those highly qualified and experienced people, employing good people willing to work their guts out for opportunity might resolve some of the issues.

Your thoughts? 

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.

Wednesday, 16 December 2009

Technical Leadership #2

(continuing on from “Leading the Highly technical Team”)

The thing about leadership is that its such a large subject and there are any number of books and other writings on the subject. The point that I'd like to make, stated in my last instalment, is that leading technical teams has some very different aspects to leading other teams.

However some things don't change. There are lot of young people who have been placed onto a leadership role and have had no training or mentoring and in these days of tight training budgets, and no place to get it. Often these people are given those roles due to nothing more than their technical knowledge. It is my hope that this series will give those people some basis for their new career.

Firstly, for those who are starting in on this path I will congratulate you. You have shown that you do have the ability to lead, even if you don't yet realize it. To get to this point you have not only shown leadership in the past but you probably also have the support and recognition of your peers. All you need is some training.

Let's cover the bases first, in no particular order a good team leader…

  1. has empathy with both the team and the individuals in the team.
  2. makes decisions for the team
  3. is able to listen effectively and impassively
  4. stands between the team and others who might work against the team
  5. gains the respect of the team
  6. ensures the productivity of the team
  7. ensures the ongoing enjoyment and cohesion of the team
  8. ensures the team produces in the overall direction of the company
  9. ensures the team works effectively with others
  10. makes the very hard decisions that are sometimes needed for the good of the team

Empathy

Empathy itself is a large subject and absolutely essential for leadership. Without it you are nothing more than a manager and possibly a tyrant.

friendsEmpathy means to have an understanding of another person's viewpoint. Not just knowledge of, but “understanding”, there's a big difference. Some have described empathy as "Agape".  Agape is a Greek word with several meanings relating to a type of love. In this case the meaning I’m using is of a brotherly type of kinship, understanding, placing yourself in another’s shoes, a non-physical, non-sexual type of love. Not the English word or meaning of love but something that still means a positive emotional, yet professionally appropriate, feeling towards another.

Don't confuse this with agreement, its not necessary to agree with someone to have a true understanding of their viewpoint. This empathic feeling goes towards the team as a whole as well.

Often during this series I'll be talking about the individual and the team as if they are entirely separate and this is definitely the case. The team is like another identity that takes on it's own role and personality. I have even seen teams hell-bent on doing something that none of the team members want, usually a very bad situation, however it goes to show that the team itself does take on a personality of it's own. It's up to the leader to ensure the team's personality is in harmony with those in the team, and with the positive purpose of the team.

It is then with this empathy that the leader can understand the person's position and feels a genuine compassion for the circumstances, but in their position of management he/she also must take into consideration all the other factors surrounding a decision and acts accordingly. Being empathic, the leader will let the person know that he/she understands their position and communicates both his/her understanding, and the final decision equally.

I can almost hear some readers say that this talk of empathy will show a leader to be weak. Not at all, in fact I might suggest that if you are at all worried about appearing weak to your team, then perhaps you may have to reconsider how you interact with them. Are you leading them from the front, or are you chasing them from behind?

Weakness suggests that you can’t make those all important decisions and are easily led. We’ll get to those hard decisions in a later part of this series, but I’d suggest that you don’t even go there for the moment. You don’t want to appear ready and able to be the hire/fire kind of boss that looks around only to find no-one there.

Empathy has nothing to do with either strength or weakness. It has to do with understanding your team.

For the technical team this takes on another dimension. It is rare indeed that the leader has all of the skills of the team. I’ve heard even recently a manager claim that he would never ask one of his team to do something that he would not be able to do. This is a fallacy, in a technical team all the team members are there because they have specialist knowledge that is sometimes very unique. Its not possible for a leader to do everything the team members are able to do unless the members are reduced to a single skill level. Not a very effective team in most cases.

I couldn’t do half the things my wife does and she could not attempt to do a lot of what I do, yet we make a very effective team. As leader I have led teams who program in several languages on several platforms and have qualified skills that I could not master without the years of training and experience that they have. This I consider ideal as every member of every team is different. I have great admiration for the skills of the team members and this in turn prompts me to do the very best for the team; to be there for them when they need it; to listen; to stand for them against others; and to serve in the best way I can to allow them to use those unique skills. That is empathy.

Rather than weakness, this empathy is what allows a leader to make what are sometimes very hard decisions for the good of both the team and its individual members.

continued next session…

Saturday, 12 December 2009

Leading the Highly Technical Team

Leading a team is definitely challenging but leading a technical team is a very specialised areaTeamLead that is extremely demanding. It is very different to other teams in many ways. A highly technical team is made up of artistic individuals who have a world of knowledge, skills and experience in their own technical areas. The highly skilled technical engineer, developer, programmer, or analyst are not generally known for their people skills. This results in every individual of the team wanting to head in their own direction, each certain that their choice is the right one and demanding that others follow their direction, even the boss.

They not only fall into the “we’ve tried that before and it didn’t work” attitude for every idea, as do most teams anywhere, but these individuals also are more likely to get upset with any changes, need to feel more status than others, and need to be recognised for their often very unique skills.

I have been very fortunate to have made a career out of leading technical teams, sometimes multi cultural, sometimes leading several teams based in different countries around the world.

When thinking about this recently I began to wonder about a question often asked, what makes a good leader? I’ve heard it said that people can be born leaders. Absolute rubbish! People are not born leaders, rather they are a product of the experiences they have and the people they meet. Its those experiences and the advice and ideas they get from people they grow to admire that gives them the tools and mindset to lead others.

Sure there are various skills required to be, for example, a development manager - project management and methodology understanding are some, but I'm not talking about management, I'm talking about leadership. The difference is that a manager manages things but a leader leads people.

Its not much help having a masters degree in project management when your team has no wish to do the project, our you are faced with a team member who wants to undermine you and your project in order to get recognised by the boss above you. Sure you can threaten dismissal or some other disciplinary action but that's not necessarily leadership.

Leadership is having empathy with the team and the individuals within the team, and the ability to focus that team towards a common goal. Providing a common direction is a difficult task for managers and it takes leaders to turn a team towards that common goal.

It’s a sad and unfortunate fact that there seems to be more managers these days than leaders.

To be continued…

Thursday, 10 December 2009

Word Clouds

I've been playing around with Word Tags or Word Clouds recently and was directed to a website called Wordie (http://www.wordle.net).
This website allows anyone to create word clouds from their favourite websites. Here's mine from my blog.


Wednesday, 25 November 2009

The PDA Today

It's a little off topic but I've been using it so much these days I thought it worth a mention.psion

As mentioned in another post, I've used PDA devices since the late 90's starting out with the Psion 5 before I moved on to the very successful palm pilot, specifically the Palm Tungsten T. I switched to windows mobile with the purchase of the Palm Treo 700w a few years later and in the last year I have had an iPhone and a Blackberry and now back to an iPhone.

Tungsten_T My favourite was the palm tungsten with the great screen and huge array of very useful applications. It never left my side. It wasn't a phone at all but it was a very practical PDA device. I admit I've been struggling to find a replacement as genuinely practical as that little device since.

The Treo 700w running Windows Mobile I found frustrating. The tiny screen did not allow the lengths that I took the Tungsten to with, for example, running spreadsheets and viewing the calendar showing handy icons (in a third party application). And the little keyboard took ages toTreo700w learn effectively. I admit to reverting to Palm's hand writing characters as a preferred way of entering a reasonable amount of text.

When I got my first iPhone I was dismayed. I couldn't even find a spreadsheet - one of my most useful tools. There was no copy and paste which was screamingly annoying and it just didn't have the power and usefulness I was… well… used to. Then, surprisingly, over the next couple of months I grew to understand the iPhone. It wasn't trying to be a PC and it did have it's limitations, but accept that and you ended up with something, although not nearly as powerful as other systems I've used, was very practical all the same. The penny had dropped and I finally understood the iPhone.

The iPhone was supplied by the contract I was in at the time and when that was completed I handed that back.

blackberry The next contract supplied a Blackberry Bold 9000 as a standard device. Aha, I thought, back into the "blue suit" of devices. The Blackberry was the true workhorse. No time for nonsense like enjoyment. In my role controlling several development teams around the world and the fast push email processing I was getting emails all day and night. But the workhorse was solid and reliable ... Once I had ironed out the bugs.

Turns out that the very limited memory for applications meant that every application had to be specifically closed down or the memory would soon fill up. Filling up the memory would slow the system down so much the device would be totally unusable until you were able to either reset the Blackberry, or wait long enough for each painful command until you got to a point where you could shut down enough apps for the system to work again - and even then sometimes it still needed a reset.

This also prevented loading other applications so I was left with a pretty boring, yet (if I remembered to close each app regularly) a pretty effective one.

One feature with the Blackberry that took me a while to get used to was that it didn't have a touch screen. No stylus, no finger pointing, just a little trackball controlling a cross-hair cursor. I will taper this with the fact that I'm an experienced PDA user and was forever trying to "tap" a link rather than move the cross-hair to it and "select" the link. I never got used to that but passed it into a learning experience, like learning to drive an automatic without trying to depress the clutch; or learning to be a passenger without trying to use the brake pedal.

I did have a pretty major issue with it though. As I received so many emails that demanded my reply, I was annoyed to find that the Blackberry would "send me" every email I sent. In other words, not long after I fired off a quick reply I would receive another email. With so many emails coming in I would be forced to bring out the Blackberry again and check, only to find it was the email just sent and if I didn't open it to read it the Blackberry would forever show up that I had xx unread emails. Not something that endeared me to it after a while. I could not find a way around that issue.iphone

Recently I had an opportunity to purchase another phone so I looked at all the offerings.  Having a long and enjoyable relationship with Palm products I really wanted to get the Palm Pre but it's still not available in Australia with no signs of it ever being released here.

I opted for the simplicity and sheer "nifty-ness" of the iPhone. The new 3Gs version was out here which answered a lot of my earlier issues. I am so far quite pleased with it. It's taken me a while to learn to type on it (all my recent blogs have been written on the iPhone and transferred to the PC for spelling and formatting. It keeps insisting to replace Aus words with their American spelling so I have to keep an eye on it. World domination ain't here yet people and we spell our words using S's and there’s no such thing as a Zee, they’re Zed’s

But back to the iPhone and I find that the number and power of apps has increased dramatically in the last year. Yes there is even a spreadsheet now and clunky as it is, I can use copy and paste at last. I enjoy the wireless connection meaning the huge amount of data I paid up front for, hardly gets used at all as the danged thing keeps finding home, work, and free wireless connections to use.

Below, a few screen dumps of some of my more favourite iPhone apps.

iphonescreens

Tuesday, 17 November 2009

More on Cloud Computing

A few posts ago I spoke on attending a Cloud Computing seminar put on by NetSuite. Since then I have looked into this a little more and curosityhope to dispel some of the misconceptions of Cloud Computing.

The idea sounds great, and it's certainly the buzzword of the week if we believe the hype.

"But hang on," I hear some of you saying, "Cloud Computing is just having apps on the Internet and we've had that for years. Why should it be different just because someone wanted to get their PhD by coming up with a new name for old technology?" ...and you'd be right in asking that, its a pretty legitimate question in my book.

Definition

So let's define Cloud Computing precisely, even more than we did in my post of a few days ago. To be considered a true Cloud Computing system, an application must satisfy all of the following criteria:

  1. Application on the Internet. It must reside on the publically available Internet. Publically available does not mean anyone has access to your systems, you will still need to log in. Now there is such a thing as an Internal Cloud, and even a Private Cloud, but for the purposes of this paper I'm going to limit this to full public access applications. That is: externally hosted applications where you can use and store your information on the externally provided system (e.g. salesforce.com).
  2. Data on the Internet. The data you place into it must reside on the Internet, although obviously it must also be secure so that only you have access to your Data.
  3. No to little up-front costs. You are not purchasing software licences or additional hardware. Sometimes you may purchase consulting services to assist in converting your systems and data. In some extreme cases like perhaps a corporate wide accounting system, additional consulting and training may be necessary.
  4. Nothing is installed on your computer apart from a web browser and perhaps some browser additions like adobe PDF viewer.
  5. Costs are consumption based. In other words pricing is charged per hour; gigabyte; or hits per month. The less you use it the less it should cost you, and the reverse is also true.
  6. On-demand. The service should, in its minimum configuration, be able to be set up by the user for use that day. Of course in very large and complex corporate systems this may take planning and often highly specialised consulting services.
  7. Scalable. As far as the user is concerned they shouldn't have to worry about infrastructure at all. They should be able to increase from megabytes to terabyte throughput without having to organise storage or backups, extra staff, servers, or any of the other hassles.

Advantages of Cloud Computing

This definition of Cloud Computing shows up a number of areas of cost savings, reduced hassles, and sometimes increased functionality over in-house systems. These include:

  • Costs can be avoided or deferred. In most cases, increasing both functionality and capacity should be totally transparent  process. No server purchases or increased IT management. The regular billing cycles of the Cloud Computing model allow businesses to accurately forecast their IT budget based on known consumption levels.
  • Increases a business ability to change. The on-demand model inherent in Cloud Computing enables organisations to increase or decrease computing capacity without hardware, or IT management concerns resulting in no lag time while IT management orders the new hardware; installs the appropriate drivers; sets up the new cabling; tests the newly raided disks; increases the tape backup facilities; increases rack space; sets up active directory; and all the project work that comes with installing new capacity. The ability to then, just as quickly reduce that capacity without worrying about costly hardware lying idle is one compelling reason for the Cloud Computing model.
  • Faster ROI. The Cloud Computing model allows businesses to pay for only the resources it consumes and only as it consumes them. Businesses are able to see a faster return on their IT investment because there is no need to wait for the resources to be procured, provisioned, and managed.
  • Increased mobile workforce access. Your users will be ablesalesforce to access required business functionality without the overhead of network hardware, VPN software, and network management. Users will also be able to access their applications and data while at home, on the road, or in the office from any computer. Some Cloud Computing vendors (some through third party software vendors) allow access via mobile devices like the Blackberry or iPhone.
  • Additional expert IT staff. Highly-skilled professionals are available through the Cloud Computing SaaS (Software as a Service) company to operate and maintain their (your) service.
  • Increases business continuity by providing inexpensive disaster recovery options:. In some cases, cloud computing can be utilized as a viable disaster recovery option—especially for storage—thereby increasing business continuity.

On the definition of Cloud Computing given in the last section, businesses and individuals should never be concerned about backups, infrastructure, server space, firewalls, upgrades, storage, daily security patches or any of the plethora of other things that are nothing to do with running their business.

In summary, the ROI (return on investment) should be greater without the large up-front costs of infrastructure; software purchase and installation; and the manpower costs to manage it all. The infrastructure changes need no longer be a concern of the business allowing for both business growth and business reduction to occur without the penalty of either time lag and up front purchases or costly redundant and idle hardware. Also, business can plan their financial outlay with known, regular payments rather than up front large purchases.

It is also the nature of some businesses that sometimes additional infrastructure and computing power may be needed for short periods of time. Cloud Computing will be able to accommodate these bursts without the huge infrastructure and set up time costs required for something that will not be needed after the task has been completed.

Pitfalls

All of this of course sounds like a utopian situation but to the consumer there are pitfalls that they should take into consideration before embarking down that path. These can be summarized as the following:

  • Be sure of the SLAs. It is up to the consumer to be happy that the SLA will cover their requirements and that they can survive any unforeseen downtime or lack of service. Of course this downtime may also occur even when they have the best server rooms and the best of staff so normal disaster management plans should always be in place anyway.
  • Consider the SLA that you provide to your customers. Will holding their data off-line hold up if a customer questions an SLA they hold with you?  This is often overlooked in the rush for the savings and ease of adopting Cloud Computing.
  • Vendor lock-in. Will the provider allow you to access your data and how soon can they get it to you if you ask for it? Will they work with another provider to transfer your data if you ask for it? How easy will it be to transfer? Even if you could download your data, will it be accessible to you or will it be in a proprietary format only available from the provider?
  • How secure is your data from other eyes. It is possible that your closest competitor is, or will in the future be, using the same service that you are using and perhaps even shared resources. How will you know if your data has been stolen or hacked? Perhaps one way is to review the audit trail - if there is one. This may be able to let you know if someone is using an old forgotten login to access your data or if someone is having too much access that should be investigated (it may be a very valued employee so care must be taken as others may have obtained their login). How can you tell if a sysadmin has copied your data? What security is in place at the SaaS provider to ensure this does not happen? Are they open to an external audit of their security?
  • Backups. What backups are taken? If your data is found to be corrupt, how far back can you go to obtain valid data?
  • Deleted data. If you permanently remove some sensitive information, has it truly been removed? On what other systems has it been stored?
  • Can you download your own data? Even if you can, will you ever be able to access it or is it in a proprietary format only available from your provider?
  • Security. Many companies don't even know how many computers connect to their data now, or what data reside on those computers and how and when they are accessed.

None of these items should stop you investigating Cloud Computing for your own organisation, however you should not abdicate your responsibilities to a third party provider. It is your data and your business that you are dealing with. It is up to you to not only obtain the cost savings that might ensure a good profitable business model for your company (or your employer's company), but to ensure business continuity in the event of the unforeseen.

Many nay-sayers cite a few instances of data corruption or downtimes, however these must be put into perspective of supplying the service in-house. If an external audit was performed on your current in-house systems, would it pass muster? Have you complete security that your systems are safe and up to date with all patches? Do you know (I mean really know) who access your data now? If you had a disaster or fire on your premises that totally destroyed your server room and office, from an IT perspective would your business survive?

Although Cloud Computing has been around for a number of years, only recently under that name, it is still seemingly in its infancy. The take-up has not been rapid in some cases. While customers can hand over CRM and email systems to the Cloud, handing over the full enterprise system to the Cloud may be a little hard for most of us right now.

Tuesday, 3 November 2009

Problem Resolution or Project Resolution?

Several years ago a large government department IT section was in almost total stasis with every person desperately running in circles at 110% capacity every day but nothing could be accomplished.

directions Each person would come to work each day and arrive to problem after problem as management wanted this or that done urgently and a plethora of every day issues like simple user requests kept the IT staff occupied.

It wasn't until the end of the day came and the staff crept away for the night before they were called to another crisis, that they realized that yet again, nothing tangible was accomplished.

I was hired as the process and change consultant to come in and, along with other things, find a way to get things done.

I was there for a number of months trying to find a way around this issue. I had other work which kept me occupied as I oversaw a large project so I wasn't simply sitting in an office (sadly, I'd like one of those jobs sometime ... or maybe not).

At first I looked at the normal things like task management and priority and while this gave a little more clarity, it still didn't resolve the main problem of too few hours in the day. I looked at the logic of hiring more people but already this team was larger than most other IT departments for the size of the department.

I tried several other "normal" and quite logical practices but this government department were set in their ways of abusing the IT staff, and in turn the IT staff were too used to stamping fires.
I was reminded of a saying as I explained the issue to a colleague one time: "sometimes, when you're fighting back crocodiles, it's hard to remember that the purpose of the exercise is to drain the swamp".
It was then that I came up with a fairly drastic idea. I worked evenings and weekends over the next few weeks to fully document my plan. At last I took it to the executive for approval and was pleased to get an OK with their full support.

Over the next few months the IT department were able to implement several major installations and other changes. Yes there were still the same number of problems coming up each day but now, despite these every day issues, major projects were being completed.

What I proposed and implemented was nothing less than a total change in the structure of the IS department. Almost every person had a change in their title and job spec. It was drastic indeed but it worked.

I changed the title of the teams to ""xx Project Team", I changed the titles of the team leaders to "Project Managers", and the team members to "Project Support" or "Technical Project Support".
So why would changing someone's title make that much of a change to the way they work? As it turns out, there are several reasons. Firstly it gives them an amount of empowerment over their work. They now feel that they themselves can make decisions on how they prioritize their tasks.

Secondly they now have a focus. No longer are they coming to work to answer phone calls and being pushed and pulled in every direction. Their direction is clear - the project!

By changing their titles and focusing them on project work they can still "stamp fires" as they occur but now can choose which fires need their immediate attention and which can be left to another time while they concentrate on the all important project.

These people were well qualified and good at what they did, it was just that they had allowed themselves to be rag dolls being pushed and pulled from one event to another and it wasn't until now that they felt any sort of control at all. It didn't matter what a so called "expert" said to them or what procedures he wanted them to do, they never felt they had enough control over what they did to even attempt to follow them. By changing their focus to project work, I had given them that control.

So next time you and your team feel harasses and finding it difficult to get things done, ask yourself if you are out to resolve problems, or projects. Look at the longer term.

It has been said that there are two types of team leaders: one would take their team into the forest and by support, moral-boosting and excellent project control, would cut down the most trees in a day; the other would arrive at the location, then climb the tree to look around, come down and say "guys, we're in the wrong forest we'll need to move before we cut down any trees".

Think about it, plan, and know you're delivering to the correct goals.

Thursday, 29 October 2009

Mind Mapping

I have been using mind mapping software for many years now and it has often been a great boost to get clarity around thought.
I know that I've often been told that my mind needs a map to get around and I've agreed with them. I know I  think the same way everyone else does. Do you memorize your phone number by turning it into a complex calculation? Of course you do and my wife's statements that I'm somehow different is just well, silly.
But back to mind maps.
I have a copy MindJet on my computer at home and pull it out occasionally to help me formulate some thoughts. i3Often this results in only a half a dozen links before I know where I'm going with my thoughts and can take it up from there. Sometimes it takes a very large map that I export to an outlined document where I can fully document the thoughts that are now concisely laid out before me.
However it wasn't until I started using mind mapping on my iPhone that real map production became a reality. Now I can take those ideas and problems that arise during the work day and map them out on the train ride home. Next morning I can export all of those linked thoughts into an outline document and produce my paper.
I've tried several systems on the iPhone from a straight outliner (CarbonFin Outliner) to specific mind mapping programs. There is no doubts on my favourite for the iPhone and that's MindNode. This is a simple clean interface that's good for all you can and need to do on an iPhone while sitting on a moving train. I love the fact that the points are not boxed (which to me, makes them harder to read) and each base node is a separate colour. I can even choose sub nodes to be different colours as well.
The ease of transferring the maps to my computer is as simple as selecting to email them (to myself) as an attachment. I have the choice then of several formats including graphics, as an outline document or one of a few standard formats other mind mapping software recognizes.
The only down side is that so far there is no way I can then copy maps back onto the iPhone unless I have an apple computer (which I don't). They say they are working on it and I hope so because this is a very powerful business function for the iPhone.
While I'm at it, why did I choose the iPhone? I've used the Psion, a PalmPilot, a Windows Mobile phone and the Blackberry. All work very well but I just like the simple nature and use I'd the iPhone. If I could I'd have perhaps gone with the Palm Pre but it is yet to be seen in Australia so I opted for the iPhone and so far, apart from the short battery time, quite enjoying it.

Wednesday, 28 October 2009

Cloud Computing

I went along to a cloud computing seminar last week to see what the fuss was all about.

CloudcomputingCloud computing is a term bandied about a lot in recent times and I really didn't fully understand what it was. When NetSuite put on a free seminar, that is to say; "a free sales pitch", I took the opportunity to go along and learn more about it.

I'm not putting down a supplier who would put on such a seminar, in fact I applaud it. It is a good way to learn the different technologies. However as in all such cases, we must weigh what we learn knowing that a fair bit of sales pitch comes along with the facts. This case was no exception to that rule.

So what's all the fuss about cloud computing? Well, it turns out not much at all … and a whole lot, it depends on your perspective.
Cloud computing is the name given to the industry springing up around hosting applications and data on the Internet (the cloud). The idea is that it allows a company to get away with just having the laptop or desktop PCs with no need for servers or the infrastructure normally required to support them. All email, scheduling, accounting and all other company software will be a matter of simply accessing the Internet.

Gmail is a good example of Cloud Computing where the small business can leave all their email details up to Gmail. No in house mail servers; everyone is automatically using the latest software; no backup issues; and no need for an administrator to keep it all protected and current.

The seminar hosted a few guest speakers who had moved all their corporate accounting to the Cloud (by sheer coincidence, NetSuite products - who would have known). It was interesting hearing first hand how they were able to make the change. I was especially interested to hear one company who had international offices and international currency issues and yet still made a successful change to Cloud Computing.

The only part of the evening that really annoyed me was hearing  Zach Nelson, CEO of NetSuite repeat often his favourite saying "why would anyone want to use applications designed before the Internet?". Zach repeated this several times and was obviously very proud of this saying but all it did for me was succeeded in getting my goat. Often applications are not built on the Cloud because of serious reasons. They may be very forward thinking applications that have some serious non-Internet uses. To me Zach Nelson's unfortunate comment displayed his ignorance of the wider business requirements and showed a very narrow view of the world. I will taper this a little though as his view as a Cloud Computing supplier with server based corporate software as his competition, he will naturally be narrow in his outlook.

There are no doubts in my mind that Cloud Computing will have a large future and it will be interesting to watch how fast the take-up will happen.