Forming an agile software development team can be a challenge when the enterprise is burdened with document-heavy processes and legacy company department structures.
Often terms get mixed and matched to suit a particular situation, so it’s worth reviewing what it really means to be agile.
“Agile methodology” is a term that originated from a famous 2001 meeting of software engineering leaders in Utah. After that meeting, the Agile Manifesto was born, laying out a core set of principles.
The term agile was originally meant to describe a set of four values and twelve principles. Here are the four values:
- Individuals and interactions over processes and tools.
- Working software over comprehensive documentation.
- Customer collaboration over contract negotiation.
- Responding to change over following a plan.
Notice that these values were written in an “X over Y” format to highlight how this was a change from the status quo of software development.
What’s the difference between agile and scrum methods?
These terms are often confused or concatenated, but agile refers to a set of values, and scrum refers to an operational method (or framework) for how we see those values enacted in a project.
Typically a small team of three to nine software developers will break work down into two-week sprints. These sprints are iterated through short daily meetings that react to changing conditions and customer needs.
There are often daily scrums, also called stand-up meetings, that last 15 minutes and act as free space for team members to make adjustments on the fly. Scrum focuses on decision-making done through an iterative, empirically based process. In other words, no pulling ideas out of thin air with no support, and no speculation without information. Anyone who’s been in a meeting where a magical realism takes hold can relate to the value of taking the next step on the path based on data, not ego.
In the last 17 years many frameworks have risen and fallen, but the two that stand out other than scrum are Kanban and Extreme Programming (XP). Kanban is a Japanese-based method, originally used in Toyota, that focuses on visualizing the process through a digital or physical board, then adjusting when bottlenecks are noted. XP focuses on short development stories while taking user stories as feedback, followed by frequent planned releases.
While we won’t go into further detail on the frameworks in this post, it’s important to realize that most projects today use combined frameworks, picking and choosing the best aspects of each that are compatible with company culture.
Peaxy has had great success at using Scrum and following agile principles because our employees have the mindset to embrace it. Personality shouldn’t be discounted here: it’s one thing to hand out a copy of agile principles and hope people read it. It’s another to hire employees that get excited about those principles and use them effectively on the ground.