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
Tag Archives: execution
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
Side Bets and Sweeties in Organisational Change
People don’t resist organizational change! – People resist being changed!
My current programme is using new, bespoke software to drive organisational change. So I need people to change what they’re doing. A lot of people. As a first step I need them to adopt our new software. So I am always looking for ways to push the software roll out. In an earlier post I described one approach we use for encouraging adoption: Foot in the Door Technique. In this post I look at two other methods – which we call "Side bets" and "Sweeties".
Continue reading
Reinforcing Success in Products and Projects
A fundamental military axiom is to reinforce success.
Reinforcing success is a strategic concept used in many areas of decision making and management. Originally a military doctrine, the term is also used in theories related to parenting, business and other fields. It is essentially a selection criterion, or a prioritizing principle. A course of action is selected from various options on the basis of previous results of similar actions. The basic idea is: if it works, keep doing it; if it doesn’t, don’t invest more in something that’s failing.
Wikipedia: Reinforcing Success
I believe businesses should apply this principle to projects, products and product features. So not surprisingly I apply this as a guiding principle in my own work.
Continue reading
Foot in the Door Technique
My four year old daughter is an master social psychologist, or just a natural manipulator. Here’s an example:
Daughter: Can I go over to Lilia’s house to play?
Dad: Sure
… some time latter …
Daughter: Can I stay for a sleep over?
Dad: Um, I guess so.
My daughter doesn’t know it but she is using what social psychologists call the "foot-in-the-door" technique (Brehm & Kassin, 1993). The same technique is applicable when rolling out new software.
Continue reading
Agile Quality Management
Quality Management, in a project context, is concerned with having the right processes to ensure both quality product and a quality project. This article describes Traditional Quality Management, Agile versus Traditional Quality Management, Agile Product Quality, Agile Project Quality, Agile Product Quality, Agile Quality Assurance and Control, and Agile Quality Improvement.
Continue reading
Agile Project Execution
Executing is one of the five project management process groups in the Project Management Body of Knowledge (PMBOK) from the Project Management Institute (2004).
Project Execution is where you build the project deliverables and hand them over to your customer, i.e. where you build and deliver the software. This is where most of the project effort is invested. Agile Project Planning says what you intend to do, when, and Agile Monitoring & Control helps you stay on track but Agile Project Execution is where you do the business.
Continue reading
Agile Roles and Responsibilities
Each of the Agile methods includes defined roles. Some have more, some have, less. DSDM is the only one of the methods that makes a big deal of making role responsibilities explicit but I think this is important. To work effectively as a team people need to know what their role is and the roles of their peers. I have often had to coach teams on the demarcation between key roles on the team – typically the leadership roles, i.e. project owner, agile product manager. and technical lead.
Continue reading
Agile Project Management
Traditional project managers are often uncomfortable with the apparently unstructured nature of agile software development. This article gives a definition of project management, and then goes on to cover traditional project management, why software development is different, how agile project management is different, and the role of an agile project manager.
Definition of Project Management
According to Wikipedia: Project Management
Project Management is the discipline of planning, organizing, and managing resources to bring about the successful completion of specific project goals and objectives.
Unlike operational activities, which are on-going, a project is finite with a beginning and end. Each project is trying to achieve a clear objective and bring about change. Not surprisingly in the software development world that typically means building software. Project management has to balance scope, quality, time and budget to achieve the given objective.
Continue reading