As we began managing our software projects we were torn between Agile & Scrum methodologies.  I’m sharing our research and will add a little insight as to why we chose what we did.  If you are reading this you probably already know what these are but if you are new to this basically they are frameworks used to structure, plan and control the process of developing software systems.

There are many different methodologies, Agile, Crystal, Scrum, Waterfall but i’m only going to talk bout Agile & Scrum as those were the two I really felt fit our team best.

Agile and Scrum

Agile Methodology

Agile is a framework that in the simplest terms is used to minimize risk by developing software in short interaction. Each iteration is treated as a mini-project and includes everything to release that mini-project.  This would include planning, requirements analysis, design, coding, testing and documentation.  I look at each iteration as a minor update in the big plan.  Agile methods also focus on real-time communication over written documents. This was one of the items I felt was outdated as good documentation is critical now days.  Don’t get me wrong face to face meetings are still good but Agile typically has less documentation over other methodologies.

Scrum Methodology

Scrum is an agile method that dramatically improves productivity. Scrum enables the creation of self-organizing teams by encouraging verbal communication across all team members and across all disciplines that are involved in the project. A key principle of scrum is its recognition that fundamentally empirical challenges cannot be addressed successfully in a traditional “process control” manner. As such, scrum adopts an empirical approach – accepting that the problem cannot be fully understood or defined, focusing instead on maximizing the team’s ability to respond in an agile manner to emerging challenges. The best of scrum is that its has brief meetings, planning & heartbeat retrospectives.  Developers work on a fixed set of backlog items in a series of short iterations or sprints.  Basically working through a task list every day.

In short scrum is concerned with getting more work done faster…which we like here 🙂