This blog has moved. Go to SoftwareDevelopmentToday.com for the latest posts.

Sunday, October 25, 2009

We don't need software engineering religion, we need software engineering science!


During the Scan-Agile '09 conference there was a lot of discussion about why Agile works and if a specific flavor of it would be better than other flavors (you know, the Scrum vs Kanban fight).

Despite those surface issues, there was a deeper debate going on. Why does Agile work? And in what context should we use certain practices? The essence of this dialogue was, in my view about what we really understand or know about Software Development.

Many of us came to Agile from different backgrounds. Some of us are closer to the development disciplines (testing and coding), others are closer to project management/management or product management.

The common thing is: we believe, based on our experience and observation that Agile is a better way to develop software. But why is that so? Where is the evidence, and what parts of it work in certain contexts?

The core of this dialogue is about science. We need the scientific process and scientifically proven theories to learn. That's how we learn as a species!

That's why I found this presentation so important. Even if I disagree with somethings that are stated there. The debate must start, we must stop practicing blind religion with our industry. We need to get scientific!

Hopefully many of you agree...

Labels: , , , ,

at 20:07 | 4 comments
RSS link

Bookmark and Share

Friday, October 23, 2009

Opera Mini 5 is the king of mobile browsing, proof inside

In a discussion with @james_cooper and @iramo on twitter we came to argue about the performance of some mobile browsers.

Now, if you are anything like me you hate propaganda as well as deceptive advertising.

I raved on twitter about Opera Mini 5 (which I think is the best mobile browser out there, bar none!) and @james_cooper made a comment that stopped short of making my blood boil.


I'm as much of a fanboy as anyone else, @james_cooper will testify to that, but when I rave about a product I do it for a reason.

So I took @james_cooper's challenge head on and went on to do an extensive performance test with a couple of web-sites that I visit often to prove that @james_cooper and all other Apple fanboys are just wrong and that we (the Opera Mini fanboys) are right! :)

So. First the result: I hereby crown Opera Mini 5 as the best, fastest and most responsive mobile browser of our times! And I have the data to prove it (not just fanboy-ism).

Test Method

I loaded the main page of the list of web-sites below on Thursday October 23rd around 21:00 EET. Each page was loaded at least 5 times. Some pages were loaded 6 times to account for the first load time being too long (due to the overhead of creating a connection).

All browsers were in devices that had wifi connection except for the S60 v3.2 browser because the device I had did not have wifi.

The times measured were from the moment the user presses "go" (or "go to") to the moment that the browser stops downloading and rendering. All browsers in the test included very clear visual queues that let the user know that the page is fully ready for browsing, so this was easy to measure.

Also, in the devices that allow for multitasking, all other applications were closed in order to allow for a fair comparison with the iPod Touch 2nd generation that I used which itself does not allow any other application to run at the same time as the browser.


Devices in test

  • Nokia N97 with Opera Mini 5 Browser
  • Nokia N97 with native browser
  • Nokia 6730c with native browser
  • Apple iPod Touch 2nd generation with OS 2.1.1 and later with OS 3.2.1

Sites visited for the test

  • www.techmeme.com
  • www.nytimes.com (not tested with all browsers because there was no way to make the server return the full desktop-version of the site)
  • www.hs.fi
  • www.engadget.com
  • www.natgeo.com (not tested with all browsers because there was not way to make the server return the full desktop-version of the site)

Most of the sites included some scripting and flash adverts.

Test Results Overview

There was one thing clear from all of these tests. Opera Mini 5 is much, much faster than any of the other browsers. Opera uses what they call "proxy" which basically means that the browser will connect to specific servers that Opera manages and those servers will compress the data to be transferred to the browser making the amount of data to be transferred considerably smaller than the full HTML+FLASH that other browsers have to download. This makes Opera much faster on the download, but Opera still needs to render the same content and here Opera excels again.

Opera clearly blows all other mobile browser options tested out of the water. Here are some examples (times in seconds, error margin +-1 second)


www.techmeme.com
www.nytimes.com
www.hs.fi          
www.engadget.com
www.natgeo.com
N97 with Opera Mini 5
best: 7 sec
worst: 8 sec
best: 9 sec
worst: 12 sec
best: 11 sec
worst: 23 sec*
best: 7 sec
worst: 9 sec
best: 6 sec
worst: 9 sec
Nokia 6730c with Native Browser (over 3G)
best: 19 sec
worst: 19 sec
only mobile site available
N/A
best: 13 sec
worst: 16 sec
best: 10 sec
worst: 13 sec
iPod Touch 2nd Gen with 2.1.1
best: 24 sec
worst: 24 sec
best: 27 sec
worst: 28 sec
best: 34 sec
worst: 36 sec
best: 20 sec
worst: 21 sec
only mobile site available
iPod Touch 2nd Gen with 3.2.1 (test not completed)
best 38 sec
worst: 47 sec
N/A
N/A
N/A
N/A
N97 with Native Browserbest: 36 sec
worst: 47 sec
only mobile site availableN/Abest: 16 sec
worst: 27 sec
N/A
* includes time to create a connection as the device had no active connection to the network at that time
N/A: either the device did not render completely the site or the test was not done for the specified site
Only mobile site available: There was no obvious way to request the full-website from the server through the mobile-site interface. Test could not be carried out.

Conclusion

If you actively use your mobile device to browse the internet, there's only one conclusion to take from this test: get yourself the Opera mini 5 Beta and stop worrying about the native browser. Opera has consistently beaten all others to the punch and even though the test was not on the features, it is clear that the Opera Mini 5 Beta is a feature-rich browser that puts all of the native browsers to shame.
I have, just like all of you have, heard how cool mobile safari is and how it has this crazy good WebKit engine... Well, Opera Mini 5 is Java (yes!) based and is still miles ahead of the competition!

All I can say is that I hope that the mobile browser wars does not end like the PC browser war ended with one crappy browser built-in into every OS/device.

Here's the
link to the Opera Mini 5 site. Go there and start enjoying a proper desktop-like browser on your mobile device!


at 10:50 | 5 comments
RSS link

Bookmark and Share

Thursday, October 08, 2009

PMI vs Agile, the debate continues


Prompted by a comment by Murray on my first blog in this debate I wanted to expand some of the ideas that have not yet been explored.

Here are the key excerpts from Murray's comment:
PMBOK V4 is compatible with and supportive of Agile processes. Here are some relevant quotes from CHAPTER 2 − PROJECT LIFE CYCLE AND ORGANIZATION

"There is no single way to define the ideal structure for a project"

"it is up to the project manager and the project management team to determine the most appropriate method of carrying out the project"

"There are three basic types of phase-to-phase relationships:

• A sequential relationship (...)

• An overlapping relationship, where the phase starts prior to completion of the previous one (...)

• An iterative relationship, where only one phase is planned at any given time (...)



The PMBOK v4 is quite recent and I have to admit I'm not familiar with it.
However, PMBOK v3 completely omitted the discussion about phase-to-phase relationship in the way described above.

Another aspect that is seldom discussed is that in IT projects (specifically Software Products) we are very quickly distancing our methods from the project-concept. In companies where I've worked, projects no longer represent in any meaningful way how the company works.

Another caveat is that Linear-iterative projects (like RUP proposed) are significantly different from the Incremental-iterative project structure that Agile methods in general and Scrum specifically propose.

All in all, there are significant differences that warrant a very skeptic look at what PMBOK has to offer.

If you want to check some other views into why the "project" pattern is not necessarily useful for software product development take a look at this blog post by Ari, who has quite a long experience in product companies: "Focusing on projects ruins your business"

Photo credit: Dunechaser @ Flickr

Labels: , , , ,

at 09:01 | 8 comments
RSS link

Bookmark and Share

Monday, October 05, 2009

We have Open Space for learning at Scan-Agile


I've been in many conferences, and without an exception the best part of every conference was the time I had to talk 1-on-1 or with a few people about some subject that really interested me.

This normally started in the hallways, during the coffee breaks. We started talking and suddenly we realized that we had just missed the start of the sessions. The conversation would go on and eventually some of those would continue over dinner.

I've met more people during conferences this way than by any other method. Conferences are excellent for this. You have lots of people with the same interest in one place, start talking and before you know it you have found people with which you can discuss the most difficult problems you've faced. Sometimes others pitch in with a solution, sometimes you just get a bunch of friends that share the same interest.

This effect, of getting to know people you did not know before, is what we are trying to create in this year's Scandinavian Agile Conference. That's why we have an Open Space (aka Open Space Technology) day in our schedule. Open space is the format that allows for the best networking to happen.

In the Open Space anyone can suggest sessions in the morning's "marketplace of ideas". This means that those people are committed to host a 50-55 min session about a specific subject. That does not mean that they want to explain the subject. The best Open Space sessions I've been in are those where the host just asks a question and the conversation flows from that.

For those more technically inclined an Open Space session can be an opportunity to explain a hard technical problem you are facing and have others pitch in to help you solve it or explore possible solutions that you were not aware of.

The Open Space sessions where I've participated have all been excellent learning opportunities for me, but some have been breakthroughs! Most importantly, in each Open Space session where I have participated, I've been positively surprised how people that may be reluctant to participate at first, end up participating actively and having lots of fun in the process.

Come to the Open Space in Scan-Agile. Listen. Teach. Meet your community!

You can start building your Scan-Agile community today! Just go to Twitter and use the tag #scanagile. All of us on twitter will be able to find you and, who knows, maybe even create a joint-Open Space session before the actual Open Space day!

Come on, join the community!

Photo credit: Peter Kaminski @ flickr

Labels: , , ,

at 14:00 | 0 comments
RSS link

Bookmark and Share

 
(c) All rights reserved