10 Key Principles of Agile Software Development
By Kelly Waters
Agile Development is one of the big buzzwords of the software development industry. But what exactly is it? Agile Development is a different way of managing software development projects. The key principles, and how Agile Development fundamentally differs from a more traditional Waterfall approach to software development, are as follows:
- Active user involvement is imperative
- The team must be empowered to make decisions
- Requirements evolve but the timescale is fixed
- Capture requirements at a high level; lightweight & visual
- Develop small, incremental releases and iterate
- Focus on frequent delivery of products
- Complete each feature before moving on to the next
- Apply the 80/20 rule
- Testing is integrated throughout the project lifecycle – test early and often
- A collaborative & cooperative approach between all stakeholders is essential
There are various methodologies and standards that address various aspects of software development, for instance PRINCE2 for Project Management, Use Cases/UML for Analysis and Design, ISEB for Testing. Read the Complete Article
PM Hut currently has 570 contributors! Please contact us in case you’re interested in publishing your Project Management articles on PM Hut and joining the list below!
An article published on PM Hut may be eligible for PMI PDU credits under the Category D of the CCR Program (Giving Back to the Profession). This category is capped to 45 PDUs per 3 years. Authors claiming their PM Hut published articles for PMI PDUs are required (by PMI) to supply PM Hut’s physical address in their application. Please contact us for this information.
Please note that it is the responsibility of the author to handle the whole process for claiming the PDUs, PM Hut’s role is currently only limited to supplying its own physical address to the author.
Read the Complete Article
Agile Development: Think Big, Start Small!
By Kelly Waters
Many software development projects fail simply because they are too big.
Too big to get traction. Too big to achieve clarity. Too big to stay focused. Too big to organise and manage effectively.
And too big because by the time they’re developed the business requirements have moved on!
A key part of agile development is the principle of building software in small, incremental releases – repeatedly iterating to continuously improve the software feature by feature. This mitigates traditional risks significantly by keeping things small, and substantially improving visibility of what’s been completed.
But that doesn’t mean agile development is only a good approach for short tactical work, or for business-as-usual changes to existing products. It can also be applied equally well to larger projects and more strategic initiatives, repeating many iterations before completing an entire project or release.
In this situation I would still encourage regular releases though. Read the Complete Article