AgileTour Dublin 2014 – Program Announced!

AgileInnovation is co-sponsoring the Free AgileTour Dublin conference again this year. We’re planning a full day event with 2 parallel tracks covering expert presentations, experience reports from organisations using agile, and tutorials. Registration is being kindly organised by Frederic Oehl and is now open with spaces limited to 100 attendees (€20 registration fee)

  • Up to 8 organizations discussing their experiences with agile methods, including Scrum and Kanban. Issues they’ve encountered applying the theory to the real world, benefits and drawbacks of agile and things they would do differently if they could turn back the clock.
  • Presentations covering Testing in an agile team, an introduction to agile, tips and tricks for using Kanban and how to develop a continuous improvement culture.
  • And plenty of opportunities for networking and learning about agile from your peers – all for just €20!

Full Conference ProgramRegistration Link

Advanced Product Owner, Kanban and ScrumMaster Certification courses scheduled for September 2014

We’ve just scheduled these really popular courses for September – given the quality of our trainer we expect them to book up rapidly!

Advanced Product Owner (2 days) 16/17 Sept: For organizations already using agile, the PO role can be the hardest to get right. This course is for practitioners who want to deepen and scale their agile implementations – a full course description is available here.

ScrumMaster Certification (2 days) 25/26 Sept: With this course you get a really great foundation in agile and scrum, and a certification to prove it. This is our most popular course, with loads of interactive exercises and a full scrum simulation which is not only fun, but a great way to see how it really works. Details here.

Getting Lean with Kanban (2 days) 10/11 Sept TBC: A comprehensive introduction to the application of Lean principles to IT development and operations, using the Kanban method to drive continuous improvement and create efficient, productive flow in your IT organization. Details here.

 

Agile for Architects

Concepts underlying emergent architecture and design – an Agile Architecture Masterclass, Dublin June 13th
On June 13th, the Irish Computer Society are hosting an IT Architects Conference in Dublin. AgileInnovation will be presenting a MasterClass on Agile, focusing on Agile principles of specific interest to architects such as emergent design, refactoring and incremental, modular feature delivery. We’ll discuss how architecture fits with the iterative development at the core of agile and how agile can help in the design of high quality, loosely-coupled applications. For details and to register see the IASA website.

EuroStar: Preventing Defects over Finding Failures

Colm O’hEocha, AgileInnovation, will run half-day tutorial on the Testers role in Agile projects at Eurostar November 25th 2014 in Dublin.
Eurostar (the conference, not the cross channel train!) is Europe’s biggest and best gathering for software testers. This year its coming to Dublin for the first time – 4 days of tutorials, workshops, presentations and networking in the Convention Center in the heart of the docklands. AgileInnovation will be presenting a half-day tutorial titled ‘Preventing Defects over Finding Failures’ (now SOLD OUT). Through presentation, exercises and peer discussions, we’ll be exploring the role of the tester in agile environments. See a more detailed description on the Eurostar website.

User Story Abuse!

The User Story has become a de-facto standard tool in Agile software tools, or what the Scrum Alliance calls a GASP – Generally Accepted Scrum Practice. The ‘Story’ originated in eXtreme Programming with the idea that a good way of describing what an application should do would be to tell stories about how and why its used. Then someone (Alistair Cockburn) had the idea of telling these stories from the users perspective, hence they are now known as ‘User Stories’.

But its important to understand the role of User Stories – and the fact that they are NOT an agile tool for specifying requirements or system functions. They are NOT, on their own, the way to capture requirements. The phrase ‘on their own’ is important here – User Stories are only a starting point for a conversation about and the design of a feature. Its not as if you can just hand a bunch of User Stories to a programmer and expect them to code it up.

Ron Jeffries uses the 3Cs to describe how User Stories are used:

  • Card – the card the user story is written on – one or two sentences capturing the essence of the functionality the system should offer. The format used for this has become standardized over the years with many people using the form ‘As a <role> I want to <action> so that <result>’. Ideally, the User Story should present the user or role we’re talking about, the action or functionality they’ll invoke, and the benefit or result they want to achieve.
  • Conversation – The User Story isn’t enough to specify the feature – it just kicks off the conversation between the technical and business folks where we explore the problem and possible solutions. This is where the simplicity and ambiguity of the User Story forces people with different perspectives to collaborate and to innovate. From this conversation, a clear, common understanding of what needs to be done should emerge – this is the point at which I urge teams to document, as lightweight UI wireframes, logic flow diagrams, decision rules, etc how the feature should work. Note that this documentation is happening AFTER the collaboration – it represents the output of the joint design of the solution and enables the learning from the conversation to be shared among a wider group of people – now and into the future.
  • Confirmation – the third C is really the codification of the learning and joint design as a set of acceptance criteria – these effectively represent the requirements for the solution – if we develop functionality that satisfies these criteria then we have successfully implemented the feature. These criteria are usually the starting point for developing Acceptance Tests for the feature (that is not to say the testers only get involved in the User Story at this point – they should be involved in, or even leading, this whole process in going from Card to Conversation to Confirmation).

So its really the output of this process – the Acceptance Criteria, that represent the requirement specification, not the User Story that started the process off.

User Stories represent an example of the Lean principle of ‘Late Elaboration’ – but they also drive collaboration and innovation. They are also really useful for a Product Owner to engage a development team early, to build incremental requirements, to prioritize, defer and de-scope easily. I’ll address these aspects another time.

So how are User Stories abused? How about these gems I’ve come across:

  • ‘As a developer I want to call the CFG_ADM API so that I can set/get compression configuration values’,
  • ‘As a retail customer I want to click the ‘Add More’ button so my basket displays in a pop-up window’,
  • ‘As a UI designer I want to check the order interface for CSS compliance so it works with supported browsers’

These are not stories about users, and the benefits they are looking for from the feature. They are technical tasks, or bits of specifications of how the system should do something (e.g. ‘pop-up’). They don’t describe things that could be easily prioritized by the Product Owner. But most importantly they are not an invitation to a conversation between technical and business people – they are the output of a design process, not an input.

Finally, while user stories are a useful tool in many situations, driving collaboration around business and customer valued features, they don’t every situation. There may still be a need for technical tasks on the Product Backlog, and some system functions may be invoked not by ‘flesh and blood’ users, by by system events, or external system calls. There is little point in using the User Story format for these – horses for courses!

Which ScrumMaster certification should you go for – PSM vs. CSM?

There are now two major* ScrumMaster certifications available. I’m often asked which is ‘better’ – so I decided to do a comprehensive trawl and summarize my findings here.

Firstly, I should state that I am a Professional ScrumMaster (PSM), and offer training courses for PSM – so with that in mind….

Certified ScrumMaster (CSM) from ScrumAlliance has been on the go for 14 years, since 2002. For its first 10 years there was no exam/assessment – once you attended a two day CSM course, whether you slept in the corner of the classroom or paid close attention, you graduated a ScrumMaster. It has always been expensive to attend CSM training, because there are a carefully limited number of trainers, and its very difficult and expensive to become a CSM trainer – you need to be ‘nominated’ by 5 existing trainers, pay $10K to register, etc. As a result, there are no trainers in Ireland, and the daily trainer fees charged are very high.

In 2010 the guys who created Scrum and founded ScrumAlliance left and set up an alternative body, scrum.org. Through scrum.org they offered a 60 minute online ScrumMaster assessment (85% to pass). Although they also offered ScrumMaster training, you didn’t have to attend one of their courses to qualify for the exam. This opened up the field to all training companies, thereby driving down costs. It also introduced a much more credible certification because to become a PSM you had to pass a rigorous exam. This didn’t reflect well on the ScrumAlliance certification, so they introduced an exam in 2012 – however their assessment is pretty half-hearted, allowing candidates up to 90 days (sic) to answer 25 of 36 multiple choice questions correctly (68%). And you still had to attend one of their expensive courses…

So although CSM has been 3 times as long in the market, PSM is rapidly gaining ground with about 60,000 PSMs globally today. Its a much more rigorous assessment, much cheaper to get, and is backed by Scrums creators, Jeff Sutherland and Ken Schwaber.

Here is a comparison table with more detail:

Certified Scrum Master / CSM  Professional Scrum Master / PSM Level 1
Attainment ✗ By attendance ✔ By assessment
Learning Materials ✗ Course outline only ✔ Free downloadable guide
Training Cost ✗ Typically €995-€1195 ✔ Typically €700-€900
Must Attend Approved Training ✗ Yes ✔ No
Training Materials ✗ Vary by instructor ✔ Standardized
Assessment ✗ superficial: 35 questions, 68% pass mark, 90 day time limit, as many sittings as you like ✔ Comprehensive: 80 questions, 85% pass mark, 60 min time limit, one sitting
Feedback ✗ Incorrect Answers are highlighted and can be resubmitted after further research. Answers to all questions (correct and incorrect) are shown after passing ✔ Only feedback is your assessment mark – there is no feedback on which questions you got correct, or what the right answers were.
 Advanced Certification Available ✗ No ✔ Yes: you can progress to the much more difficult PSM Level 2 exam for experienced ScrumMasters
Certificate Renewal ✗ Every 2 years ($150) ✔ Not required
Certificates Issued (Mar 2014) 230,000 60,000

* I haven’t considered more niche certifications such as BCS

Software Development is NOT about writing code – it’s about creating KNOWLEDGE

Out-Learn the Competition‘ is a phrase familiar to many product design and development folks – it nicely captures the idea that when we are creating software systems, our focus should be on uncovering and generating knowledge about the problem and the solution – not just writing code. In this view of software development, everything we do should focus on creating knowledge as early, as cheaply and as fast as possible. The software then becomes just a manifestation of that knowledge.

This is a pretty radical departure from the more mainstream view that systems development is about programming, testing and deploying. But its an idea underlying all agile frameworks and methodologies – in fact it is the foundation of any empirical process. Using approaches like Scrum, XP and Kanban, we constantly look for opportunities to inspect what we’ve done, learn from that and then decide what we should do next. We try to deliver working, valuable software as early as possible to begin this feedback mechanism. For example, we demo our earliest working features to customers to see how valuable they are to them, how they use them, and what we should build next.

At a meeting with a group of Lean practitioners last week, it struck me again that the common view that Lean is about increasing productivity and cutting costs simply doesn’t apply to software development. We are not trying to churn out more lines of code per person or more features per hour. In fact we would like to produce the least amount of code possible (code is expensive to write, test, support, enhance, etc). What we are trying to do is generate as much knowledge as possible so we can understand and solve the business problem with the least amount of code.

With this view in mind – we could say applying Lean to Software Development is about increasing our productivity in generating KNOWLEDGE, but not about increasing our productivity in generating CODE. This basic fact lies behind the difference between plan-driven, waterfall approaches and agile, empirical methods. It’s also why transferring Lean practices from the manufacturing and repeatable services world to software development can do the opposite of what was intended – kill value, create waste, drive out innovation.

Don’t get me wrong! The principles and values of Lean still apply to software development. For example, ‘Respect for People’ is probably even more important when you need them to create innovative products than when you want them to create widgets on a production line. But how we translate those principles to practices and tools is very different. To use a metaphor, product development, including software, is about creating recipes, manufacturing is  about baking cakes.

UPCOMING PUBLIC TRAINING: ScrumMaster certification and Agile Testing

ScrumMaster Certification Dublin 26/27 Feb 2014. This is a great all round introduction to agile with a specific focus on Scrum. Its essential for any budding ScrumMasters and thoroughly prepares you for the on-line certification exam so you can get your new skill recognized. Cost is a very competitive €800pp with group discounts available (excludes online exam fee of $100).

Effective Agile Testing Dublin 6/7th Mar 2014. Essential training for professional testers and QA working on agile teams. The course includes a comprehensive introduction to agile and Scrum followed by a deep dive into what this means for testing, the changing and expanded role of testers in an agile environment and specific tools and techniques to help ensure your success.  Cost is a very competitive €800pp with group discounts available.

If you’re interested in either of these courses get in touch at training@agileinnovation.ie

Some customer comments on our recent training sessions…

Its always good to get positive feedback – here are some recent comments from attendees at our training sessions:

“the course was excellent, really informative, enjoyable and expertly delivered” – Professional ScrumMaster, Cork, Nov 2013

“Thanks for a great course last week.  I think we all really enjoyed it and got a lot out of it” – Getting Lean with Kanban in IT, Dublin, Jan 2014

What was good about the course? “Everything. The whole lot!” Professional ScrumMaster, Dublin, Jan 2014