Reading time: 2 – 2 minutes
I have once discussed on this blog the nature of software development processes which includes Royce’s Waterfall Model, a sequential approach to software development attributed to the waterfall because of its steadily flowing progress.
This time, I’ll be talking about a rather different software development process derived from the agile manifesto which was a statement of principles that underpin agile software development.
Significant values are driven by agile software development methods including giving much weight on individuals and interactions over processes and tools on an agile team, creation of working software within weeks time against comprehensive documentation and longer time frame, high importance on customer collaboration compared to contract negotiation on other systems plus a rather responsive outlook to change than strictly following an organized plan.
One of the main important stages of software development is implementation or coding. Continuous integration being a core process during this stage encourages developers to effectively write tests with each piece of code aside from providing immediate feedback to developers and technical leads and teams. It’s vital that a consistent approach to issue tracking is implemented to quickly respond to bug issues and defects, and to all other demands of the project.
While agile software development is more focused on people and interactivity, development teams would not be functional without the use of some savvy agile tools such JIRA Studio or JIRA with GreenHopper plugin for project management, Confluence for agile collaboration, FishEye for code analysis, Bamboo for continuous integration, Clover and Crucible for code coverage and review, respectively alongside an appropriate Pyxis training program.
Although there are advantages and disadvantages on any process or methodology, what matters in the long run is for developers to come up with great software that will provide value to clients and users.