Showing posts with label software. Show all posts
Showing posts with label software. Show all posts
Wednesday, March 21, 2007
Artistic compensation
Second Life reminded me of a thesis that I heard about many years ago, focussing on artistic recognition. I haven't actually read the paper, but I recall the elevator pitch.
Wednesday, February 28, 2007
Just what is Agile Testing?
I seem to notice that I like posing questions in the title of my entries... Anyway, I am currently trying to unravel what exactly Agile testing is. In fact the question could be: how do testers fit into an Agile project? A short Google search tells me that this is still a hot topic, and that there is division over it (an essay from testing.com, Agile Testing, what is it?). I can't help feeling that there is still a silo mentality where each group (development and testing) is going away on their own and deciding what their roles in an Agile project is - which kind of goes against the manifesto.
I have recently witnessed three Agile projects where the testers sat in the same room as the developers but yet both groups built their own set of automated functional tests. This seems crazy to me, but I am willing to accept that I am the odd one out here.
What are people doing elsewhere on projects? Have people been successful in integrating teams as Brian Marick describes, or have you just assumed that the twain shall never meet and focused on getting the developers to produce better code (and functional tests) on their own?
In closing, I do like Brian's categorisation of testing.
I have recently witnessed three Agile projects where the testers sat in the same room as the developers but yet both groups built their own set of automated functional tests. This seems crazy to me, but I am willing to accept that I am the odd one out here.
What are people doing elsewhere on projects? Have people been successful in integrating teams as Brian Marick describes, or have you just assumed that the twain shall never meet and focused on getting the developers to produce better code (and functional tests) on their own?
In closing, I do like Brian's categorisation of testing.
Wednesday, January 17, 2007
Striving for Better, achieving Good Enough
You could consider me an Agile practitioner. I have worked with processes one might call Agile, with a definite slant towards Extreme Programming. What does that mean? Superficially that means employing certain practices: Short iterations, pair programming, etc. It means not doing all requirements analysis before development starts, and so on.
On reflection, one of the main aspects that I have taken on board is the philosophy of continual improvement. I don't use the word philosophy lightly. As a practitioner of a profession, I seek to improve my methods and learn through this endeavour. This is where my intrinsic nature and Agile thinking align well. My most enjoyable part of a project is the retrospectives: frank, open discussion about how the team can improve itself.
Sure, nine times out of ten a well staffed project team will deliver as required, without the need for much advanced thinking. So why look beyond what we already know? Or, why fix what isn't broken? It is interesting to ponder the Moon landing in the context of these questions - there would have been millions of reasons not to do it. My feelings are that you develop as an individual (or a team) by striving to be better than you currently are; challenging the current assumptions and operations. Identifying areas of improvement and applying analytical process to making the next step; in particular, this means overcoming our natural tendency to aim for 'good enough'.
The usual outcome of aiming for 'good enough' is not as good as we had hoped. By defining an easily achievable level and never increasing it, we allow lapses to occur, the end result being below the set level. It is a natural outcome of becoming too comfortable. Only by continually striving for better can we truly achieve good enough.
On reflection, one of the main aspects that I have taken on board is the philosophy of continual improvement. I don't use the word philosophy lightly. As a practitioner of a profession, I seek to improve my methods and learn through this endeavour. This is where my intrinsic nature and Agile thinking align well. My most enjoyable part of a project is the retrospectives: frank, open discussion about how the team can improve itself.
Sure, nine times out of ten a well staffed project team will deliver as required, without the need for much advanced thinking. So why look beyond what we already know? Or, why fix what isn't broken? It is interesting to ponder the Moon landing in the context of these questions - there would have been millions of reasons not to do it. My feelings are that you develop as an individual (or a team) by striving to be better than you currently are; challenging the current assumptions and operations. Identifying areas of improvement and applying analytical process to making the next step; in particular, this means overcoming our natural tendency to aim for 'good enough'.
The usual outcome of aiming for 'good enough' is not as good as we had hoped. By defining an easily achievable level and never increasing it, we allow lapses to occur, the end result being below the set level. It is a natural outcome of becoming too comfortable. Only by continually striving for better can we truly achieve good enough.
Saturday, November 18, 2006
Looney Zunes
As already stated, I am a recent iPodder. I pride myself on being fad-resistent and only bought one when it suited my purpose. However, I always appreciated the aura that Apple built around their devices. As a technologist who can enjoy stylish items, it was good to see a company willing to spend time making their devices look good. After all, most households own a computer and the beige boxes (which I own) aren't exactly works of art that you would want have on display. Think back to cool science fiction movies like Gattaca and you can see what we needed; Apple provides that. For me, though, I want value for money and that's why I will continue to buy my PCs from small computer shops and then hide them in my study.
So Microsoft figures it is time to give Apple a run for its money and along comes the Zune. I won't describe it because you must be living in a cave if you haven't heard about it. Odd name, but odder still is that it appears that the obvious domain name, www.zune.com, is already taken. Surely that would have been a marketing showstopper. Also, my curiosity lead me to check out the related store. It doesn't appear to be that easy to find. I first Googled "zune store" but there really wasn't anything apparent. So it turns out that it is called Zune Marketplace, off the www.zune.net site which under Firefox looks like something a 12 year old created, a white page with images and some text. This is being a bit picky, but exactly what generation is "Welcome to the Social" supposed to appeal to? Sounds very 1920s to me. I did like this cheeky dig at the marketing campaign. Nonetheless, the Xbox survived to the second incarnation (although gamers are a pretty fickle demographic) and it will be interesting how the Zune performs.
So Microsoft figures it is time to give Apple a run for its money and along comes the Zune. I won't describe it because you must be living in a cave if you haven't heard about it. Odd name, but odder still is that it appears that the obvious domain name, www.zune.com, is already taken. Surely that would have been a marketing showstopper. Also, my curiosity lead me to check out the related store. It doesn't appear to be that easy to find. I first Googled "zune store" but there really wasn't anything apparent. So it turns out that it is called Zune Marketplace, off the www.zune.net site which under Firefox looks like something a 12 year old created, a white page with images and some text. This is being a bit picky, but exactly what generation is "Welcome to the Social" supposed to appeal to? Sounds very 1920s to me. I did like this cheeky dig at the marketing campaign. Nonetheless, the Xbox survived to the second incarnation (although gamers are a pretty fickle demographic) and it will be interesting how the Zune performs.
Friday, October 06, 2006
I do Yahoo?
I have noticed recently that Yahoo have changed their authentication system. It changed before they introduced their flashy new Web 2.0 site, too. Previously, the login was tracked via a cookie with a 24-hour timeout, which meant one login a day at most even if you rebooted. The new system is browser session based so close your browser and it forgets your login session and even your id. I used to be a fan of the old way as it was very simple. It would be interesting to find out why they did it. Perhaps the new site needed it to be this way. The other change is that the default login screen which appears when you go to "mail.yahoo.com.au" is HTTPS by default. This suggests maybe a general tightening of their security policy.
As an aside, the new site is nifty and AJAX-ey but without breaking any new ground. Keyboard shortcuts are nice, although I haven't completely gotten used to them - and have the site doing funny things as a result. One funny note: if you are a poor sucker who still uses Internet Explorer instead of a real browser, the Javascript activity results in a whole barrage of those annoying 'click' sounds anytime you do anything!
As an aside, the new site is nifty and AJAX-ey but without breaking any new ground. Keyboard shortcuts are nice, although I haven't completely gotten used to them - and have the site doing funny things as a result. One funny note: if you are a poor sucker who still uses Internet Explorer instead of a real browser, the Javascript activity results in a whole barrage of those annoying 'click' sounds anytime you do anything!
Monday, September 25, 2006
When is an architect an Architect?
The term architect is an ambiguous one in the software industry. Far more so than in its more traditional home, the building industry, where a firm certification is the deciding factor. And it is an interesting topic because the title is going through a period of uncertainty. Speaking personally, I saw the title as a traditional way of declaring, look I can write program code but, more importantly, I can design the overall system so that others can code it. So when one sees a team, especially a manager, they know the lay of the land.
The problem comes about when two of these 'architects' are compared. Is the architect of a personal website the equivalent of an Internet banking architect? In this case, if this matters to you, then you basically have to drill into their resume and find out what they have really done and see how it lines up with your needs. After all, architects covers everything from system design to CIO-level enterprise strategy planning.
None of this would be insurmountable and probably parallels the building world: house architects versus industrial complex designers. However, when we add the lack of certification to the mix, we pretty quickly discover that everyone is an architect. If I had a dollar for every resume that has passed my desk where the applicant had spent all but their first job as an 'architect', I'd be rich. And from experience, I have worked with many architects who elevated themselves to that position so as to avoid the dirty work of actually coding. This is another cause of problem, since when you are relieved of the burden of implementing the system, you are also relieved of the practical implications of your design.
So what's the answer? Dunno. I can't see certification working because the industry is so dynamic that it would be obsolete within a year. The more progressive elements have compensated for the everyone-is-an-architect problem by expecting hands on philosophies. If you don't want to code, you can't architect here. This is probably the pragmatic approach, as it gives a nice feedback loop from design to implementation. And the corollary is that there are now architects who feel comfortable saying: "I don't want to just draw boxes and produce documents, I want to get in and build the thing."
The problem comes about when two of these 'architects' are compared. Is the architect of a personal website the equivalent of an Internet banking architect? In this case, if this matters to you, then you basically have to drill into their resume and find out what they have really done and see how it lines up with your needs. After all, architects covers everything from system design to CIO-level enterprise strategy planning.
None of this would be insurmountable and probably parallels the building world: house architects versus industrial complex designers. However, when we add the lack of certification to the mix, we pretty quickly discover that everyone is an architect. If I had a dollar for every resume that has passed my desk where the applicant had spent all but their first job as an 'architect', I'd be rich. And from experience, I have worked with many architects who elevated themselves to that position so as to avoid the dirty work of actually coding. This is another cause of problem, since when you are relieved of the burden of implementing the system, you are also relieved of the practical implications of your design.
So what's the answer? Dunno. I can't see certification working because the industry is so dynamic that it would be obsolete within a year. The more progressive elements have compensated for the everyone-is-an-architect problem by expecting hands on philosophies. If you don't want to code, you can't architect here. This is probably the pragmatic approach, as it gives a nice feedback loop from design to implementation. And the corollary is that there are now architects who feel comfortable saying: "I don't want to just draw boxes and produce documents, I want to get in and build the thing."
Monday, September 11, 2006
Virtualisation
While I have known about virtualisation products for a while, it required a day home sick to get me to actually have a look into one. I had done some preliminary looking at Xen, and as a result decided to look into VMWare Server. Xen's idea of ported OSes was a little bit too much for me, although I suspect if you were after high performance it might be your ticket. I was looking for an easy way to pursue my hobby of investigating operating systems. I don't do anything useful with them of course, but I find it interesting to see where things are at. As an active Linux (Fedora Core) user, I like to look at similar alternatives.
So as a result I downloaded and installed the server, which even on Linux was simple (there was an rpm). I very quickly set up a virtual machine and was ready to install my first OS. Solaris 10 was my first victim, and given that I have tried to install 8 in the past without success on a real machine, I was pleasantly surprised by how easy it was.
Virtualisation appeals to my computer engineering background, because essentially it is a piece of software that acts exactly like a real physical PC. It would probably be quite fun to work on.
So as a result I downloaded and installed the server, which even on Linux was simple (there was an rpm). I very quickly set up a virtual machine and was ready to install my first OS. Solaris 10 was my first victim, and given that I have tried to install 8 in the past without success on a real machine, I was pleasantly surprised by how easy it was.
Virtualisation appeals to my computer engineering background, because essentially it is a piece of software that acts exactly like a real physical PC. It would probably be quite fun to work on.
Subscribe to:
Posts (Atom)