What is agile development
Updated: Jul 20, 2021
Agile or agile development is a software development methodology that has become popular with many large software projects, and has generally replaced older, less fluid methodologies such as waterfall. Agile involves team members building "pieces" of functionality and then constantly bringing together those developments so that you can see a working prototype of your product on a weekly or fortnightly basis in a showcase.
These "sprints" mean that you can showcase what is built regularly to your sponsor or main stakeholders, and allow them to provide specific feedback as the software develops. Often, a project will be broken down into a set number of sprints and at the end of those sprints the software will be ready for deployment, even if some functionality needs to be scheduled for delivery in later sprints. The first release is often called "minimum viable product" as it is the minimum functionality required to have the product usable in a production/commercial environment.
Key aspects of Agile
Agile sprints are broken down into daily "stand-ups" where all those involved in the development process quickly run through what they are planning on completing that day and highlight any roadblocks that they might be experiencing. Stand-ups are key to a successful project as there is where most of the key communication will take place as the software develops. If you are working with an offshore team, you need to be sure that the tools you are using will allow for these meetings to occur across countries and timezones to keep the level of communication high, and any vagueness to a minimum. Ensure the tools you are using are accessible by all members of the team so that everyone can participate in standups.
Build the trust
Trust is key in any development, but particularly when delivering an agile project. This is because the specifications are usually not all written before the development begins and allows for some interpretation by key members of the team as they develop the software. The development team should be showcasing their development at the end of every sprint to build trust for the stakeholders and ensure the solution is moving in the right direction. Providing feedback during showcases is key and all those on the team need to be ready to accept both positive and negative feedback and trust that everyone has the same goal in mind - and that is a great product.
By be consistent. You need to ensure you always attend standups and showcases, and that you always provide honest feedback! You cannot have the team developing without regular and consistent feedback from the key stakeholders. This is where many projects go wrong when a key stakeholder is 'too busy' working on other things to stay across the details of the product. You cannot afford to dip in on the development once or twice a month and expect the software outcome is going to meet your expectations. Being consistent with the team is critical to a successful project outcome and is non negotiable. Don't have the time to commit to the project? Then don't start it, or allocate someone else who has the authority to provide feedback and direction and can be consistent in their involvement.