Many IT managers find themselves in the difficult position of seeking to "disrupt" the way their organization has traditionally confronted software development. Often this is a felt need more than a simple curiosity: they realize their organization is not rolling product fast enough to market, or that their services are lagging behind competitors. In short, IT managers realize they have to turn more agile to survive and thrive.
In the field of software development, "going agile" is often achieved by implementing one of two highly popular methodologies: SCRUM and/or Kanban. Both seek to reduce project administrative overhead and to iteratively and quickly develop products that can adapt to changing market conditions. Every day, thousands of companies in the most cut-throat environments use agile successfully to create innovative products quickly.
Going agile, however, is tricky, as it involves a change not only in methodology but in company culture. Agile is about collective ownership of the desired engineering or product outcome; it is about constantly communicating and pivoting to iteratively achieve an end-result; it is about learning to be adaptive rather than seeking to be predictive.
At one point in time, our company, Perficient Latin America, faced the challenge of turning agile. For many years, we were trained in the most rigorous and structured of RUP approaches, yet found our US markets demanding agile services from us. So we had to transform. It was not easy at first, but with perseverance and practice, we managed to become a well respected agile leader in Latin American nearshoring. In the texts below we want to share with you our top 5 pointers to begin your agile journey:
1. Don't be afraid to start. There are enough courses, literature, and consultants to get bogged in the paralysis of analysis. Because agile is a way of conceiving the software development lifecycle, as well as a way of living the interactions between an engineering and product team, the best way to learn is to learn by doing. So arm yourself up with the basics of agile development, and take the plunge!
2. Don't be afraid to acknowledge and support agile's "soft" cultural component. Agile is not about becoming more or less technically savvy. Its main purpose is to foster a culture that facilitates a fluid and collective interaction between all company stakeholders towards a goal that is reached in short iterations and course corrections. To promote this culture, create a safe environment for your agile teams to experiment in. Reward responsible risk-taking and encourage investigation and pivoting.
3. Don't overextend yourself during the learning period. Choose an initial agile project that can create a tangible success case that is attainable within a short time frame and with a reasonable risk profile(max 4 months). Assign a team of flexibly minded engineers to the project that demonstrates a passion for learning agile. Communicate to management in advance that your agile project is "an experiment", and gain their support for experimentation. Make sure you work closely with the team to exert leadership in removing managerial or bureaucratic obstacles naturally brought about by company inertia and "resistance to change".
4. Invite a partner to your first project that can accelerate your learning curve. Working with engineers that have traversed the agile learning curve undoubtedly shortens your own. Leverage your partner's know-how by letting him or her lead the methodological and technical aspects of the initiative (i.e. suggesting a set of agile tools, proposing interaction guidelines, etc.). Make sure, however, that you create a mixed team that involves several of your company's key resources as well as resources on the partner's side. This will assure that the acquired skills remain with your team and can be further replicated within your organization.
5. Learn from your initial experience, fix the bugs, and try again. Socialize the wins about your first agile project, as well as the fails. Don't be afraid to iterate a second time. Tweak your tools, tweak the way you manage the project, shorten your sprint cycles... You will quickly gain grounds and when you least expect it, will find your productivity has tripled versus previous engineering approaches (this has been our experience!)
"Would you like to have an exploratory conversation with us? Drop us a line and we'll get in touch.
Regarding Perficient Latin America: Perficient Latin America specializes in outsourcing and nearshoring Agile software development, software maintenance, quality assurance, and staff augmentation. With offices in Colombia, Mexico, and the US, Perficient Latin America has customers all over Latin and North America, ranging from tech startups to Fortune 500 companies.