Agile is one of the most common buzzwords used to secure kudos in software engineering. Seen as the go-to procedure to prove a company’s flexibility and modernity, the term is often thrown around in meetings and bid processes in hopes of winning a contract.
As agile’s popularity has grown, the method has been adopted by many large companies, including Apple, Microsoft, and IBM. The flexibility of the approach has led to companies creating custom agile processes to best serve their needs and goals.
The dawn of software engineering
When software engineering first emerged in the 1960s, projects were often undertaken by very small teams, or even solely by one individual. With no need to coordinate with others, it was common for no methodologies to be used at all, reducing the chance of a project succeeding.
As projects became more complex and ambitious, it was clear the industry needed structure. So those small teams began looking at tried and tested processes. Was Henry Ford’s production line method the answer?
Car construction needed a definite and consistent system – one where every engineering aspect was designed from the beginning and tested early. If a piece were untested, cars with that piece would potentially fail, resulting in a huge amount of unsellable waste.
The stage progression used by Ford became the base principle of waterfall methodology.
Comprehensive design and early testing gave the industry a much-needed structure that helped progress the sector to new heights. However, as the industry developed, certain pitfalls became apparent.
The turbulent teens
It soon came to light that the two engineering disciplines were too different. Developing a car isn’t the same as developing software. A more flexible process was needed.
While the prototyping stage of manufacturing does offer time to change a product, software engineers need to be able to make continuous changes and improvements. Customers change their minds, outgrow their original plans, or need to scale back.
One of the major differences is that once software has been modified, thousands of identical copies can be made at essentially zero cost. Changing already-released software is possible, whereas a car may be limited to one or two revisions per year.
The waterfall model offered limited opportunities for change. There would be set times to address errors, bugs, or general improvements. Any errors that weren’t spotted could only be fixed at the next scheduled time. Fundamental problems might only be identified later in development when it’s too late to fix due to deadlines or financial pressures. This presented the risk of creating a sunk-cost fallacy, where there’s a reluctance to change or drop projects, even if the current course is set to fail.
The emerging agile discipline addressed these concerns.
The Agile Manifesto
Published in 2001, the Agile Manifesto established four core principles to aid software development. The creators decided that agile would value:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Agile came with the advantage of being able to make continuous improvements, allowing developers to make changes swiftly and far cheaper. Quickly trialing ideas as they arise during a project can have many benefits, including:
- Novel solutions can be discovered and easily implemented
- Ability to change as the market changes
- Less time in meetings and the planning stage
- Edit and improve processes used
- Employees feel like they have more of a say and can suggest ideas
Here’s how we do it!
At Immersive Labs, we have fantastic and enthusiastic agile practitioners who encourage teams to collaborate and embrace the agile mindset. Let’s take a look at some of the tools they use to motivate and confidently plan work processes.
One of the later principles of the Agile Manifesto included regular reflection on how a team can be more successful. Listening to and addressing a team’s concerns is instrumental to producing quality content. One common practice to do so is to have a team retrospective.
This is a very basic example of a retrospective; there are many other options to suit different teams, but this example does give everyone the chance to speak their mind.
One of the four core values at Immersive Labs is inclusivity. Ensuring all team members feel their voice is heard and respected is vital to our way of work. Retrospectives give the opportunity for everyone to be included. Ideas to aid the team and project can be shared in the Start column, while any issues can be aired in the Stop column. The Continue column is a fantastic way to praise individuals and establish what practices are working well.
Regular retrospective meetings can uncover any issues faced by the team and improvements to the workflow that can be made. This flexibility is essential, as it helps teams continuously improve and adapt.
Kanban boards are another tool our teams use to assist in creating quality content. Kanban boards can be digital or physical and improve efficiency by helping teams to collaborate. Some find it helpful to make boards out of post-it notes, while others prefer a digital version.
From the board, you can see everything everyone is working on and spot any blockers. Any barriers preventing successful development and cohesion in teams can be quickly addressed, while ensuring top tasks are prioritized.
All teams at Immersive Labs benefit from frequent stand-up meetings. Generally lasting no longer than 15 minutes, a team will ask themselves three important questions.
- What did you do yesterday?
- What will you do today?
- Are there any blockers?
Involving all team members in this discussion makes all aspects of a project visible, helping teams collaborate and use their shared experiences to solve problems. By sticking to the 15-minute time limit, there’s little chance of the meeting straying off topic, ensuring everyone can resume their projects promptly.
Agile methodologies continually adapt to meet the ever-changing needs of the marketplace and grow with new technologies. Using agile tools, Immersive Labs leads the way in people-centric cyber resilience. Head here to book a demo of our platform.