Agile is an iterative form of software development. Through its rituals and ceremonies, it provides a quicker way to deliver value to the actual customer of the software. Through its focus on prioritization, agile insists that the work most important to the customer be completed first. Through its dedication to team empowerment, agile pushes the “how” to the team level where the team takes ownership of delivery and quality. As agile has proven its value in the software engineering field, it also has many concepts that can prove beneficial to other IT areas. Listed below are some of those concepts and examples of how they might be implemented.
- The backlog. The backlog is a list of items to be developed that is prioritized by expected value gained by the actual users of the software. Think of the work or projects that need to be done, then prioritize the work that creates the most value for your direct customers. Value may be measured by revenue (sales) generated, profit, risk, time savings for the future, decreased maintenance, and better customer experience. Listen to what your customers say about your work and react accordingly in reprioritizing your backlog by adding new items, removing items, and/or changing the priorities. (The act of reworking the backlog in this way is called refinement or refining.) Implement this concept in any areas that have competing work from different stakeholders. In a platform support department, implement a backlog of requested work prioritized by the number of users affected. This idea can also be applied by a team that is responsible for writing reports or creating data visualizations. Implement a backlog of future needs evaluated by the value that each will deliver to the users of the reports or visualizations.
- MVP. The concept of minimally viable product stresses not to over engineer features especially when a product is beginning; create the smallest version of your product possible to start. Deliver that work quickly and react to what your customers say and do by refining the backlog. Spend as little time (and resources) as possible to deliver value to the customer. Do not be afraid to “cut your losses” and discontinue or modify work that has been done. Rework is expected as it shows an evolution. For instance, if a process improvement group is automating a manual process, try replacing the most manually intensive part first for a quick MVP rather than waiting for the entire process to be reworked. In a migration project, the MVP concept can be applied to deliver the most important data or services first.
- Empower your team members. The customer always wins when team members are given guidelines and empowered to make decisions. Determine what types of empowerment can benefit your specific area. Ask your team members for ideas; survey your customers; review existing customer service feedback. Work to give your team members the guidelines that provide basics and parameters for handling customer service issues quickly and efficiently allowing room for empowerment. Hold frequent meetings with your teams to receive their feedback and react to give the team members more responsibility. An analytics team can implement this concept by allocating a certain amount of time for team members to try their own ideas and to discuss the results. This feedback can be incorporated into the backlog of projects. In the same way, a production support team can practice empowerment by encouraging their team members to search for root causes and solutions that will keep issues from recurring in the future.
- Iterative development. Iterative development is the act of breaking up the work to be done into smaller increments. Use prioritization to deliver the value frequently. Delivering value more often has a double benefit. First it delights your customers. Secondly it inspires your team giving them successes that will keep them enthusiastic about the work and your business. In a governance project start with a small group of core metrics. Add more metrics until the point of diminishing return is met. In a migration project, try using this concept to determine what is the core work to be accomplished. Couple that idea with MVP and the backlog concepts to deliver the most value initially and keep the highest value items at the top of your list.
- Stand ups. At the beginning of each day, an agile team comes together for a quick meeting with everyone; per the name, everyone stands up for this meeting. Each team member shares with the others what they did yesterday, what they are doing today, and if they have any roadblocks. This agile ritual creates accountability between team members allowing the team to bond, and this concept is applicable for any team. Members of a sales team can stand up and share their successes and issues. Members of an analytics team can stand up and share their findings to inspire others and transfer data knowledge. Members of an architecture team can discuss research in new technologies. The frequency of the meetings can be adapted (daily, weekly, or monthly) depending on the need.
- Retrospective. Retrospectives are one of the activities in agile that facilitate continuous improvement. In a retrospective, the team comes together to celebrate their successes, to appreciate each other’s contributions, to identify what is working well, and to determine what should change in the future. Good retrospectives end in actionable items that are assigned to specific team members with time lines for execution; these items may be tactical or strategic but they should be within control of the team. Retrospectives begin with an update on the previous action items. This update will provide continuity and accountability for the action items. Any team can benefit from candidly discussing their work. If your company is running waterfall methodology, try using a more agile approach to Lessons Learned by having frequent retrospectives throughout the project rather than one Lessons Learned session at the very end. Utilize what is learned to improve the process while the project is continuing. In a platform support area, try using retrospectives to focus on key issues that happened and how best to handle or prevent similar issues in the future.
- Road mapping. Road mapping provides a visual for the work in the backlog that needs to be accomplished. In road mapping, we create a diagram showing the future work based on effort and time; i.e. we visualize the backlog and predict what work will be accomplished in which sprints. The roadmap may (and should) change based on new priorities or learnings. When new work comes in to the department, use the roadmap to explain to stakeholders and leaders what the impact is to existing work. Like a Gantt Chart, roadmaps create a visualization of the impacts and tradeoffs helping leaders make better decisions about which work should be done. For a process improvement area or an adhoc analytics group, use road mapping to show the plan for delivery of future work. As new work is introduced use the roadmap to illustrate how the prioritization of the new work affects the work previously in queue.
Agile does have many lessons for IT departments other than software engineering. Adopting agile in a non-software engineering environment requires the business leaders to analyze their existing practices and incorporate the concepts that will work best for them. The secret of success in the use of agile is to implement, discover how the changes work, and change again as needed. Learn fast. Please add your own comments and use this article as a starting point for a discussion in your group. I would very much like to hear your thoughts about this article and how you implement any of these or other agile concepts.
**Views expressed in this article or any other article written by me (Joanne) are my personal views based on direct experience, research, and networking within the industry. Views expressed are in no way the views of any employer past or present. It is solely my opinion. Likewise, examples given are not directly related to any specific employer.
In addition, this article represents my understanding and thoughts on this topic at the time it was written. My thoughts and opinions do change from time to time. My ideas evolve as I get more experience and encounter different circumstances. I have an agile approach to learning. Looking forward to hearing your thoughts on this article. I hope you find it helpful