The Role of Testing and QA in Agile Software Development

In our development group at Talis We’ve been thinking a lot about how to test more effectively in an agile environment. One of my colleagues, sent me a link to this excellent talk by Scott Ambler which examines the Role of Testing and QA in Agile Software Development.

Much of the talk is really an introduction to Agile Development which is beneficial to listen to because Scott dispels some of the myths around agile, and offers his own views on best practises using some examples. It does get a bit heated around the 45 minute mark when he’s discussing Database Refactoring, some of the people in the audience were struggling with the idea he was presenting which I felt was fairly simple. If you really want to skip all that try to forward to the 50 minute mark where he starts talking about sandboxes. What I will say is that if your having difficulty getting Agile accepted into your organisation then this might be a video you want to show your managers since it covers all the major issues and benefits.

Here’s some of the tips he has with regard to testing and improving quality:

  • Do Test Driven Development, the unit tests are the detailed design, they force developers to think about the design. Call it Just-in-time design.
  • Use Continuous Integration to build and run unit tests on each check-in to trunk.
  • Acceptance Tests are primary artefacts. Don’t bother with a requirements document simply maintain the acceptance test since the reality is that all testing teams will do is take that requirement and copy it into an acceptance test, so why introduce a traceability issue when you don’t need it. http://www.agilemodeling.com/essays/singleSourceInformation.htm
  • Use Standards and Guidelines to help ensure teams are creating consistent artefacts.
  • Code Reviews and Inspections are not a best practise. They are used to compensate for people working alone, not sharing their work, not communicating, poor teamwork, and poor collaboration. Guru checks output is an anti-pattern. Working together, pairing, good communication, teamwork should negate the need for code reviews and inspections.
  • Short feedback loop is extremely important. The faster you can get testing results and feedback from stakeholders the better.
  • Testers need to be flexible, willing to pick up new skills, need to be able to work with others. They need to be generalising specialists. The trend that is emerging in agile or the emerging belief is that there is no need for traditional testers.

Scott is a passionate speaker and very convincing, some of the points he makes are quite controversial yet hard to ignore – especially his argument that traditional testers are becoming less necessary. I’m not sure I agree with all his views yet he has succeeded in forcing me to challenge my own views which I need to mull over and for that reason alone watching his talk has been invaluable.

Stop Child Executions

http://www.stopchildexecutions.com

I can’t say that I entirely oppose the death penalty, but I firmly believe there can be no justification for the execution of children. I understand that some of these children have committed crimes that are abhorrent but I’m forced to question whether it’s right to impose the death penalty upon youngsters who are by definition immature and not necessarily able to fully comprehend the consequences of their actions.

Jumpcut: Creating a photo flip book online

Jumpcut is a really cool online service that allows you to create movies with a soundtrack comprised of images that you either upload or import from an existing flickr account. It’s really simple to use, in fact I learnt about it on PhotoJojo who provide a very simple tutorial that steps you through what you need to do.

Below is an example I created really quickly by importing my photos of kashmir from my flickr account. The background music is my bamboo flute, ive overlayed the same track twice ( it didnt run the entire duration of the movie, so you’ll hear two flutes playing about half way through – sounds beautiful tho!). It took about 3 minutes to create this, I used one of the built in transitions but I could have easily spent time varying the transitions between each picture as well as the duration that each picture is show. It’s an incredibly simple tool to use, and has the immediate effect of bringing your photo’s to life.

Have a play around on jumpcut.com and try it for yourself, I think it’s a great way of sharing your photos.

To Hope

A friend of mine sent me a book of poetry as a birthday present, found this wonderful little poem in it by John Keats:

When by my solitary hearth I sit,
And hateful thoughts enwrap my soul in gloom;
When no fair dreams before my “mind’s eye” flit,
And the bare heath of life presents no bloom;
Sweet Hope, ethereal balm upon me shed,
And wave thy silver pinions o’er my head!

Whene’er I wander, at the fall of night,
Where woven boughs shut out the moon’s bright ray,
Should sad Despondency my musings fright,
And frown, to drive fair Cheerfulness away,
Peep with the moonbeams through the leafy roof,
And keep that fiend Despondence far aloof!

Should Disappointment, parent of Despair,
Strive for her son to seize my careless heart;
When, like a cloud, he sits upon the air,
Preparing on his spell-bound prey to dart:
Chase him away, sweet Hope, with visage bright,
And fright him as the morning frightens night!

Whene’er the fate of those I hold most dear
Tells to my fearful breast a tale of sorrow,
O bright-eyed Hope, my morbidfancy cheer;
Let me awhile thy sweetest comforts borrow:
Thy heaven-born radiance around me shed,
And wave thy silver pinions o’er my head!

Should e’er unhappy love my bosom pain,
From cruel parents, or relentless fair;
O let me think it is not quite in vain
To sigh out sonnets to the midnight air!
Sweet Hope, ethereal balm upon me shed,
And wave thy silver pinions o’er my head!

In the long vista of the years to roll,
Let me not see our country’s honour fade:
O let me see our land retain her soul,
Her pride, her freedom; and not freedom’s shade.
From thy bright eyes unusual brightness shed
Beneath thy pinions canopy my head!

Let me not see the patriot’s high bequest,
Great Liberty! how great in plain attire!
With the base purple of a court oppress’d,
Bowing her head, and ready to expire:
But let me see thee stoop from heaven on wings
That fill the skies with silver glitterings!

And as, in sparkling majesty, a star
Gilds the bright summit of some gloomy cloud;
Brightening the half veil’d face of heaven afar:
So, when dark thoughts my boding spirit shroud,
Sweet Hope, celestial influence round me shed,
Waving thy silver pinions o’er my head!

Google Tech Talk : Flex, Flash and Apollo for Rich Internet Applications

ABSTRACT: James Ward, engineer and evangelist for Adobe’s Flex, Flash and Apollo technologies, will demonstrate their use for very rich user experiences in internet applications. Topics covered will include ECMAscript, the recent open source donation of the scripting engine to the Apache Tamarin project, Apollo (the standalone execution environment for running desktop applications written in flash and HTML) and much more

Open Access and an example of how it can work in education

I’ve been thinking a lot about Open Access, Open Content and indeed Open Data for a while, they are all interrelated issues that were thinking about a lot at Talis. It’s true to say that the Open Data issue is probably the one we are focusing on primarily at the moment, in fact one of my colleagues Paul is giving a talk1 on that exact subject at XTech in a couple of weeks, and another of my colleagues, Rob, presented his thoughts2 on Open Data at EUSIDIC last month, and they’ll both be sitting on a panel discussing Open Data at WWW2007 next week in Banff.

Right now though I want to talk about Open Access and a little on Open Content.

Knowledge should be free and open to use and re-use – that’s something I believe.

There has always a been a desire amongst academics, in fact its more of a tradition, to publish their research in journals without payment but rather for sake of inquiry and sharing that knowledge. Is it altruism alone that motives these authors, these researchers? I like to believe that it is the main reason 🙂 . However I recognise that Open Access offers these individuals tangible benefits and advantages3. For one thing studies have shown4 that openly accessible articles and papers are more likely to be cited than those which are locked away behind subscriptions – accessible only to those either willing to pay for that privelege or belonging to a closed community able to gain access to them .

Open Access should make sense because openly accessible article can be harvested and indexed by search engines and can be viewed by anyone, anywhere. If your researching into a subject and come across a text you want to read there isnt a barrier preventing you from gaining access to that item.

Back in 1995 Steve Harnad wrote a seminal piece entitled the “Subversive Proposal”5 which called upon authors of esoteric writings to archive them for free online in anonymous FTP archives or on websites). His belief was that as soon as all research authors publicly self archived their refereed and unrefereed papers online, then research literature would be free and accessible to all. There was great debate around this proposal and at the time it was the commonly held view that what Harnad was asking for was naive and flawed, I managed to find an excellent retrospective piece by Richard Poynder that discusses the impact of the Subversive Proposal6 , and the history that lead up to it.

Over a decade later the Open Access movement has gained a great deal of momentum which is now threatening the entire scholarly publishing industry, there’s numerous Open Access inspired toolkits and services that are enabling authors to self archive content which is then freely available to all. Yet critics of Open Access still maintain that the pay-for-access model is necessary … but I guess when you consider that the scholarly publishing business is worth an estimated $6 billion, it’s not hard to understand why they are so opposed to this.

I felt compelled to share my thoughts today, after watching a TED Talk by Richard Baraniuk7, in which he passionately argues that textbooks and educational materials that are used in schools should be made available to all through a vast interconnected repository – allowing anyone to use the information, improve it, and not only bringing the authors, who are often academics, closer to those using their material but encouraging more people to share their knowledge in this new ecosystem. It’s not hard to see how you could abstract this out further to encompass all scholarly articles and not just textbooks. I guess this is were Open Access and Open Content become a little blurred for me but that’s only because what Richard is proposing is not only allowing people free access to these works but empowering users to mix content together to create customised works made up of different constituent parts whilst crediting the authors of each of those parts – and that’s really interesting!

Richard is the founder of Connexions which is an environment for collaboratively developing, freely sharing, and rapidly publishing scholarly content on the Web under the Creative Commons8 license. I think it’s a wonderful example of how Open Access and Open Content can be successful. Connexions is focused entirely on developing teaching materials and whilst this is only a small subset of all scholarly publishing it’s still an extremely compelling and inspiring initiative which is gaining pace. Add to this the notion of on-demand publishing where students who want an up to date physical manifestation of a book can purchase one for a significantly cheaper price than they would have paid had the title been produced by a traditional publishing company, since the middle man is effectively cut out of the loop.

When you consider that most academics who write textbooks don’t actually make a significant amount from that it’s understandable why they might wish to participate in initiatives like Connexions, most of these individuals dont write textbooks necessarily for money but to make an impact, and this type of system makes their work accessible to more people thus increasing the potential impact.

Or is my naivety showing?

  1. Opening the Silos: sustainable models for open data[back]
  2. The outlook and the Future [back]
  3. Online or Invisible? [back]
  4. The effect of open access and downloads on citation impact [back]
  5. Subversive Proposal[back]
  6. Ten Years After by Richard Poynder[back]
  7. Goodbye Textbooks; hello, open source learning[back]
  8. Creative Commons[back]

Movie Review: Curse of the Golden Flower

Had a wonderful evening, had a meal with Amanda, Maria and her sister Dora and then we went to The Electric to watch Curse of the Golden Flower. The Electric is a fantastic little cinema, you get large leather seats and drinks / refreshments served while you watch the movie. It’s a stunning venue and I’m positive we’ll be going there again … here’s a picture:

Amanda even managed to get me to scoff this huge slice of chocolate cake they do – well it is my birthday tomorrow so I guess it’s ok 😉


Image:Wikipedia

As for the film, as far as tragedy’s go this one might have driven Shakespeare to suicide! It’s one of the most bizarre movies I’ve ever seen. Yet the sets, costumes and cinematography are absolutely stunning. Don’t make the mistake of thinking this is another Crouching Tiger, Hidden Dragon because it couldn’t be futher from that. The story revolves around an Emperor who is secretly poisoning his wife, she in turn is plotting against him using his sons to overthrow him. It’s basically the story of a rotting family that destroys itself in one night.

I thought the film was very good, I struggled to keep up with the plot but the acting was superb.

Google Tech Talk: Faith, Evolution and Programming Languages

Faith and evolution provide complementary–and sometimes conflicting–models of the world, and they also can model the adoption of programming languages. Adherents of competing paradigms, such as functional and object-oriented programming, often appear motivated by faith. Families of related languages, such as C, C++, Java, and C#, may arise from pressures of evolution. As designers of languages, adoption rates provide us with scientific data, but the belief that elegant designs are better is a matter of faith…

This is a wondeful talk by Phillip Wadler from the University of Edinburgh, he’s one of the individuals responsible for getting Generics into Java 5, and has worked on Haskell and very heavily on the development of functional programming languages throughout his career.

It’s suprising how well the evolution vs faith analogy applies to the way in which we, as developers, often adopt programming languages. For some reason the talk made me remember the old Java vs .NET arguments which were less about rationale differences in the semantics and philosophy of the programming language and more about which camp you belonged to and your unswerving faith and loyalty to it. In fact thats a poignant example of when multiculturalism went out of the window and fundementalism was very much in fashion.

The talk also provides a fair amount of history around some of the issues that polorised language designers, static vs dynamic typing, for example. I found this provided some wonderful background that I was never aware of.

If your interested in Programming Languages, their adoption and their evolution over time then this is a fascinating, and unique, talk that you should really watch.