Refactoring and technical debt

Importance of refactoring Refactoring and technical debt are important concepts, especially so in agile software development. What are they? Refactoring is modifying the internal structure of code without changing its behaviour. All functional tests should pass with the same results after the code has been refactored. But if it behaves the same, why do we need to do […]

Continue reading

Theory of constraints in Agile

A concept from Management Theory called “theory of constraints” has become popular in Agile and Lean circles. The theory is quite simple, and relates to the constraints or bottlenecks in any process (manufacturing or knowledge work). This article will explain the theory of constraints and how it relates to agile software development, in a micro […]

Continue reading

Are scrum masters project managers?

A common idea in software development is that scrum master are basically project managers. When an organisation implements Scrum, all the project managers do their training, put on a “scrum master hat”, and away they go. This article will explore this idea and answer the questions like can a scrum master be a project manager, […]

Continue reading

A Manager’s Role in an Agile Process

“Agile development reflects a product lifecycle approach (continuous delivery of value), rather than a project approach (begin-end). While an individual release of a product can be managed as a project, an agile approach views a release as a single stage in a product’s ongoing evolution.” Jim Highsmith  It may interest you to know that more […]

Continue reading

Can agile be used for non-software projects?

agile non software projects

Agile is a recent philosophy and approach to software development that has changed IT and software by promising frequent releases and a focus on value. But can it be used outside of the software domain? This article will explore this idea, and explain what makes agile work, why it can be effective outside software, and […]

Continue reading

What is Backlog Refinement in agile

backlog refinement

Backlog Refinement is an important but poorly understood part of Scrum. It deals with understanding and refining scope so that it can be ready to be put into a sprint for a development team to turn into a product increment. Good backlog refinement involves a regular team discussion, plus informal ad hoc discussions. The output […]

Continue reading

What does a cross-functional Agile team look like?

Although not declared in the Agile Manifesto, pretty much any Agile advocate will tell you that you need cross functional teams in Agile. What does that mean exactly? How wide does the scope of the team’s skills need to be? This is an interesting question and touches on organisational design, DevOps, HR, and other topics. Caveat: […]

Continue reading

Cybersecurity in an Agile Environment

(This is a contributed post) When Agile first found its way into software development, it was recommended to not be used in high risk development for fear of its lack of security. Today, though, Agile can and should be used in the workplace to increase cybersecurity, not weaken it.  At its core function, Agile promotes […]

Continue reading

Agile versus traditional project management

You might be wondering about the difference between agile and traditional project management. These are very different approaches and should be used in different situations. This article will explain what these philosophies are, their pros and cons, and when you might want to use one or the other. So let’s find out about the difference […]

Continue reading

An introduction to Systems Thinking

systems thinking

Systems Thinking is becoming one of the hottest topics in Lean and Agile software development – despite the fact that it is over 50 years old. What is Systems Thinking? Systems Thinking is, unsurprisingly, thinking about systems. Most thinking that is done and taught in organisations around the world is not based on systems – […]

Continue reading
1 2 3 11