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

Wednesday, May 18, 2011

Agile is about customer delight

Today on twitter I got into an interesting conversation with
@jeffpatton. The discussion was about whether Agile, as a family of methodologies and a value system is (or isn't) directed at customer delight.

@JeffPatton's point was that it is not. Here's one of his replies to me on this subject:


Later on during the day I had a face to face conversation with @mvonweiss and tried to crystalize in my mind why I disagreed with @jeffpatton. And the point is this: I believe that one of the core values in Agile is exactly about customer delight.The third value of Agile reads that Customer Collaboration is a preferred way to work in a software project. That customer collaboration is there for a reason.



The idea is that only through dialogue with the customer can we understand their needs. That is achieved by having close and continuous dialogue with the customer and through the delivery of software early and often (see principles 1, 3 and 4, for example). This continuous delivery of a working product builds the feedback loops we need. These feedback loops are directed specifically at providing an opportunity for the customer to interface with the team and help us understand what needs to be changed in order to provide, you guessed it: Customer Delight!

Real customer involvement patterns


Of course, there are many different types of projects that we work on. Custom software, Integration projects, shrink wrapped software, web-sites, etc. All of these projects have different "distances" to the customer (see figure below). But those distances can be bridged with many techniques so that the Agile values and principles are still applied and we can still get feedback early and often.



I've worked on many projects of the shrink-wrapped kind where we have teams working in an organization away from the customers (consumers). In these cases, interacting with "all" customers is impossible. But we already have many techniques that help us understand our customers better even when we can't be in direct contact! For example: customer surveys, usability testing, requirement exploration techniques, user persona development, etc.

Some people in the Agile community have been pushing us to consider these methods, David Hussman (@davidhussman) is but one example, but there are many more (including @jeffpatton, of course).

If @jeffpatton's point is to emphasize the need to consider the customer more fully in Agile projects, then I am in total agreement. But one thing is for sure, Agile methods are much more directed at Customer Delight than many of the other methods available today.

Labels: , , , , , ,

at 14:28 | 2 comments links to this post
RSS link

Bookmark and Share

Monday, May 16, 2011

You cannot transition to Agile. Stop and just embrace it!



I am writing this blog post to explore a concept. So bear with me, I'll probably ask more questions than I'll answer.

Why do most Agile fail in our companies (or government organizations for that matter)? My view is that we cannot actually transition from a command and control management paradigm to Agile / Complex management paradigm. The reasons are not fully clear to me, but I believe that it has something to do with the fact that we actually (typically) try to use a pre-determined way to make those transitions happen.

Case in point: When we try to move from Waterfall software development to Agile software development, we will typically draw a plan up for the transition with "steps" or "phases". Those "phases" or "steps" will typically be "stable points" in the evolution of our system (the company or organization). However, the Agile / Complex management paradigm assumes, at its core that software work is complex, therefore there is no predictable causality. The consequence of this is that the "steps" or "phases" in between the command and control paradigm and the Agile paradigm cannot themselves be "stable" in the sense that predictability can be recognized.

By following the argument above I'd state that: transitions fail because we try to move from a command and control paradigm to an Agile / Complex paradigm by applying command and control models. It is impossible to 'move orderly to a complex environment'.

What does it mean in practice for us? Well, for starters we cannot "plan" the transition in the same way we tried to plan our waterfall projects in the past. We can, and should have a goal or an idea of where we want to be. But after that we must embrace the new paradigm, or "Adopt the new Philosophy" as Deming put it. There are no intermediate steps between the "old command and control mindset" and the new "complex / agile mindset".

As this is an idea I'm still developing, I'll probably return to this subject and write some more, but in the meanwhile: what do you think? Does this make sense? What did you get from the above?

Photo credit: Marc Soller @ flickr

Labels: , , , , , , , ,

at 13:44 | 4 comments links to this post
RSS link

Bookmark and Share

Friday, May 13, 2011

Kicking up dust for the Agile Finland 2011-2012 season



A big moment for the Agile Finland community is approaching. On May 25th we’ll get together and select the new Agile Finland Board for the 2011-2012 season.

There are many reasons why it is a big moment. In my opinion it is a big point in our history as a community. Agile Finland was started when Agile was still the ghetto, now Agile is not only out of the ghetto, but it is becoming the dominant software development approach in Finland. Sure, many companies are still going old-skool with their software projects, massively outsourcing the testing function or trying to get huge changes in before releasing a single version, etc. But Agile Software Development is, unmistakably the dominant approach in software development in Finland today.

This leads to an important point for our community. We started Agile Finland as a way to spread knowledge of Agile and support the learning journey that we’ve all been through since 2000. That phase is over. Although we do need to continue to support the spreading of the knowledge about Agile to other communities (like in this example), I feel that this does not need to be our main focus anymore. So I’d like to propose a new focus, a new phase for our growing community.

Concrete proposals for the next Agile Finland Board season



I propose that the next Agile Finland board should focus on helping the community share, expand and develop new knowledge in the field of Software Development and Product Development with focus on some key areas of practice. For this I propose the following structure in the Agile Finland activities for the next year:


  • Agile Finland must define what areas of focus it will have (see suggestion below) and arrange specific activities that emphasize those areas of focus. For that I propose the following areas:
  • Programming and testing in an Agile Software Development environment. This area of focus would cover the technical development of our community in programming and testing tasks. The Software Craftsmanship movement is a good source of inspiration for the content to be shared and developed in this area, but we also need to create an atmosphere of cooperation and sharing with the excellent testing professionals we have in Finland and in the AF community. The technical area of focus is an area where there is clearly a need for a better offering in our community, and Agile Finland has the network and expertise to start that work.
  • Project Management in an Agile Software Development environment. This area of focus would cover the Project concept, it’s applicability to different types of work and product development environments. We know that the traditional Project Management is not compatible with many Software Development environments, but we need to explore alternatives, share and expand our knowledge on what has worked in the past as well as the experiments that are going on right now. In this area of focus, I believe we must build a bridge with the already active Project Management communities(PMI, PRY). We have a lot to learn from each other.
  • Leadership and Management. This area of focus was already in the activities started during last year (see ACLA), but we need to continue to develop those activities. Many of the challenges we face today are because the traditional leadership and management models have failed in the era of knowledge work (like software and other areas). We need to share what is being tested in the world, bring in some world-class thought leaders in this area to enlarge the pool of knowledge for managers and leaders in our local community.

Conclusion


By focusing on these three areas (Programming and Testing, Project Management, Leadership and Management) I am suggesting that Agile Finland should also focus on specific activities for it’s major interest groups. It is not enough to arrange one to three generic networking events during the year, we need to start taking concrete actions for the development of our community. I hope that this post contributes to a discussion around how we could do that.


Photo credit: Patrick Keogh @ flickr

Labels: , , , , ,

at 20:41 | 0 comments links to this post
RSS link

Bookmark and Share

 
(c) All rights reserved