“What is Agile Software Development?” and “What are the different methods available?”. These are two very common questions that you might ask upon hearing of Agile Software Development. By the end of this post, I hope to have answered these two questions and clearly have outlined what exactly Agile Software Development really is.
To begin I’d like to give you a broad definition for what Agile by itself is – It is said to be a project management method; most often used in technology, websites, software, creative and marketing industries.
To go on and understand what Agile Software Development as a whole is, it is important to refer to the 12 principles of Agile Software. They are as follows:
- The highest priority must be to satisfy customer requirements as efficiently and effectively as possible, from the get go.
- Be open to change, not just at the beginning of the process but throughout.
- Deliver working software on a regular basis and not just once off or whenever you feel the need to.
- Teamwork is key. Business people and developers must work together.
- It’s about working around people who are motivated and want to get the job done. You need to provide them with the appropriate environment and materials to do so.
- Face-to-face conversation is the best method of conveying information.
- Once working software is available, you know you are making progress.
- All key members of the process should have a noticable presence, be they developers, sponsors etc.
- Keeping an eye on the technical side of things along with the design enhances agility.
- Keeping things simple is key.
- The best ideas come from within i.e self-organised teams.
- Good group communication is essential as the process takes place, reflection is key and the appropriate change in behaviour etc. needed is taken
It is also important to mention that there are 4 main methods of ASD and they are as follows:
– XP (extreme Programming)
Following on from this, in my next blog I will outline in detail each of the 4 methodologies of Agile Software Development.