-
Please do realize that for the sake of brevity, I am oversimplifying at least half a dozen techniques (such as extreme programming , SCRUM or Feature Driven Development) about which books have been written to a bullet point list... This article is more meant as a way to create an interest. You can read the manifesto in full at http://agilemanifesto.org/ .
Traditionally, software was written in a big cycle that started with planning, continued to implementation, testing, deployment of all features at once and then the software development was considered done. The feature set was decided in advance and in that context moving one tiny bit from that feature set was frowned upon. There was no requirement to have intermediary release and feedback came only after the application was finished.
Agile methodology is en vogue and it really offers interesting concepts to programming, namely:
Agile Methodology vs classical development
- continuous testing of the application/ automated regression testing
- only implement the features that the client need
- work in short monthly cycles
- actual features/working code over documentation
- always have a shippable version (especially at the end of each cycle)
- always keep a prioritized list of features and implement the first feature on the list
- develop a reliable method of estimating (like planning games)
- no plan is set in stone, you adapt to the client as you go along.