Archive for the ‘Management’ Category

Freedom and All That

Tuesday, March 3rd, 2009

I’ve just finished posting a new blog entry on XP-Dev.com on the definition of Stories, Tasks and Bugs from XP-Dev.com’s point of view. However, the beauty of it all is that users make XP-Dev.com their own. They end up using it for various other purposes other than software development (and agile at that!). They are free to use it whichever way they see fit.

In my blog entry, I said:

However, this article (and future ones) are only guidelines – you are free to decide on how you’d like to use XP-Dev.com.

“Free to decide” – these words triggered a memory from the past.

Back in 2003 I was doing an summer internship/job with Lec here in the UK and was rushing back to their office from Victoria station in London. I was running late and did not have enough time to read the notice board on which platform I was meant to catch the train from.

I ran to the first person who looked like he worked at the station, and I asked him which is the next train to Bognor Regis (Lec HQ). Apparently there were 2 – one that was leaving at that moment, and another that was leaving in 30 minutes. I wasn’t too sure which one my ticket was for, and showed him my tickets and asked “I’ve got these tickets – which train can I board?”.

As soon as I finished my question, he immediately replied “Take which ever one you’d like – it’s a Free country”. He didn’t bother even looking at the tickets!

With adrenaline still rushing through my heart, I thanked him, ran to the train and boarded it. The train left a minute later.

I have always comeback to this little episode whenever I think of usages of a tool or even idea – let it be a handy tool (screwdriver, etc) or even an edit (one of the team asking whether its OK to use Vim instead of Emacs). I have a 2 second flashback to that moment in Victoria station and reply to them in the same manner – “Its a free country. Do whatever you want.”

And this is the beauty about building tools that people use, like XP-Dev.com. Everyone has their own way of using it and it should be just like that. No hard rules, everyone gets to do it their own way, and everyone is happy.

There’s a saying “With freedom comes responsibility” – so, just don’t do anything unlawful.

Managing People in 15 minutes, or is it Micro-Management ?

Wednesday, February 25th, 2009

I enjoy reading HarvardBusiness.org. There are some really insightful articles there, and I think about some of the better ones days after reading them.

When I first read How to Manage People in 15 Minutes a Day by Daisy Wademan Dowling, I thought that it was a fairly good article. It was short and to the point. 10 minutes went by and that’s when its struck me: it’s rubbish.

Now, the article gives out 4 pointers on how to manage people in 15 minutes a day. My feeling is that its geared towards the busy manager/executive who will need to squeeze out every second of the working day to ensure that the team is working at 100%.

These are the 4 tips that were listed:

  1. Turn dead time into development time. Walking back to your office after a meeting? Use those two minutes to give your direct report feedback on the presentation, and on how he could do better next time. He didn’t have a speaking role? Ask him how he thought the meeting went and how he might have made certain points differently — and then offer feedback on that. Direct, in-the-moment feedback is your single best tool for developing people.
  2. Constantly spot dead time. Look for every two-minute stretch in your day during which you could be talking to someone else — most often, that’s travel time — and convert each into a coaching opportunity. Walking down to Starbucks to get a coffee? Driving to the airport? Headed out to your car at the end of the day? Ask one of your people to come along with — and talk to them about their goals and priorities.
  3. Show up in their workspace. Employees expect you to stay in your seat. Don’t. Once per day, get up and walk over to the desk of someone you haven’t spoken to recently. Take two minutes to ask her what she’s working on. Once she’s done answering, respond “What do you need from me to make that project/transaction successful?” Message to employee: I know who you are, I’ve got high expectations — and I’ve got your back.
  4. Make two calls per day. On your way home from work, call (or email) two people you met with that day, and offer “feedforward.” “I like what you’ve done with the Smithers account. Next time, let’s try to keep marketing costs down. Thanks for your hard work.” Always make “thank you” a part of the message. Employees who feel appreciated, and know that you’re trying to develop their skills, stay engaged over the long run.

I won’t go into the details and analyse each and every point. However, here’s my feedback to these 4 tips:

Points 1. and 2. is essentially time management. Its not rocket science and the subject been there since the dawn of modern management. So, lets not kid ourselves that we’re actually gaining new knowledge by coining it in new, fashionable ways. Nothing new here. Telling managers that they need to make sure every second of their time is used effectively is just pointless. Everyone knows about the importance of time management, but most get stuck on how to implement/execute it. For execution, there’s a plethora of seminars, books, papers, conferences around the subject.

When I was managing teams and projects, there were days that felt endless. I usually started work at 7am, and at 8am sharp 5 people decide to whack in 5 different meetings throughout the day at different times. Managing those days were challenging, but its was not rocket science. On days like those, every 5 minutes free time was spent with someone, which is a trait I picked up from my director at that time. I’ve sat in countless of meetings that I had lunch in. You just have to make every moment count.

However, the rubbish part comes on points 3. and 4. If you read them carefully and picture yourself as the manager, it makes sense. But lets remember – management is not about you, it’s about them. Now, put yourself in the place of the your direct report and all of a sudden points 3. and 4. suddenly feel like you’re being micro-managed. This is not the way to lead a team. To be honest, if I had done that to my teams in the past, the consequences would have been dire. Admittedly, managing developers is different from managing a team of say, sales people. However, micro-management is always a bad thing to do. It undermines, demoralises and makes the person feel utterly useless.

Now, it’s not normal to find such low quality content on HarvardBusiness.org, and this one has to be one of the worst I’ve read. Infact, head over to the article right now and just read the comments that were submitted. Not entirely good feedback at all.

Wikipedia as an Innovation Source – The Comparison Pages

Monday, February 16th, 2009

There’s no denying what Wikipedia has done for the modern world, and our gratitude for it should not stop at Jimmy Wales, but it should be extended to each and every contributor and reader. Without Jimmy Wales, we wouldn’t have Wikipedia. Without the contributors, Wikipedia would not have grown. Without all the readers, contributors wouldn’t have given the 110% into Wikipedia.

All-in-all it’s a fantastic ecosystem which harnesses a lot of the great minds of the world in one place.

Lets look at it from a slightly different angle – an entreprenuers. Entreprenuers are innovation/process junkies. Their view of the world is not the same as yours and mine. They see the world as a web of intricate systems and they tend to look for improvements and ideas to make things better. Inspiration is found everywhere, whether its to improve the current systems (innovation) or build something brand new (invention).

Here’s where Wikipedia comes in. As it has already been establised, Wikipedia is a big source of information, and I think it can be used as a good (not fantastic) source for market research. Say you’re thinking of entering a certain market, chances are high that Wikipedia might have a comparison page of the various products on the marketplace. You could use these comparison pages, annotate it and it could be the base of your innovation strategy – to bridge the gap between various products in the market place.

Now go look at this long list of comparison pages and you’ll know what I’m talking about. See those comparison pages ? Pick something that you have an idea on, that you’re inspired about, that you want to improve on and innovate around one of those comparison pages. Look at offering something that the current marketplace does not offer. In those comparison pages, there are plenty of gaps in the marketplace. You don’t really have to make sure your product fills in all the gaps, but you could try filling in most of them.

Got a great idea for a Wiki system that you can easily monetize ? Have a look at this and go innovate!

Got a great idea for a file hosting system ? Have a look at this and go innovate!

Got a great idea for an instant messaging system ? Have a look at this and go innovate!

I can carry on with this for a long, long time.

So, what are you waiting for ? Grab a coffee/tea/beer/whatever and start innovating! There are a lot of ideas out there in those comparison pages, and I suspect that there are some really awesome ideas and products just waiting to be discovered.

Taking the Stairs

Friday, January 30th, 2009

I have been awfully quiet since the beginning of the new year and I have to appologise. It has been extremely busy at work, and along with the ambitious plans that I have for XP-Dev.com, I never seem to have any spare time left.

Now, one of the things that I have missed out was blogging about my resolution for this year. 2008 has been a real roller coaster for me – both, professionally and personally, and I do want to share one of my observations which happened at the end of December 2008.

Lazy ?

I work (at an investment bank doing IT “stuff”) on the 6th floor of my building, and one day, the lift stopped at the 2nd floor to let someone in. This lady (she looked young, maybe late 20s) steps in and calls for the 3rd floor. Yes, she just went up one floor, and to make matters worse, there’s a fully functional escalator literally 20 metres away from the lefts.

At that moment, I was just thinking “Jeez, one floor? AND there’s an escalator just there. This is just pushing it. She should have just taken the stairs” (escalators in this case).

And that’s when it struck me – 2008 is the year the world paid the price for the finance industry not taking the stairs.

Her action to take the lifts instead of the escalators, cost me and 4 others in the lift a few seconds each, but it was just plain lazy and inconsiderate.

Reflection

I have only ever worked for 3.5 years, all of it in investment banking. In my short professional career, I have been a developer, a mentor, a manager, an architect, and a general noise generator (the actual label was worse, filled with profanity). I have seen systems and businesses fall to their knees, while others have run perfectly, some flourished and even some failures to take off (i.e. projects/businesses that seem to just go on with no delivery/product/end in sight).

Looking back on these 3.5 years, I noticed that the ones that failed had just taken outright shortcuts. The finance industry, in their goal of getting rich fast took plenty of shortcuts. They were not prudent enough to sit back, reanalyse the situation and figure out the right way to move forward (and actually do it even though its hard work).

Everyone is paying the price for it. Jobs are being cut everywhere. Businesses are failing – all due to the finance industry not taking the stairs. Their actions of taking shortcuts to generate revenue has cost everyone else a lot of grief – physical (monetary, etc) and emotional (job loss, security, etc).

Wake Up

Personally, I hate having to do a half-ass job. I hate taking shortcuts. I like to get to the bottom of things and nip the problem in the bud. I have to admit that there have been times when I did take the shortcuts.

So, my goal for 2009 is simple – take the freaking stairs, and you should too. Whenever you’re in a situation that requires a decision, or solving a problem, just keep asking yourself “What is the actual problem? What is the right solution?” and just do it!

Out of the E-Mail business (for now at least)

Sunday, January 11th, 2009

I used to offer free 4GB mailboxes for email over at Duzle.com including some basic features like anti-spam filters, big attachment sizes, and basic search facilities. It even had access for authenticated SMTP and IMAP, so users will be able to send/access their email using their own email client, rather than using the web frontend (Squirrelmail).

Sounds like a good deal, right ? I mean – you get 4GB, no ads, anti-spam filtering, search, web access, SMTP access, IMAP access (including SSL!).

Try to guess how many users I managed to bag in the first month ?

Just try it. Pick a number.

1000?

100?

10?

No – zero!

I’m not kidding – the site was live for a whole month and no one even bothered registering. One thing I have to admit at this point – I did not bother marketing/advertising it out, and that’s my fault. I was too occupied in way too may projects to focus on just a couple of high priority, large, workable ones (mentioned here as well).

However, there are other factors that lead to the zero subscriptions in the first month.

The Market

The e-mail provider market is saturated. I’m not kidding, there are the big guns – Yahoo, MSN, Google, etc. Then there are the smaller providers (they’re still relatively large) – Mail.com, GMX.de, etc.

Googling for “free email” gives out plenty of providers in one form or another. Some only offer 15MB on their free plan, others offer much more but with ads, etc.

How is David supposed to knock down Goliath in this market ? It is really tough. Hundreds (if not thousands) of competition with a plethora of different offerings.

The only way to break the market is to get the users in, and they have to come in by the millions, not meager thousands. However, that will require a good amount of capital expenditure in infrastructure, advertising, marketing and development – which I as a one man team just did not have.

The Differentiator

I had nothing on offer that made a difference from the competition. There are tons of free webmail clients out there, but they are all bog-standard clients, and do not offer anything special to users. I just wanted to offer e-mail, but there was nothing that I was offering that was different from the competition. Well, there were a couple of differentiators – I was giving out 4GB with no ads, a simple webmail client (back to basics) and spam filtering. But this is not good enough a differentiator.

Have a look at how Google, who were a late joiner in the e-mail provider market, took a chunk of market share – they had a very sleek web client that made the competition feel like the 1970s called in to ask for their webmail client back. Now that’s the level of a differentiator that’s needed – not minor ones, but disruptive ones.

Again, I did not have that.

The Users

Lets move on to how the two factors (market and differentiator) above affect the end user.

Users looking for free email have tons of choice, and one can argue, too much choice and that causes a ton of confusion – which is not good for them. It is really time consuming to look at all the minor differentiators between the various providers.

So, how do new users ultimately pick providers ? Actually, they tend to just look at large differentiators and recommendations from their friends/colleagues. If you think about it, this is a closer pattern to the social networking market rather than an internet service market.

What about current users who are already have emails at GMail and MSN ? How do I convert them to my service ? I needed a BIG differentiator, and I don’t mean something like “4GB, no-ads, spam filtering“, but more along the lines of – “This email service will give you a new meaning to email and how it interacts with you from a day-to-day basis“.

Moreover, it’s an outright pain to switch email providers. You need to tell your family, friends, colleagues, update your letterheads, business cards, etc. What about your business contacts ? What about all those 100s of websites and social networking sites that you’ve registered with your old email address ?

There’s a huge cost associated with moving email providers. What I needed to offer had to give users a much higher return than these costs put together.

In the end

There are other factors that I have not listed here that resulted in no one signing up, but I think these were the major ones.

That does not mean that I won’t be coming back – I do have some thoughts on how to re-enter the market, and I am in the middle of putting down some of these thoughts to discuss with a few people. I think the new idea is a paradigm shift on how we look at email, and its role in our everyday life. Rather than thinking it as yet another communication channel, it will look at it as an integral part of everyday life, and making it less “sucky” to use (in so many words) and interact with. It does venture into other communication channels and integrates those as well.

So, I’m out of the e-mail business for now, but (hopefully) will be back in the near future.

(hint – there’s a small project in here to create a review website for email providers – one that’s focused on free email providers, does not suck, leverages other reviews on the net, and allow users to rate + review as well. Anyone who wants to pick this up, please do! If you need some help/feedback/opinions, please do get in touch and I’ll be more than happy to provide my 2 cents.)

Pricing Your Product

Friday, December 19th, 2008

My mind has been in a bit of a limbo the past few days, and it is to do with pricing software as a service (SaaS). I have blogged in the past that I do have a few ideas on generating revenue from XP-Dev.com, and pricing these ideas is an absolute pain. To top it all, I am really nervous about it. I have discussed it with a few people and I ended up getting more nervous than when I started the discussion.

However, Eric Sink has written down a few pointers about this. It does not give an answer to the golden question – How much do I charge for my SaaS ? but it does give some advice on how to tackle it. I think it is very well written.

Quoting Eric’s article:

You should consider all of these issues, and probably a few more that are specific to your situation. Look at the decision from every possible angle. Anything you read on the subject of pricing is merely an aid to your own judgment, not a substitute for it.

Amen to that! For now, I shall go back to thinking about pricing ideas for XP-Dev.com and keep my mind in a limbo.

New XP-Dev.com (finally!) Released

Tuesday, November 18th, 2008

Folks, there’s a new version of XP-Dev.com out. This release features a new platform (which I will blog about soon!) and some key features that everyone has been asking for profusely, namely:

  • Subversion imports and exports (tons, upon tons of users have asked for this)
  • Allowing anonymous (public repositories) checkouts
  • Multiuser project and task management (tons of users have asked for this)

There are some obvious bug which I will sort out in the next few days. However, under the new platform, extending and adding more features to XP-Dev.com will be a breeze (and unit tested of course)! There is a whole lineup of features coming up, and will keep everyone posted about it. These are exciting times for XP-Dev.com and we really appreciate all the support that’s been given to us.

I personally would love to see XP-Dev.com being the best agile tool out there, and we’ll get there!

If you’re a current user, give it a whirl – any feedback will be great – good and bad!

If you’re a new user – register now and see what it can do to improve your development deliveries.

Software Metrics

Friday, July 4th, 2008

I’ve been reading Bruce F. Webster’s articles and blogs lately. He’s written an article on project management metrics (more directed on IT and software development) on BaselineMag.com. In his article, he quotes The Metric Law of 90s:

The first 90 percent of a development project
takes 90 percent of the schedule.
The remaining 10 percent of the project
takes the other 90 percent of the schedule.

I have to agree with this! When I first started working (not 3 years ago!), a former colleague once told me (tounge-in-cheek): If you ever have to put a date on a delivery for the business, think in your head how long you think it will take, and then multiple that estimate by 3.

Task and project management

Tuesday, February 26th, 2008

I’ve always found myself in the situation where I need to keep track of the list of things to do (or plan to do), especially when it comes to developing systems and managing projects. The problem is that there aren’t any tools out there that is simple enough to use, where the process of tracking does not become a significant overhead. I really liked XPlanner, but the problem it is that it’s trying to satisfy way too many people and the process of project planning/tracking can sometimes really be an overhead, especially when it comes to managing the stories and tasks.

The way I like to think of a project is that it is defined as a set of stories, and each story is defined as a set of tasks. To track a project, and ensure that you can meet your deadlines and delivery dates, the estimates (metric should always be in no. of hours!) should really be assigned at the task level – NOT at the story level. Stories should be best described as an atomic user case in a system, and the underlying tasks should define the implementation of the story. Think of it this way – a story is a plan/proposal and the tasks actually get you there.

So, ideally for me, a project planning tool should capture these fundamentals:

  • Each project has a set of stories
  • Each story has a set of tasks
  • Each task should have an estimate no. of hours
  • Each developer adds hours spent to a task
  • Each iteration should be defined as a set of stories (from any project)
  • Managing the above should be as simple as possible, and not an overhead to the actual development of the project

The are other nice things to know: for e.g. reports that tell you how far along you are in a project/story (and whether you’ll have to tuck your tail between your legs to senior management in the weekly review). But I’ll get back to this later.

XPlanner is the closes tool out there that manages to get most things right. However, it can be a little clunky when you actually get down to managing tasks and story. I used it about a year back and maybe it has moved on. The clunky interface is actually a burden on the developer. I was working on a pretty high profile project in my bank when I was using XPlanner, and I found that the developers were spending more time surfing through the tool, trying to look for one single feature (for e.g. adding hours to a task), rather than developing. Now, this is an investment bank, where 3 developers wasting 20 minutes each a day is a big major NO NO practice. Every minute counts! So, XPlanner was not ideal for me.

Coming back to project management. Let me reiterate the traditional constraints: scope, quality, time and cost. Very important to always keep this in mind when running any project. I have found that many project managers are actually missing these fundamentals when pushing for projects to meet deadlines and not reporting back to management/clients on these. There will be times where the clients are really impatient, and won’t really understand the constraints. But generally, most of them do understand it and will decide on which of the fundamentals they would like to have delivered (Funnily enough, I’ve found that at times quality is not one of the fundamentals in Investment Banking. However time is almost always one of that clients would like delivered).

From my experience in the past, you can at most keep 2 or even 3 of the fundamentals at any one time, and your tool that you use for managing projects should relay this information to you as clearly as possible. The problem here is that I have yet to find a tool out there that can do this seamlessly.

The other issue that I noticed is that the development team that I used to manage always worked on multiple projects. No matter what period of the year it was, there was always 2 to 3 concurrent projects running for a team of 5-6 developers. This is a constraint that I have seen in many project management tools out there. They tend to defined an iteration based on a project. So, project A will have a current iteration and you can add stories A1, A2 and A3 to it and kick off the iteration. This never worked for me, at work and on my own personal projects. I needed a tool that I could arbitrarily define an iteration as a delivery target for a number of projects and systems (time constraint). In each one of these iterations, we will deliver some functionality/fixes (scope constraint) given the current resource levels (cost constraint). So, what does this really mean ? Say, I had a release cycle of every 2 weeks. Within those 2 weeks I really need to convey to all the business lines that I can deliver parts of project A and B. Within those 2 weeks, I will get out functionally defined by stories A1, A2, B1, B2 and B3. I kick off the iteration and keep track on how they are progressing. There will be ongoing risks that I will convey back to the clients. My tool will tell me how much work is outstanding, and I can then give early warnings to the business that we need to readjust our constraints. Sound simple enough ? Again, no tool.

Long and short of it – I decided to write my own project tracking tool. I’ve put it up on XP-Dev.com. Its currently only single user: i.e. if you’re in a team, then you can’t really collaborate with each other on the projects. Its a little rusty here and there, but it does what it says on the tin. At any one point, I can see where I stand on all my outstanding work and projects.

I use it extensively for my personal projects and seems to work pretty good. The one thing I really liked about XPlanner (and I’ve shamelessly copied) is the task list. At any one point I can see the tasks that are outstanding to me from all projects and keep knocking them one by one off the list. This is follows the Getting Things Done time management (Next Actions list).

Give it a go, and if you have any requests, please do contact me and I’ll ensure that it gets done.