Alec the Geek

mobile version http://alecthegeek.mofuse.mobi/

Archive for March, 2007

Software Development: Where are you now?

Posted by Alec on 31 March 2007

When you start to think about a software project one of the things you absolutely need to know is “Where are we now?” (along with “Where do we want to go?” and “How are we going to get there?”). This question is usually not thought about that hard, and if the team have been working together for some time they generally “just know” anyway. However for an ousider it’s an important question to think about. I generally look for the following:

  • What version control tools are in use and how is the information set up and used
  • Is there any documentation of process and
  • Does anyone follow the process documentation
  • How do the customers feel about the work the team does – how do they think the team should change (that can be a hard question to get honest answers for)
  • How are requests and issues documented (e.g. emails, post-it notes, bug tracking tool …) and how is the information used
  • What is the technology used (e.g. frameworks, languages, build tools, IDEs, deployment …)
  • What are the current ‘pain’ points (e.g. too much rework, too hard to understand code base, can’t refactor etc.)
  • How much budget and autonomy does the team have

This will help you build an informal map to assist in in planning any work and identifying issues that may need addressing outside of the current project work. The information should be maintained in some easy to understand form e.g. a Mindmap or WiKi and updated every month or two.

Posted in Application Lifecycle Management, Project Management, Software Configuration Management, Software Development, Work Practices | 2 Comments »

A new challange for Alec

Posted by Alec on 30 March 2007

On Tuesday I start working with a new client in Melbourne. Over the next 6 months I will be helping a team of 17 developers adopt new enterprise wide development processes. Of course at the same we still have to maintain our productivity so it should be an interesting piece of cultural change management.

I am looking forward to learning new things and having my assumptions challenged — which will no doubt provide material for this blog, so keep reading

Posted in Work Practices, ego | 4 Comments »

Handy Hack: Using an HP Deskjet 640C on MAC OS X 10.4 (Tiger)

Posted by Alec on 30 March 2007

In theory the using Deskjet can be just as simple as connecting it via the USB cable and it works. However when I tried this, the printer was recognised but it refused to print at all. Apparently Tiger comes with the latest HP driver already installed and which is used by default (v 3.3). However I had to change the driver to Gimp-Print v5.0.0-beta2 (in the Mac Printer Setup dialogues), then all worked well.

Please note YMMV

Posted in Mac | 4 Comments »

Handy Hack: Connect Linux to a MAC OS X Tiger (10.4) attached printer

Posted by Alec on 30 March 2007

Tiger comes with CUPS installed so:

  1. Enable printer sharing in the System Preferences/Printer Setup tool on the Mac
  2. At the Mac terminal (Applications/Utilities in Finder) issue the command lpq localhost which will list the name of your CUPS printer queues
  3. On your Linux system use the printer administration utility to connect to the printer as http://<Mac_IP_Address>:631/printers/<cupsQueueName>, e.g. http://192.168.0.2:631/printers/DESKJET_640C

Updated April 2008
On some clients the URL’s seem to be case sensitive so enter them carefully.

Posted in Linux | Leave a Comment »

Software Development: An example of poor requirements

Posted by Alec on 28 March 2007

Something happened to me today that illustrated some of the problems with incomplete requirements and testing.

I went swimming with my mother and wanted to rent a locker which costs three Australian dollars. In my pocket I had some two and one dollar coins plus a twenty cent coin.

I reached into my pocket and took out a dollar coin which I inserted into the machine — Now as I had a twenty cent credit as in fact I had, in my haste, inserted a 20c coin instead of a dollar.

At that point I pressed the reject button — which did nothing. I can’t work out if that was a mechanical failure in the coin mechanism or a design decision — I suspect the former as it seems to defeat the purpose of a coin reject button.

Now I proceeded to add more coins with intent of paying 3.20 for my locker, just to get a locker as quickly as possible – I figured my time was worth 20c. Adding a dollar was fine, then I added a two dollar coin , which was rejected because it meant I was over paying by 20c. Now now I was $1.20 in credit with no way forward — the reject button still did nothing.

Pressing the cancel key on the keyboard took me back to the main menu. However attempting the the rental cycle again just got me back to the position of being $1.20 in credit and no way forward (accept adding 80c in change which I did not have) and not one else could rent a locker either.

When a member of staff came over to assist me they were unable to easily do anything as the supervisor interface was too complicated to make it obvious was could be done. There was an option to reset the whole mechanism, but that would have locked out all currently used lockers.

So what lessons can we take from this:

  1. Make user interfaces simple and thoroughly test them with naive users. Even expert users will thank you if your system is easy to use
  2. Assume that systems will fail (e.g. The coin reject button)
  3. Assume users will make mistakes and incorporate this into your user stories and tests

Posted in Software Development | 1 Comment »

With Power comes Responsibllty

Posted by Alec on 28 March 2007

Kathy Sierra has had a very unpleasant experience:

Creating Passionate Users: Death threats against bloggers are NOT “protected speech” (why I cancelled my ETech presentations)

Death threats against bloggers are NOT “protected speech”

This post is my small message of support and a plea for this sort of insanity to stop.

We are a privileged generation to have access to the Internet, it is a resource that no one in human history has ever had before. We have new ways of talking, making money and governing ourselves which are still evolving and taking human society in new directions (it will be even better once we can get the rest of the world on the net).

However the type of abuse that Kathy suffered (and other types of abuse) slows down the spread of the net in all sorts of ways:

  1. It provides governments and other organisations with the perfect excuse to try and restict and control the network
  2. It provides a barrier to entry for a huge pool of talent as abuse makes participation by peopled who are abused much more difficult
  3. It makes the Internet more unpleasant and harder for the rest of us as well

I am a passionate believer in free speech. However that does NOT give people an excuse to threaten others. With freedom of speech also comes the freedom to feel safe.

What is so wrong with being civil to each other?

powered by performancing firefox

Posted in Personal Opinion | 2 Comments »

I got a new book, Fit for Developing Software

Posted by Alec on 26 March 2007

FIT

Fit is a tool for enhancing collaboration in software development.

I just bought Mugridge and Ward’s book on using the Framework for Integrated Tests. I have only got as far as Ch 4 but I am very excited about how this approach might:

  1. Help my conversations with customers by encouraging the use of Fit documents and
  2. Reducing development overhead by making it easier to implement automated testing for business rules

I hope to get a chance to try this on some projects in the next 3-4 months so watch this space.

powered by performancing firefox

Posted in Application Lifecycle Management, Project Management, Software Development, Work Practices | 10 Comments »

Software Development: So what do your users need?

Posted by Alec on 23 March 2007

If you noodle around the Internet you can find some very gloomy reports showing the number of software projects that fail to meet users expectations. Whilst many of the reports are paid for by vendors of Requirement Management software, they are still pretty depressing. Why are we so bad at delivering software to our customers? There are many reasons and volumes have been written about it, however I think we can distil it down to three main issues: Read the rest of this entry »

Posted in Application Lifecycle Management, Business, Project Management, Software Development, Work Practices | 7 Comments »

The new website is up

Posted by Alec on 20 March 2007

Voga Consulting Services

Welcome to Voga Consulting Services

I have at last got around to putting up my new company web page. It now uses CSS (thanks to FreeCSSTemplates.org who did all the heavy lifting) and I hope to be adding more pages and content over the next few months.

As an historical record I left the old page online. Pretty clunky eh?

powered by performancing firefox

Posted in Business, Web, ego | Leave a Comment »

I posted on /.

Posted by Alec on 18 March 2007

Well after seven years of trying (I think about 10 attempts) I managed to get something posted to Slashdot.

:-)

However the Block quoting did not work as I expected :-(

Posted in ego | Leave a Comment »

Software Development: An Introduction

Posted by Alec on 16 March 2007

I am hoping to write a series of posts about the practical nitty-gritty of managing software development. In the first instance it will be a set of bullet points to highlight issues, however I hope to expand some of the list into some practical advice and suggestions. Read the rest of this entry »

Posted in Software Development, Work Practices | 2 Comments »

Sexism in the Geek Community

Posted by Alec on 16 March 2007

philosophical geekess » …hear me roar!

I’ve learned to be ‘less feminine’ in my communications

Melissa, a local geek, has an exellent post on some of the issues on being female in the community. However the phrase above set me thinking. How do you communicate in a feminine way when discussing geek stuff? When discussing things other than technology how does it work? If you are caring or thoughtful in your posts does that make you female?

I don’t think I could detect the difference. However I am sure I could detect the difference between a jerk and thoughtful person, so men — don’t be a jerk! From Mellisa’s post it would appear a lot of us still are :-( .

powered by performancing firefox

Posted in Personal Opinion, Work Practices | 1 Comment »

Do I say anything worthwhile in this blog?

Posted by Alec on 14 March 2007

I’m having some ‘issues’ around the idea of publishing my thoughts in this blog. Some of the topics I talk about are complex and would require substantial and detailed exposition to discuss properly. However the constraints of time and space (the blog format really seems to be limited to less than a 1000 words, and usually a lot less than that) means that usually it’s not possible to give a topic full justice.

Will my readers assume that my thinking and knowledge is equally simplistic? Is a blog the correct format to publish such material ?

For many successful blog writers the format seems to work. However with the amount of time at my disposal I think I need to publish less often and present more substantive articles, or a series of posts with much more detailed material.

I have recently been thinking about the issues of successful development management, so I propose to create a series of articles around the topic — just don’t expect them to appear quickly.

Posted in Personal Opinion, Work Practices, ego | 5 Comments »

How are science and maths perceived by society?

Posted by Alec on 8 March 2007

DDJ | DDJ’s Portal Blog

‘…fewer than 6 percent of high-school seniors in the U.S. are planning on engineering degrees. A decade ago it was 36 percent. In 2000, 56 percent of the undergraduate degrees in China were in the hard sciences. In the U.S., 1 percent.

I wonder if the US is starting to gather the harvest from it’s apparent antipathy against hard science? (Possibly fuelled by the conservative, religious, right.)

It would be interesting to know if there is a similar trend in other western countries? Or, at the risk of sounding like a grumpy old fart, are maths and science subjects too hard for the current calibre of student?

Whatever it is, it’s probably not good — although of course at the in individual level it creates great opportunities for the people who choose to study these subjects.

powered by performancing firefox

Posted in Personal Opinion | Leave a Comment »

Version Control for Government documents

Posted by Alec on 7 March 2007

Over on /. (that’s Slashdot for those who are not nerds or geeks) grepya writes:

Slashdot | Source Control For Bills In Congress?

“An article in Slate talks about the sneaky way a major change in the Patriot Act reauthorization bill was made by (possibly) a Congressional staffer without even his boss knowing about it. (The change increased the power of the Executive at the expense of the other two branches of government.) Now, I write software for a large and complex system containing millions of lines of code and I know that nobody could slip a single line of code into my project without my knowledge. This is because everything that goes into the build goes into a source control system, and email notification is generated to interested parties. This is for a body of work that affects perhaps a few hundred thousand people at most (our company and the combined population of all our customer organizations). Shouldn’t the same process be applied to bills being debated in national legislatures that affect potentially hundreds of millions of people?

What a fantastic idea! Many version control systems allow external users to browse the repository history using a web browser (you can pull that trick on any Sourceforge project, for example try here). Free and open access to the history of a government’s documents…

A ticket management system would allow the public to raise change requests against the documentation created by their government. By applying the techniques of open source development and blocking out the time wasters, could be en up with Open Source Government even?

Of course you can apply also the same methods to all the documents produced by your organisation (or family??).

powered by performancing firefox

Posted in Personal Opinion, Software Configuration Management, Work Practices | 2 Comments »

Agile projects vs. Change process

Posted by Alec on 5 March 2007

Regular readers will remember that a while back I wrote a few posts talking about the job of a ticket process to manage changes and issues; and more recently I have banging the drum about the wonders of Agile development. How can I reconcile what appear to be two conflicting approaches?
Read the rest of this entry »

Posted in Application Lifecycle Management, Software Development, Work Practices | 2 Comments »

Adding Personal Accountability as a VALUE to Extreme Programming

Posted by Alec on 5 March 2007

Steve Hayes had a pointer to this

InfoQ: Kent Beck on Agile Adoption & Values

Customers don’t seem to mind fewer defects and more predictable schedules and programmers who are willing to have conversations and follow through with their commitments. The problems come when customers start to expect those things and programmers don’t want to provide them. Calling yourselves agile without a commitment to the values and principles of agile development can lead to some uncomfortable relationships.

When I read this paragraph a little light went on in my brain. I’d always thought the Values of XP a little odd so I just concentrated on the Practices and Techniques. Now fundamentally XP Values are values for the whole team. The reason, I now realise, that I could not place the Values in my own personal model is that the list does not generally contain accountability or commitment as a personal value for each team member, although it is often implied.

What might individual Accountability and Commitment mean for XP team members? Read the rest of this entry »

Posted in Personal Opinion, Project Management, Software Development, Work Practices | Leave a Comment »