News‎ > ‎

Nick McKenna disputes the existence of Agile and Craig Norton live codes in AngularJS

posted 29 Jun 2014, 14:30 by Neil McLaughlin   [ updated 3 Dec 2014, 02:46 by Royd Brayshay ]
"There is no Agile"? A bold statement to make to a group that meets under the name of Agile Yorkshire. Nick McKenna was the main speaker at this month's meetup, sharing with us some of his experiences as a Scrum Coach/Master/Professional. "There is no Agile" becomes an even bolder statement when it is being made by someone whose career is so obviously entrenched in the stuff. The point being made was that the label of 'Agile' does not necessarily mean an organization, project or even person is going to demonstrate the qualities one might expect of something 'Agile'. Nick told us that he had met plenty of Agile teams that don't question why something is done beyond saying 'because that's what we do in DSDM/Scrum...'. Perhaps a 'by the book' style is not right for every team, Nick pondered, showing us of some Agile tools he'd invented for himself which just happened to revolve around delicious, rewarding cups of coffee.

Focusing on Scrum in particular, Nick questions the value of sprints. The fact that a team may only evaluate their productivity once every couple weeks can be very limiting and result in sizeable chunks of work that gets scrapped, which in turn could lead to an unhappy team -- another thing Nick has been saddened to see. To combat team malaise, Nick recommends TINYpulse, a system for collecting anonymous feedback on the mood of a team via short, snappy surveys.

As a long term observation, Nick has also noticed that the velocity of Agile teams is generally on a downward trend. Another side-effect of time-boxed work, perhaps? An Agile regime can be relentless and draining, with few diversions and little opportunity to branch out and be creative. Nick's cure? Football stickers. Or whatever works for your team, but Nick reckons that a successful Agile team takes time out from work to celebrate their successes as well as regularly considering their shortcomings.

This month's support speaker was Craig Norton who gave us an introduction to Angular JS, an MV* framework used for building single page applications (SPAs). His half hour coding demo saw the construction of a 'ToDo' application based on the Angular-Seed project. A complaint often made about JavaScript projects in relation to their codebases is a lack of structure, with code that is difficult to read and difficult to maintain. Craig gave us a tour of some of the constructs Angular presents that are designed to add some of this desirable code structure. One such construct is a 'directive', which allows particular behaviours to be applied to a given DOM element. Whilst the behaviour of making the elements of your web page repeatedly appear and disappear (as jokingly shown by Craig) may not be the most useful application of this, it was a powerful demonstration of the speed with which one can develop a reusable function of this sort in Angular, and how cleanly it fits into the page markup, with its intention clear to developers and designers alike.

The concept of dependency injection pervades the framework's structure, which was designed with testability in mind. Craig showed us how he could run Jasmine tests against different components of his Angular application through Karma, the JavaScript test runner, which is a setup that comes as part of the Angular-Seed project itself. The decoupled nature of the different components of an Angular application that makes them so testable also eases the parallelisation of development work, which is a clear draw for bigger JavaScript projects.

So, maintainable, readable, testable code -- what's not to like? Well, as Craig points out, the latest version of Angular only works in IE9 onwards and of course, being a JavaScript framework, you definitely need your end user's browser to be able to run JavaScript for any of this to work. Not showstoppers for a lot of projects but certainly worth remembering.

Write-up by Eleanor Chambers

The evening ended with the monthly prize draw and drinks in the Midnight Bell. Thanks to all our volunteer team who make the event happen and finally thanks to main sponsors iSource IT, Piksel, Callcredit and NewRedo and to our prize sponsors O'Reilly, JetBRAINS, Manning, Wrox and PluralSight.

See you in July
The Agile Yorkshire Team