In part five of my series on software craftsmanship I look at the definition of software craftsmanship presented in the book by Hoover and Oshineye (2009). Their definition is wrapped around the concepts of community and values. Nice embracing terms but what does that mean for software craftsmen?
Continue reading
Author Archives: Steven Thomas
New Agile Teams and the Overcommitment Bear Trap
The most common problem I’ve seen with software development teams is over commitment. Invariably individuals and teams are overly optimistic about what can be done in a certain time period. There are any number of reasons for this including arbitrary management deadlines and the team not pushing back, the developers desire to please, and just the fact that estimating in software development is hard.
Agile development teams are just as prone to this problem as any others. Every team I have helped transition to Agile has stepped into this bear trap almost immediately. And forewarning them doesn’t help. I now see stumbling into the trap as a valuable lesson and an essential step in the process of getting more mature about software development. I don’t mean maturity in the sense of the SEI’s Capability Maturity Model, I mean maturity in the sense of growing up, being realistic and accepting the limitations in themselves, their team and the organisation.
The difference about Agile, compared to traditional approaches to software development, is that Agile offers techniques to avoid the over commitment bear trap.
Continue reading
Software Craftsmanship is skilled software development in small scale production
In this, the fourth post in my series on software craftsmanship, I interpret Wikipedia: Craft in the context of software development. I’m doing this because Ade Oshineye: Software Craftsmanship – More than just a manifesto
recommended the wikipedia definition of craft although Ade generally avoids dictionary style definitions for software craftsmanship (Hoover and Oshineye, 2009).
Continue reading
A Lean-Agile Perspective at the Project Research Institute
I was recently asked to write a series of blog posts for the Project Research Institute of Athabascau University in Canada. The institute wanted to expose their audience, mainstream project managers, to an Agile perspective. I relished the opportunity and readily agreed.
My aim with my PMI series is to show how the principles and practices of Lean-Agile Software Development offer creative solutions to general project challenges such as governance, uncertainty and complexity, under estimation and empowerment. My first post for the institute tackles this head on and I argue that Lean-Agile relevant to all project managers” simply because Lean-Agile offers a new slant on these problems. I am not advocating the wholesale adoption of Agile by all project managers. Merely to offer up a different perspective to that of main stream project management. Armed with this perspective project managers from other domains may be better placed to face their own challenges.
The first couple of posts have already been published and the rest of the series will appear over the next couple of months. If you want to follow the series on the PIR site then have a look at my blog at Athabascau. Otherwise I’ll also post updates here.
Software Craftsmanship is not writing crap
In the third post in my series on software craftsmanship I’m having at look at Bob Martin’s call to arms to software craftsmen to not write crap.
Continue reading
Agile Infrastructure
A senior manager in the operations area of my organisation recently commented:
There is no such thing as agile infrastructure
That got me thinking. I can imagine that adopting an agile approach to infrastructure might be inappropriate in certain circumstances, for example military or medical domains.
On the other hand my current programme needed a completely new infrastructure stack and I found a considerable amount of agility was possible through that exercise. To my way of (probably simplistic) thinking any changes needed from the infrastructure are to provide either more capability or faster capability. With that in mind I’ve found it is possible to architect for agility and deliver the infrastructure in an incremental and iterative manner.
Continue reading
Software Craftsmanship is not Software Engineering
In part two of my series on software craftsmanship I take a look at how Peter McBreen, in his book entitled Software Craftsmanship (McBreen, 2001), sets up software craftsmanship in opposition to software engineering. Actually he does say that "Software craftsmanship is not the opposite of software engineering or computer science. Rather, craftsmanship is a different tradition that happily coexists" (p. xvi). But the rest of the book undermines any claimed coexistence.
Continue reading
Management on the Ground
You have to keep your feet on the ground when others want to put you on a pedestal. After a while on a pedestal, you stop hearing the truth. It’s filtered by the henchmen, and they read you so well, they know what you want to hear. You end up as the queen bee in the hive, with no relationship with the worker bees.
Bill Burns, CEO of Roche Pharmaceuticals
quoted in Goffee & Jones (2006), p. 43
One of my project managers recently mentioned that, despite being a programme manager, my own management style is quite "hands-on". In the sense of being on the ground with my team rather than in the technical sense although the two often come together. This approach has held me in good stead over the years.
Others, like Bill Burns quoted above, have realised dangers of being distant from the people doing the work and the corresponding benefits of being on the ground. I thought I’d take a quick look at some of these previous advocates of being on the ground:
- Military Commanders on the ground
- Management by Walking Around (MBWA)
- Toyota, Lean and Genchi Genbutsu
I’ll wrap up by having a quick look at the Agile practices that help me be on the ground.
Continue reading
Is Software Craftsmanship some code-obsessed mishmash of martial arts and carpentry?
Software Craftsmanship is some code-obsessed mishmash of martial arts and carpentry or plumbing
Ade Oshineye: Software Craftsmanship – More than just a manifesto
"Software Craftsmanship" is one of the big catch phrases in the software development community at the moment. There is an Manifesto for Software Craftsmanship, a few books (Hoover & Oshineye, 2009; Hunt & Thomas, 1999; Martin, 2008; McBreen, 2001), conferences and seminars, and lots of blog posts.
But what does software craftsmanship actually mean?
Continue reading
Agile: I Prefer Hype to Ignorance
The good news is that Agile has crossed the chasm (Moore, 1991). On the down side there has been, and is, a lot of hype and hyperbole around Agile, Lean, Scrum, XP and Kanban, etc, etc. In particular, and despite the Agile Manifesto, the meaning of the term "Agile" has become very diffuse. So much so that there are many people, like a colleague of mine and one time Agile fan, who now says "I don’t talk about ‘Agile’ any more; it doesn’t mean anything".
I find the hype annoying, and Agile’s loss of meaning exasperating, but I also think it an inevitable part of progress.
Continue reading