Home Featured Work How We Work About Us Services
Home › SI Blogs › Joe's Blog › Agile

Agile


by Joe Friedman on March 13, 2009

Being agile means having the ability to move quickly and adapt to change easily. Soft Illuminations provides custom solutions for our clients in the most effective way possible by employing Agile Methodologies in developing software.

Out with the old

In business, agility means the capability of rapidly and cost efficiently adapting to change. In software development, constant change is inevitable since it is rare that requirements remain static throughout the life cycle of a project. By using Agile Methodologies, we are well-positioned to address, anticipate and adapt to such change. Antiquated methods of software development such as Waterfall are inefficient means to address changes efficiently because they lack productive communication. Agile changes the behavior of a development team. The technical practices stay the same, but the way in which team members interact with each other is paramount to the success of becoming truly Agile. Whereas older methods of development like Waterfall rely on requirements documentation, Agile sets clear guidelines that require team members to collaborate and interact. In essence, these interactions are Agile’s version of requirements documentation. With a revived spirit of productive communication and collaboration, teams become ready to respond to changes no matter how big or small.

Don’t just pick and choose

Agile encompasses a family of Practices and Methods that are all based on a few simple attitudes towards project management. To be “Agile” can mean a number of things depending on which Agile practices or methods you utilize. As a testament to the efficacy and allure of Agile, I often see otherwise strictly Waterfall teams implementing certain aspects of each of the various methods and practices. I see a commonality amongst these teams that pick and choose. They readily admit these tools are extremely effective, yet they hesitate to fully integrate Agile into their routine, insisting rather to pair some Agile practices with their Waterfall process. As major proponents of Agile, we welcome this pairing since it gives teams exposure to Agile and all that it can offer. This being true, I must declare that Agile in and of itself is extremely more effective when used alone.

Learn to let go

Software development, being an innovative art and science, has been somewhat restricted, not from the technology itself, but in how that technology is implemented. Development practices should involve some basic tenets of human life instead of a tome of requirements documentation. That’s not to say Agile practices and methodologies don’t require their fair share of reporting, quite the contrary. But what Agile enforces as the primary tool for progress is interaction and communication. Soft Illuminations is often contracted by development teams to help them implement Agile into their business. It is amazing how quickly people respond to Agile. What is also interesting is the difficultly with which teams face in resisting the urge to return to their old ways. Understandably, a familiar routine is comforting. It is much easier to go with what you know than to try a new approach. After all, Agile is relatively new, often misunderstood, and is viewed by some as complete chaos. But the hurdles that Agile methods help teams get over almost always have nothing to do with the technical creation of software. Rather, Agile seeks to draw out the human element in the project. Agile revolves around teamwork, constant inspection and adaptation, and a leadership style devoted to facilitating progress. If you are thinking of using any of the Agile Methods or Practices in your team, remember to resist the urge to go with what’s familiar, and embrace the change Agile offers.



Back to top

Home › SI Blogs › Joe's Blog › Agile