Agile Software Development Methodology

SCRUM Board

Discover how agile software development benefits our customers when it comes to quick delivery, adaptive planning and a flexible response to change.

By using agile software development, we can ensure that you get a flexible approach to planning, improvement via a continuously updated prototype, regular updates on status, and a quick response from us if circumstances change rapidly – for example, feedback from you that a certain feature isn’t quite right. This all ensures that we deliver your project on time and on budget.

Project Management Practices

  • Individuals and interactions over processes and tools
  • Keeping project on schedule
  • Working software over concise Documentation
  • Source code control and version control
  • Common development environment
  • Quality management
  • Meeting contractual commitments
  • Responding to change over following a plan

So what is Agile methodology in project management? It’s a process for managing a project that involves constant collaboration and working in iterations.

In short, agile methodology favours speed of delivery, testing, and continuous feedback.

We employ Agile (Scrum), a process framework that has been used to manage complex product development. Scrum processes enable organizations to adjust smoothly to rapidly-changing requirements, and produce a product that meets evolving business goals.

Keeping Project On Schedule

Keeping Project On Schedule

Delivering software on time starts with a well-defined and realistic schedule. To ensure we’re on track we:

  • set small, frequent milestones and deliverables so that we have regular, measurable updates on project status and can correct small slips quickly.
  • schedule the “big rocks first”, and aim to get the most important and potentially most risky features completed early in the project.
  • track progress diligently on a daily basis over a project extranet, and on a weekly basis in status meetings, so that both you and our team are in tune with the schedule.
Concise Documentation

Concise Documentation

The key to keeping everyone in the loop and making sure the product is something stakeholders will actually buy into is keeping accurate documentation. This doesn’t mean a ton of technical documentation for you to wade through and digest, rather an evolving feature backlog and visual prototype that can change with your feedback or market demands.

Your documentation is kept up to date and made available to you through our secure project extranet.

Communication

Communication

One of the biggest issues in software development is communication – or lack of it. To avoid this, from the very start of the project we:

  • designate a single-point of contact.
  • use a secure project extranet so that everyone involved has access to the latest documentation and latest build for the project.
  • track project knowledge in a collaborative portal to help monitor the legacy of decisions, and ease the knowledge transfer at project delivery.
Meeting contractual commitments

Meeting contractual commitments

We make sure a tight feedback loop is created between you and the project team to provide transparency in the development process. To ensure your project is on schedule and remains on budget, we:.

  • communicate the “big picture” to the team so that everyone is motivated towards the common goal.
  • have daily team meetings (scrums) to coordinate activities of the team members and bring everyone up to speed on current project status.
  • use an automated web-based time sheet system so that project managers have daily status reports from team members.
  • will immediately flag-up if we see something going ‘out of bounds’ for whatever reason – changing requirements, slipping dates, etc.

Common development environment

For every project, we define a common environment, so that all members of the development team are using the same platform, the same tools, and a common set of coding standards.

Source code control and version control

For source code and version control we use Bitbucket, a highly reliable and flexible source code and version control system. All inputs to the project that are not static are version controlled, including:.

  • source files
  • test scripts
  • design documentation and requirements documents
  • end-user documentation
  • graphics

Change and configuration management

Our Software Configuration Management (SCM) system is a combination of tools, process, and teamwork, ensuring the delivery of higher quality software.

Software changes are thoroughly planned, coded, tested and released just like any other software project, whether it is part of a larger project in development, or a change to a live system.

Quality management

Our quality assurance strategies combine both black box (manual) testing performed by the Quality Assurance (QA) team, and white-box testing performed by the development team. Our process dictates that it is the responsibility of the developer to produce defect-free code, so that the QA team can focus on assessing the state of the product.

We perform both white box and black box testing because we believe that neither method will uncover all defects. For example, while unit testing and peer code reviews can discover potential vulnerabilities or performance bugs that would be nearly impossible to trace with black-box testing, black box testing can uncover defects such as inconsistencies in the user interface, compatibility bugs, unanticipated error conditions, and timing related bugs that can only be uncovered by manual human testing.