So You Want to Implement Agile Engineering?

Kaete PiccirilliMon, 05/12/2014 - 08:00
If you know the key mantra behind the Agile Method then you can begin to decide on the engineering practice that works best for you. The manifesto for Agile Software Development is based on the following four points: 1)      Individuals and Interactions over processes and tools 2)      Working Software over comprehensive documentation 3)      Customer Collaboration over contract negotiation 4)      Responding to Change over following a plan The essential mantra of Agile is the most important contributor to the success of projects is PEOPLE. The people who are part of Agile teams work together to provide iterative and incremental development where requirements and solutions are provided by people who are a part of self-organized, cross-functional teams. These teams promote adaptive planning, time-boxed iterative approaches and rapid and flexible responses to changes. These essential practices are the basis for the varying types of Agile Methods that exist today. Each Agile Method has its positives and negatives and you’ll find that Agile Experts, today, have their preferred method of development. Here’s a highlight to three of the most popular Agile Methods: Scrum is an iterative and incremental agile software development framework for managing software projects and product or application development. Scrum is a flexible product development strategy where a development team works as a unit to reach a common goal. It challenges assumptions of the traditional waterfall method to product development. Scrum enables teams to self-organize by encouraging physical co-location or close online collaboration of all team members and daily face to face communication among all team members and disciplines in the project. A key takeaway to know about the Scrum is that it recognizes that during a project customers can change their minds about what they want and need. This is not a feasible option in the traditional waterfall method. eXtreme Programming: is a software development method. The method behind XP is improved software quality and responsiveness to changing customer requirements. XP is a type of agile development that advocates frequent software releases in short development cycles, which is intended to improve productivity and introduce checkpoints at which new customer requirements can be adopted. Other elements of (XP) include: programming in pairs, doing extensive code reviews and expecting changes in the customer's requirements as time passes. It also includes better understood and frequent communication with the customer and among programmers. Feature Driven Development (FDD) is an iterative and incremental software development process. It follows a lot of the Scrum & XP practices but was developed to work for larger teams.  Also an Agile software development method, FDD blends a number of industry-recognized best practices. These practices are all driven from a client-valued functionality (feature) perspective. Its main purpose is to deliver tangible, working software repeatedly in a timely manner. Regardless of the Agile Method you choose, it’s important to remember the four key points to the Agile Manifesto and that the most important contributor to the success of your projects regardless of method chosen is the people on the team.