Three Reasons to Go Agile in 2013January 23, 2013 No Comments
Most IT organizations are talking about Agile, but few are truly putting it into practice. Why is this? Old habits die hard, and getting the entire IT organization on board with a new methodology for development can be a tough undertaking. Especially if the benefits of that new methodology aren’t clearly sold to the old guard.
If your company is still using traditional models such as the serial or “waterfall” model, with the developers proceeding through a series of consecutive, pre-ordained steps, you’ll want to pay attention. These older methodologies put an emphasis on capturing software requirements upfront and carrying them through long development and testing cycles, which conflicts with today’s pace of quick iterations and new updates every few weeks. Customers have come to expect these faster cycles (as have investors and partners). This is where Agile development comes in.
The advantages of Agile development are many. The software evolves through collaborative, flexible teams, with features and functionalities designed in response to immediate results. Adaptability is the name of the game with the Agile model, which means requirements can be changed and improved upon even late in development.
There’s still a place for more traditional development models, but Agile development is becoming the methodology of choice for many forward-thinking companies. Here are three reasons why you should consider Agile in the New Year.
Agile development is implemented by self-organized, self-managing, high-performing teams, which typically possess all of the capabilities needed to create the software. There’s no existing hierarchy to consider, or a project manager who tracks, controls and micro-manages every project detail. Instead the team focuses on removing impediments, prioritizing the necessary tasks, then organizing the workflow to complete and deliver the software in a rather short, designated period of time. Usually this is two weeks. Two weeks?! You betcha.
What this streamlined process means for the business is a faster and more direct road to market, since much of the standard documentation, testing and revision cycles have been eliminated. While a product created through traditional serial development can take many months to be released, the Agile development timeframe is far, far faster.
At this point, you might be asking where the “agility” comes in. That would be due to the constant communication that is the hallmark of Agile development. As the software evolves, the team stays in frequent communication with each other as well as their customers for continual feedback. Daily meetings usually address three questions: What have you done since our last meeting? What will you accomplish by our next meeting? What roadblocks are you encountering?
These meetings serve a three-fold purpose: they identify potential problems, incorporate customer feedback and plot any course changes necessary to maximize technical excellence. These quick and nimble response cycles also eliminate the need to spend time and labor-correcting errors post-production, because the performance is correct the first time.
The Agile teams always work on the most important features and deliver them as working software every two weeks. The customer gets to view and experience those features and provide feedback early in the development cycle allowing for corrections and enhancements to the software.
Greater customer satisfaction
This developmental agility has one objective: pleasing the customer. User stories play an important role in the software creation, acting as a roadmap of customer goals and challenges that inspire the developers’ ideas. By staying responsive and attentive to those needs, the team optimizes the software design in real-time and builds on a foundation of authentic customer experience.
As another commitment to end user satisfaction, Agile developers will often adopt what they refer to as a common vocabulary. Sharing the same language with customers ensures deeper comprehension and agreement on the meaning of even basic words like “done.” While this might sound like a given, the value of such caution becomes clear when you consider the potential misunderstanding in discussing terms like product backlog, SCRUM masters, product owner, developers, testers or roles. By clarifying communication, the team can eliminate any confusion and accurately understand the customer’s expectations and requirements, ensuring they deliver the most high-value product possible.
A Competitive Advantage
Ultimately, Agile development offers businesses a sizeable competitive advantage. By delivering user-oriented solutions through a simpler and streamlined process, Agile development saves companies both time and labor costs while achieving a higher level of customer satisfaction. The expedited delivery cycles help high–growth software companies get their new products to market faster, and free up their staff and resources to tackle new projects.
Is Agile development for everyone? Not necessarily. Companies accustomed to the waterfall or other methods of development may find themselves on a learning curve when it comes to understanding the processes and systems involved in implementing the Agile model. But it’s an adjustment that can deliver rewards from cost savings to accelerated market release – and most importantly, it can drive your company’s success by satisfying your customers.
Cliff Schertz is the CEO of Tiempo Development a nearshore software development company that focuses on cloud enterprise software. Cliff is a recognized leader in Agile methodology for both engineering and corporate strategy. Cliff works with universities in the US and Mexico along with the government of Mexico to create a regional strength in software engineering. His work has brought many professional jobs to the border region of the US and Mexico.APPLICATION INTEGRATION, DATA and ANALYTICS , Fresh Ink