Featured Post

Quality Is A Path To Agility – (FrAgile)

When first introducing scrum into the workplace some time ago, many people had strong views on what agility meant and certainly had some strong opinions on how Scrum should be implemented. Some of these views created divides between teams, people and processes. After quite some time re-factoring processes,...

Read More

Questioning the value of existing processes

Posted by Craig Strong | Posted in Development Practices, Miscellaneous, Scrum / Agile, Software Development | Posted on 28-12-2011

0

I recently wrote a short article on AgileScout.com focusing on questioning our existing habits and practices. In my opinion it’s easy to miss poor working routine and processes. Its important that people don’t stop questioning why certain processes or procedures are in place. Just by questioning some of these habits and processes could save time and improve value and is in the direct control of most people undertaking the tasks. I feel we should always question why we are doing something to make sure we should still be doing it. Have a read and see what you think : http://agilescout.com/teams-over-processes-dont-be-insane/

Day 2 Scrum Gathering London

Posted by Craig Strong | Posted in Miscellaneous | Posted on 18-10-2011

1

Following another briefing from Nigel and Carol, we reflected on the previous day and the structure to the day ahead. There was some very minor changes to the schedule and all was in order. Onto day 2…

Day 2 – Keynote : Making the Entire Organisation Agile

Speaker : Steve Denning @stevedenning

10 Year Growth/Decline

10 Year Growth/DeclineChange or Die

I was really looking forward to this presentation more than most. Having read some of Steve Denning’s work, I am an enthusiastic and very keen to hear his next word.  He was quite a big name to have at the conference and his depth of knowledge is very well respected world over to say the least. Well he didn’t disappoint. I’m sure that he is a very accomplished and experienced presenter, but what I most of all enjoy is the hard facts and direct approach of the presentation. Quite simply, the world has changed and those who are not on board will die out faster than you think. He touched on the story of “Why Amazon can’t make a Kindle in the USA”, focused on the message that the “customer is the new boss”,  and presented concerning hard facts about the rise and decline of some of the worlds biggest companies. Steve presented an alarming, but reenforced statement that by 2020 more than half the fortune companies will be new companies.

Finishing the presentation early gave room for some interesting questions from the floor. Some interesting and fun discussions enlightened the listeners and gave lots of food for thought. One thing in particular that stood out for me was the ability of change. Reenforced with references to the text “Change or Die”, most people chose to die over change. With a few discussions emerging around this fact, it was disturbing and at the same time reassuring to know that some people cannot be changed. In fact even faced with certain death whether it be personal or business, research indicated that the majority would choose their own demise. Therefore sometimes for companies to survive, sometimes its required that the very people at the top need to be removed or replaced. An interesting fact which I’m sure takes a lot of peoples energy and effort when trying to help protect businesses.

Overall a great presentation as expected, from another truly inspirational leader. It may also be worth mentioning that all attendees received a complimentary of Steve Denning’s book “The Leaders Guide to Radical Management”, which was previously on my wish list.

Day 2 – Session 2 : Don’t Start With Kanban!

Speaker : Marcin Czenko and Josef Bacher

Don't Start With KanBan

Don't Start With KanBan

With quite a controversial title I thought this would be an interesting session to attend. Often when you have sessions with controversial headlines such as these, they can be quite informative as they tackle problems with strong arguments and fact. Having previously attended a session “Using Kanban to Prepare a Scrum Project”, this could have provided a counter balance.

The presentation was well introduced and we were quickly split into teams with the task of making paper aeroplanes. Regardless of your age or background, making paper aeroplanes is always fun. The exercise clearly demonstrated some of the problems with Kanban being applied from direct waterfall environments and most people enjoyed it.

After the exercise was complete, unlike some of the other sessions there was quite controversial and to some degree heated debates. I personally think some information was lost in translation as some people were arguing the same points. The message which I think was trying to be stated was that Kanban applied incorrectly can counter some of the benefits of Agile. In some cases it could be used as a mini waterfall and miss the Agile benefits completely, whilst on the contrary when fitted on top of or with Scrum it could be mislead or misrepresented.Nonetheless the discussion was interesting and demonstrated some of the pitfalls when jumping into methodologies such as Kanban. It certainly wasn’t the smoothest session at the conference, but I enjoyed it all the same.

Day 2 – Session 3 : Using Scrum,Kanban and Open Space to Transform The World Of Instructional Design

Speaker : Jasmina Nikolic @jazilla

My experience with Instructional Design was limited so I thought this session was going to provide me with a good overview. This was a difficult session to choose as there were so many other interesting topics going on at the same time. With that being the case only about half a dozen people turned up, but this meant on the upside we had a very engaging and intimate session.

Although I didn’t really gain much knowledge on Instructional Design, the success story of applying Agile by Jasmina was a very enlightening. The challenge that she faced and the accomplishments made using Agile through leading academic institutions across the EU amazed me to say the least. It was also interesting to hear what was used, what worked and what didn’t work as well as some of the tools in place. This was very much an Agile war story with a light at the end of the tunnel. Not only was it interesting to see the actual working Kanban boards, on leankitkanban.com but it was exciting to see how Open Space become part of and integral to what I would call product design. Considering the barriers in place, the size of the task and other limitations, this was quite a story and I was glad to have heard it so passionately from the person on the front line.

Day 2 – Session 4 : Kaizen or Kaikaku – two approaches to improvement

Speaker : Arne Ahlander @ArneAhl

Kaizen

Kaizen, Kaikaku & Hansei

Continuous improvement is an expectation and at the same time a challenge for organisations and teams. Often in Lean environments Kaizen and Kaikaku are heard. I wanted to attend this session to find out more about these methods of change.

On entering the room Arne made a point of introducing himself personally to those in the session which was a great way to settle everyone. He then went onto a very well presented slide show with interactive discussions on Kaizen, Kaikaku and Hansei. Originating from Japanese cultures these were well described. For instance the emphasis on Hansei one should regret mistakes and promise not to make the mistake again.

Being an interactive session, lots of other elements emerged such as “Double Loop Learning” as well as some of the ways and approaches companies should and shouldn’t manage change. We discussed and were presented with the need to value making mistakes in order to learn and build as well as other facets such as why diversity is essential.

Following this Arne got us moving around the room and introduced us to some very motivating and thought provoking games demonstrating some of the issues discussed. I thoroughly enjoyed this session and was pleased I chose it.

Day 1 >>

Giving Power To The People Who Make The Changes

Posted by Craig Strong | Posted in Miscellaneous | Posted on 04-10-2011

0

I recently wrote an article “Power To The People” for Agilescout.com. Businesses miss out on so much productivity value when people are not empowered enough to carry out their tasks. By giving people responsibility, direction and room to innovate against business requirements, innovative solutions and increased production values can be obtained. Have a read and see what you think.

A Programmers Reading List

Posted by Craig Strong | Posted in Books, Miscellaneous, Software Development, Software Reviews, Useful Links | Posted on 15-07-2011

4

Recently I got talking to an old friend ad the topic of good programmer books surfaced. This got me thinking, what books have made a difference to me and what books would I recommend to others. Obviously computing is a vast topic and in the past few years my main focus has been on development teams, production environments and software from a businesses perspective. However as a developer there are few select books that have stood the test of time, that I think back to and often pick up. These are the books that I feel have added value to me and that I would recommend to others :

1. Design patterns : elements of reusable object-oriented software


Design patterns : elements of reusable object-oriented software This book needs very little introduction. Published in 1994 by who are now knowns as “The Gang Of Four”, this was arguably a revolutionary book to the computer industry. Although some came before it, this was well written text addressing “Design Patterns” and addressing the common structural patterns and obstacles using OOP. Any programmer worth his salt would have read, owned or would have encountered strong reference to this text.

2. Patterns of Enterprise Application Architecture (The Addison-Wesley Signature Series) – Martin Fowler

Patterns of Enterprise Application Architecture Martin Fowler, a living legend in the programming world, wrote another fundamental text for programmers. It breaks down and explains common design patterns and software architectures in a detailed and very informative ways. He explains common structures such as MVC amongst other things. This is the kind of book you own and refer to many times through your career due to it’s clear insight and understanding on the topic.

3. Code Complete: A Practical Handbook of Software Construction – Steve McConnell

Code Complete: A Practical Handbook of Software Construction I was a little late coming to the party on this one so have the above (published 2004) in my collection, not the original publication 1993. However for obvious reasons the latest version would be recommended. This is a really in depth text and is surely considered one of the most useful practical guides to programming. This book is a heavy, but very informative reference for anyone serious about their craft in software engineering. Full of insights from cover to cover. I suspect most people recognise and will recommend this text somewhere along the line.

4. The Mythical Man Month and Other Essays on Software Engineering -
Frederick Brooks

The Mythical Man Month and Other Essays on Software Engineering This is a classic project related computer text which has been referenced extensively over the years. A great read with extensive insight into the workings of the software environment. Not only is this informative, I have to say I found it quite a fun read with very witty examples. Some famous analogies are derived from this text including :

“Brooks illustrates the fallacy of adding workers to speed the work by counterexample: If one woman can produce a baby in nine months, then nine women should be able to produce a baby in one month.”


5. The Pragmatic Programmer: From Journeyman to Master – Andrew Hunt, David Thomas

The Pragmatic Programmer Originally lent to me by a close friend, I was pleasantly surprised to read this book. Really well written with shared experience when working within computer environments and craftsmanship. It was this book that taught me how to cook “Stone Soup”, a recipe that has helped me and others in many difficult situations in getting ideas understood. This book helped me understand and appreciate programming as a craft and a little more n the environment within.

6. Clean Code: A Handbook of Agile Software Craftsmanship – Robert C. Martin

Clean Code: A Handbook of Agile Software Craftsmanship I have to be honest I have not read this book cover to cover. However I have consulted it many times as a reference and when picking it up, it’s difficult to put down. A really good read for anyone who in the working environment. Its inevitable that you’ll come across bad code smells even if your working in coding utopia. This offers practical guidance on how to work as a respected crafstman in such areas.

7. Head First Design Patterns – Eric T Freeman, Elisabeth Robson,Bert Bates, Kathy Sierra

Head First Design Patterns Some of you reading this will probably be wondering why I included this book in amongst the other greats above. I have to say I really took a liking to this book for the reason that it took the somewhat serious and sometimes theoretical subject of design patterns and injected some life into it. The fun, practical approach of these authors really made the subject more enjoyable to read. For anyone who might see design patterns as a heavy read, give this a try. You can even use some of the ideas to have some fun with your peers.

8.Domain-driven Design: Tackling Complexity in the Heart of Software – Eric Evans

Domain-driven Design: Tackling Complexity in the Heart of Software I have spent more time in reference to this book than actually reading linearly. There are many presentations online covering or referring to this text. Eric Evans expresses the need to relate your problem solving abilities with the domain in which your working. The relationship between the domain and the solutions one provides, should be strong with good awareness of your working domain. This will not only help you personally, but drive innovative solutions into the production environment. To put it better :

“This book belongs on the shelf of every thoughtful software developer. –Kent “


Additional Suggestions

Working Effectively with Legacy Code- Robert C Martin

http://www.amazon.co.uk/Working-Effectively-Legacy-Robert-Martin/dp/0131177052/ref=sr_1_1?s=books&ie=UTF8&qid=1310818651&sr=1-1 This book provides programmers with the ability to cost effectively handlecommon legacy code problems without having to go through the hugelyexpensive task of rewriting all existing code. It describes a series of practicalstrategies that developers can employ to bring their existing softwareapplications under control. The author provides useful guidance about how touse these strategies when refactoring or making functional changes to codebases. One of the book’s key points is that it teaches developers to write teststhat can be used to make sure they are not unintentionally changing theapplication as they optimize it. Examples are provided in Java, C++, and Csharp,and the book assumes that the reader has some knowledge of UMLnotation. Strategies using UML and code in C++ and Java primarily whilelanguage independent advice will be delivered in side bars and appendices forlanguage specific users. – Amazon Review

Refactoring: Improving the Design of Existing Code – Martin Fowler, Kent Beck,John Brant,William Opdyke,Don Roberts

Refactoring: Improving the Design of Existing Code Your class library works, but could it be better? Refactoring: Improving the Design of Existing Code shows how refactoring can make object-oriented code simpler and easier to maintain. Today, refactoring requires considerable design know-how, but once tools become available, all programmers should be able to improve their code using refactoring techniques.
Amazon Reference

A full reading list would be quite extensive so this just provides a starting point of the main titles. I have tried to keep them more programming specific than Agile, so maybe I’ll add a second list to this blog in future.

Feel free to offer some feedback or suggest some titles that you think should be added to this list. Books which have influenced you and that you would recommend to others.