Written By


February 20, 2020 - 7 min read

What is Agile? 


Agile (adj): used for describing ways of planning and doing work in which it is understood that making changes as they are needed is an important part of the job


Agile is a globally accepted philosophy for handling and managing software development projects. Unlike other project management methodologies which are based on rules, frameworks and set procedures, Agile provides the freedom to keep up with changing demands as well as the opportunity to fully utilise the versatility of software development. Rather than getting bogged down in the extensive documentation that can detract from customer requirements, Agile encourages increased efficiency and performance. 


Agile Values & Principles 


The Agile philosophy is centred around the Agile Manifesto which consists of 4 high-level values and 12 supporting principles. 


The 4 Values of Agile Manifesto


We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

  1. Individuals and interactions over processes and tools
  2. Working product over comprehensive documentation
  3. Customer collaboration over contract negotiation
  4. Responding to change over following a plan


That is, while there is value in the items on the right, we value the items on the left more.


The 12 Principles of Agile Manifesto


  1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
  3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
  4. Business people and developers must work together daily throughout the project.
  5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  7. Working software is the primary measure of progress.
  8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  9. Continuous attention to technical excellence and good design enhances agility.
  10. Simplicity–the art of maximizing the amount of work not done–is essential.
  11. The best architectures, requirements, and designs emerge from self-organizing teams.
  12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly.


Agile Methods, Terminology & Tactics 




Scrum (n): A framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value.

Scrum is a framework within which different processes and techniques can be employed. The essence of Scrum is a small, highly flexible and adaptive team of people.


Scrum Values



Scrum Team members have the courage to do the right thing and work on tough problems


Everyone focuses on the work of the Sprint and the goals of the Scrum Team


People personally commit to achieving the goals of the Scrum Team


Scrum Team members respect each other to be capable, independent people


The Scrum Team and its stakeholders agree to be open about all the work and the challenges with performing the work


Scrum Principles


Scrum principles are the core guidelines for applying the Scrum framework and should be used in all projects. (Aspects and processes, however, can be modified to meet the requirements of the project or the organisation.)

There are 6 main principles that apply to the Scrum framework: 

  • Empirical Process Control – making decisions based on experience and observation rather than just theory or pure logic
  • Self-Organisation – providing a higher degree of autonomy, support and trust to team members, removing the need for micro-management 
  • Collaboration – open communication between the product owner, scrum master and scrum team on a daily basis
  • Value-based Prioritisation – taking into consideration Value, Risk or Uncertainties and Dependencies
  • Time-Boxing – allotting a certain amount of time to each process and task
  • Iterative Development – breaking down complex tasks into different, small Sprints


Lean Software Development


Lean (adj): using fewer employees or less money in order to decrease waste, while continuing to operate effectively


The Lean Software Development methodology emphasises speed and efficiency, relying on rapid and reliable feedback between customers and programmers. With a concentration on ensuring everyone is as productive as possible at all times, Lean focuses on fast and efficient decision-making abilities of small teams and individuals. 


Lean Principles


  • Eliminate waste
  • Amplify Learning
  • Make decisions as late as possible
  • Deliver results as quickly as possible
  • Empower the team 
  • Build integrity 
  • Envision the whole project


The Kanban Method


Originating from Kanban (n): A Japanese manufacturing system in which the supply of components is regulated through the use of an instruction card sent along the production line.


Kanban is a method used to manage and improve work across systems. It aims to balance demands with available capacity. Work items are visualised to give the team a view of progress and process, from start to finish—usually via a Kanban board. Work is pulled as capacity permits, rather than being pushed into the process when requested.


Kanban Principles


  • Visualise what you do
  • Limit the amount of work in progress (WIP)
  • Enhance the flow


Extreme Programming (XP)


Extreme Programming or XP is a popular (and controversial) methodology. A highly disciplined method, it’s characterised by the aims to produce higher quality software (delivered in intervals of one to three weeks) and providing the development team with a higher quality of life.


Extreme Programming Values

  • Simplicity
  • Communication
  • Feedback
  • Courage


Extreme Programming Supporting Practices

  • Planning game
  • Small releases
  • Customer acceptance tests
  • Simple design
  • Pair programming
  • Test-driven development
  • Refactoring
  • Continuous integration
  • Collective code ownership
  • Coding standards
  • Metaphor
  • Sustainable pace




Crystal methodology is a lightweight and adaptable approach. The framework focuses on individuals and their interactions as opposed to processes and tools. It emphasises direct team collaboration and de-emphasises documentation and reporting based on the beliefs that teams can find their own ways to improve and optimise their workflow and every project is unique and always changing. 


Crystal Tenets 

  • Teamwork
  • Communication
  • Simplicity
  • Reflection
  • Frequent adjustments
  • Improve processes


Dynamic Systems Development Method (DSDM)


DSDM (formerly known as Dynamic Systems Development Method) focuses on the entire life cycle and is a method built around the philosophy that ‘any project must be aligned to clearly defined strategic goals and focus upon early delivery of real benefits to the business’. 


DSDM Principles

  • Focus on the business need
  • Deliver on time
  • Collaborate
  • Never compromise quality
  • Build incrementally from firm foundations
  • Develop iteratively
  • Communicate continuously and clearly
  • Demonstrate control


Feature Driven Development (FDD) 


Feature Driven Development, or FDD, is a lightweight, iterative and incremental software development process. Its main purpose is to deliver tangible, working software repeatedly in a timely manner. 


FDD Best Practices

  • Domain Object modelling 
  • Developing by Feature
  • Individual Class (Code) Ownership 
  • Feature Teams
  • Inspections
  • Configuration Management
  • Regular Builds
  • Visibility of progress and results


Roles in Agile


An Agile team working in Scrum has 3 main roles. 


Product Owner


The Product Owner (PO) serves as the client proxy and is responsible for defining User Stories and prioritising the Team Backlog. This member of the Agile Team has a significant role in quality control and is the only person who can accept User Stories as done. 


PO Duties

  • Preparation and Participation in PI Planning
  • Iteration Execution 
  • Program Execution
  • Inspect and Adapt


Scrum Master


The Scrum Master is responsible for ensuring that the Agile Team lives agile values and principles and follows any processes and practices they agreed they would use. 


Scrum Master Responsibilities

  • Clearing obstacles
  • Establishing an environment where the team can be effective
  • Addressing team dynamics
  • Ensuring a good relationship between the Team and Product Owner (as well as others outside the team)
  • Minimising outside interruptions and distractions

Scrum Team


The Scrum Team is a collection of individuals which usually consists of between 5 and 9 members. Following a common goal, they work together to ensure the delivery of product increments. 


Agile Practices


Daily Stand-Ups

Also known as Daily Scrum Meetings, Daily Scrum meetings are brief sessions which take place each day so the team can share information and stay informed. 


Each member of the team answers 3 questions: 


  • What did I do yesterday? 
  • What will I do today?
  • What is hindering my progress? 



User Stories

A User Story is a brief description of a function wanted by an end-user written from their perspective and in the language they understand. 


Automated Testing

Automated testing offers a fast and efficient way to find bugs, eliminating defects at their source while protecting other features so that a working software package is delivered to the client. 


Automated Builds

All software development is regularly and automatically complied, built, deployed and tested. 



There are 3 levels of development planning in Agile. 


Release Planning 

Clients and Developers work together to decide which User Stories to include in each release.

Iteration Planning

The client defines and prioritises the User Stories and the developers estimate how much effort is required to develop each feature.

Task Planning

User Stories are broken down into steps by the development team. Each team member is assigned a task and will provide an estimate of how much effort is required to perform the task.



The Business Benefits of Agile 

An Agile approach encourages collaboration and helps to reduce the risks associated with software development. 


Studies comparing Agile to traditional methods of software project management have found that Agile projects offered:


  • Better value
  • Quicker time-to-market speeds
  • Higher quality 
  • Reduced costs 
  • Higher productivity


Stakeholder Engagement

Agile provides multiple opportunities for team and client engagement. By involving clients in every step of the project, the team can truly understand their requirements.



From prioritising features to frequent software builds, clients are able to see their project work in progress. 


Early and Predictable Delivery

Thanks to fixed Sprints of between 1 and 4 weeks, new features are delivered quickly and predictably.


Predictable Schedule and Costs

By using time-boxed and fixed Sprints, the cost and amount of work are easy to predict which can help the client prioritise features. 


Allows for Change

New items in the backlog can always be planned for the next iteration. The is always the opportunity to refine and reprioritise the product backlog. 


Focus on Value

Because the client determines the priority of the features, the team can deliver on what provides the business with the most value. 


Focus on Users

Agile focuses on the needs of real users. Incremental delivery of the product from the very beginning allows for regular user testing and valuable feedback ensuring that changes be made as needed.

Improved Quality

Frequent builds and testing ensure that high quality is achieved as defects are detected and corrected at every stage of development.

Read More

Core Blue Receives ISO Certification

Core Blue is proud to announce that it is now an ISO certified company. …

Why Choose a React SPA + Laravel API for Business Systems

React Single Page Apps supported with a Laravel API offer up the ability to create incredibly interactive systems with great performance and…

When the Business of the GDPR Gets Personal

Under GDPR any data that can be linked to an individual is potentially under the watch of the legislation. In other words, if a snippet of b…