It has been a long time since I've worked on the ecto/Windows code in any serious manner. Sure, I've fixed a few bugs here and there as well as updating various libraries that ecto uses, but the last time a major feature was added to the code was at least 6 months ago, if not longer. That doesn't mean I have not given any thoughts to the development of ecto during that time. I had many ideas on and off on either new features or how I would code it now if I were to start from scratch.
Well, last week I officially started jolting down some of these ideas and tasks. I've tried recording my ideas down 'properly' and used it as project planning before but had never found a tool that worked well. I've tried the basic (text files) to complicate (bug tracking application like Mantis). This time I thought I would try Mingle, an Agile project planning tool developed by (yes, my employer) ThoughtWorks. *
So far, my experience is pretty positive. I've recorded my ideas on new features, improvements, and tasks down in Mingle. Each of these is stored as a 'story card' and Mingle allows me to tag it, set properties (which I can define my own), and add description. It is the description part that proves to be powerful to me. Mingle allows a kind of wiki style markup in the description so I can add URLs, format the text, or even link to another story card inside the description. This means I can record links that are relevant to the story (e.g. product page for new feature, API documentation for references, etc.) right there so I don't have to look for them in my bookmarks or google it every time I need them.
I can also record bugs or issues in Mingle and reference them back to ecto's support forum so I won't lose track of the bug as it gets push down the message board. It is not a full blown bug tracking application such as Trac or Bugzilla but I don't need those features anyway as I am working on my own.
The iteration planning aspect of Mingle is of less relevance to me since I won't be forcing myself into a strict weekly or bi-weekly schedule, likewise with the very nice and powerful graphing and reporting features of Mingle.
We'll see how well Mingle will hold up as a repository of ideas and knowledge when I slowly move into the actual coding phase.
* I've started using Mingle during their beta testing phase before I joined ThoughtWorks. But having the inside track on what's coming in the next few versions certainly helps me decide on trying it out!
It's been a week and a half since I've joined a ThoughtWorks project in London. It's been such a refreshing change. The whole team lives and breathes Agile. The code base is not the cleanest I've worked on but actually easier to work with because the team made sensible compromises and did not being stubborn about ideas or patterns. (Actually we still have some way to go on the Mingle front, but that's another story.) We are doing TDD, continuous integration, pair programming with regular rotation, 9-5:30 hours, everyone are treated as equal, basically the whole nine yards! I can foresee the next three months will just disappear quickly. You know what they say, time flies by when you are having fun…
As for London itself, I was pleasantly surprised by all the good/new stuff they have. But at the same time, the Tube still pisses me off, with the never ending tunnels and the asinine system of having to swipe your ticket/card on exit. At least the travel cost is paid for by my company!
I'm going up to Shropshire this weekend to visit my parents. Instead of taking a 2+ hours train ride, I'll be driving a rental car up. I know, it's not environmentally friendly but consider the total amount of driving I haven't done in the last 7 years, I think I can take this carbon emission hit.
Yesterday I've finally decided to apply for a new job, as my current one no longer excites me. In fact, it has been this way for the last 9 months so it has been long time coming. Now that the decision had finally been made I am much more mellow about my current job. Whatever happens in the office, happens.
So far I have not been expanding too much effort on job searching but I did apply for this .Net Application Architect job, which if even I just get an interview, will make my boss jealous to no end.
Right now I am sitting at the Newark Airport waiting for my flight to Dallas to arrive, blogging offline. Every year, Thomson brings technology people from all of their organisations together to Texas to exchange ideas, compare experience, and most important of all, do some networking. So for the next two days, I will be spending time with people I hardly know but hugely important to my career, talking shop and mixing business buzz words with technology TLA (Three Letter Acronym).
When my company was acquired by Thomson back in March, we almost missed the opportunity to be part of this technology summit since the deadline for registration had already passed. But after a few well placed calls to high level development management, invitations were extended to my boss and me. It would be a big loss for us if we were to miss this summit due to its annual nature. And my boss and I believe we can bring a lot to the Thomson organisation with our Agile practice and .Net development experience (Thomson has only recently started on both, whereas we have been doing them for over 3 years now). Conversely, Thomson’s extensive knowledge in business analysis, software development process, and functional testing with FIT (Functional Integration Testing) would be very useful for our own project.
One decision I had to made this morning is whether I should bring my PC laptop or my PowerBook with me. Bringing the PC laptop means I can work on ecto or any work related programming while I am in Dallas but would I actually have the time or the inclination? With the PowerBook, at least I can blog with ease using all the tools that I love but I’ll have to be careful about letting Thomson people know about the Mac. If only it is a Macbook Pro so I can at least say I am trying out the new Microsoft development tool, Silverlight, on the Mac. And I can always dual-boot into XP on the Macbook Pro if I have to. Flimsy excuse, I know, but it is better than nothing. But I can’t really justify the cost of a new laptop, even a used one from eBay due to my lack of travelling, business or personal. So my trusty G4 800MHz PowerBook has to last for a little longer.
Oh, one last thing. Our official Thomson titles have been announced yesterday. Almost everyone keep their titles apart from me. I got ‘demoted’ from Senior Manager of Development to Lead Software Engineer. No change in pay which is good. How do I feel about the ‘demotion’? I think it is a good thing. Senior Manager implies a degree of managerial tasks that I perform when in reality there is nothing for me to manage unless my boss is out of office for extended period of time. So the new title reflects much more in line with my daily responsibility which can only be a good thing. Hey, they can call me a janitor as long as they keep paying me the same!
All the talks about moving to Chicago have really been just that so far, talks. Eiron and I discussed a fair amount about it but we decided (rather I am) to be sensible and won't make any decision until we pay the city a visit during my birthday weekend in December. If we like the city and can tolerate the cold, bitter winter than we will start planning our move next year. If not, we stay put and find another city to move to.
But it is increasingly difficult not to think about moving there now because of job like this one. An Agile/TDD/.Net software shop looking for senior software engineer to work with actual web site/products and machines? Products that I can point people (such as my parents) to and say, "This is what I do." I haven't been able to do that since my first job out of college. I think some of my code still lives on in China and Thailand. Just be careful when you take the light rail/train in Canton or Bangkok…
When was the last time you had to speak in front of a group? How did you feel?
Working in a development team that uses Agile method means that we have a 10-15 minutes standup meeting every morning. Each of us in turn describes what we did the day before and what we are planning to do for the day. So the last time I speak in front of a group is this morning, and I feel smug because I always find a way to crack some jokes about my work or someone's work.