Most of the countries all over the world are going through the phase of economic recession. Many old and big companies have already been brought down on their knees to bite the dust. Many companies as well as countries have become bankrupt or are on the verge of it. Millions and millions of people have lost their jobs. Many people have lost millions and billions of dollars. People in general are scared and fearsome. This is not the first time that the global economy is going through recession and this is also not the last time. There is a pattern involved in it. On an average it is happening after every 8-10 years.
Information Technology industry too takes the impact of global recession and a difference in the average IT investment can be monitored during the times of recession. Analysis of IT investment shows that Information Processing equipment and Software investment increased a modest 5% in 1990 recession before taking a major jump to 15% in 1992. However the 2001 recession, in contrast with the decline in 1990, was much harder on IT spending because there was a great deal of overspending on IT equipment and software in the latter part of 1990s. The need for extra hardware and software for Y2K remediation ended abruptly in 2000. The 2001 recession was somewhat unique in that this huge overhang of excess IT equipment needed to be burned off before investment levels could recover. This intensified the negative impact of the 2001 recession on IT spending. However the current recession bears remarkable similarities to the recession of 1990, which was led by the financial sector. It also bears some similarities in IT spending patterns during the 2001 recession. In either case, over the past 20 years the negative impact on IT spending has never lasted more than two years. Therefore, the analysis shows IT spending will remain weak through 2009, with a recovery in 2010.
A key goal of every IT department is to reduce the time and effort needed to deliver value to the business. To accomplish this, the best long-term trend we have in IT beyond Moore’s law and the power of the Internet is the improvement of IT agility. Increasing IT agility is important because it provides a value innovation and delivery method that harnesses these fundamental advances in infrastructure.
Agile practices enable teams to build less, but return the same value by focusing on early delivery of the features that have the highest business value and not wasting money on the features that don’t.
IT agility is driven by three major innovations: agile development, Software as a Service (SaaS), and Web 2.0 social networks. However, without agility in development and software releases, the innovations of service-oriented architecture (SOA) and Web 2.0 are elusive.
Agile Process Model
Agile development is an iterative and incremental (evolutionary) approach to software development which is performed in a highly collaborative manner by self-organizing teams within an effective governance framework with “just enough” ceremony that produces high quality software in a cost effective and timely manner which meets the changing needs of its stakeholders.
The following illustration depicts a typical agile development model.
Agile methods choose to do things in small increments with minimal planning, rather than long-term planning. Iterations are short time frames (known as ‘timeboxes’) which typically last from one to four weeks. Each iteration is worked on by a team through a full software development cycle, including planning, requirements analysis, design, coding, unit testing, and acceptance testing when a working product is demonstrated to stakeholders. This helps to minimize the overall risk, and allows the project to adapt to changes quickly. Documentation is produced as required by stakeholders. An iteration may not add enough functionality to warrant releasing the product to market, but the goal is to have an available release (with minimal bugs) at the end of each iteration. Multiple iterations may be required to release a product or new features.
Team composition in an agile project is usually cross-functional and self-organizing without consideration for any existing corporate hierarchy or the corporate roles of team members. Team members normally take responsibility for tasks that deliver the functionality of an iteration. They decide for themselves how they will execute during an iteration.
Agile methods emphasize face-to-face communication over written documents, when working in the same location, or in different locations but having video contact daily, communicating by videoconferencing, voice, e-mail etc.
Most agile teams are located in a single open office to facilitate such communication. Team size is typically small (5-9 people) to help make team communication and team collaboration easier. Larger development efforts may be delivered by multiple teams working toward a common goal or different parts of an effort. This may also require a coordination of priorities across teams.
No matter what development disciplines are required, each agile team will contain a customer representative. This person is appointed by stakeholders to act on their behalf and makes a personal commitment to being available for developers to answer mid-iteration problem-domain questions. At the end of each iteration, stakeholders and the customer representative review progress and re-evaluate priorities with a view to optimizing the return on investment and ensuring alignment with customer needs and company goals.
Agile methods emphasize working software as the primary measure of progress. Combined with the preference for face-to-face communication, agile methods usually produce less written documentation than other methods. In an agile project, documentation and other project artifacts all rank equally with working product. Stakeholders are encouraged to prioritize them with other iteration outcomes based exclusively on business value perceived at the beginning of the iteration.
Enterprise agile adoption roadmap
Like any mission-critical systems or initiative, you need a vision and roadmap to steer your adoption and rally the troops. The roadmap for an enterprise to adopt agility is described in the following illustration.
There are three keys to effectively managing this process:
- Work incrementally, in an agile fashion, through the steps and gain proficiency before widespread scaling.
- Develop a vision/roadmap and change backlog with key executives before you attempt to move up to step 3 and beyond.
- Share the vision and roadmap with the entire organization and manage the rollout in a collaborative fashion with complete transparency.
Many of these rollouts have started with a grassroots effort to get to Step 1 and Step 2. With the help of external coaching and parallel tool rollouts, many companies have taken more aggressive, “flash-cut” moves with top-down leadership and investment to jump to step 3 in the roadmap within months.
Given the pressure and opportunity of this crisis, as well as the increasing number of public proof points showing how large organizations can quickly transition to agile, you might be thinking about your ability to do accelerate your adoption and capture savings in 2009 from your efforts. There are three things to heed while considering this:
- Adopting agile needs complete management buy-in and a true sense of urgency. What is it going to take for your management team to get buy-in to adopt Agile on a major portion of your organization?
- You are going to need a strategic partner to help you manage this organization change effort. I do not know a company that followed the flash-cut approach without an outside coaching or consulting firm. As a result, you will have to budget for this investment and the time to choose and schedule them. These partners will help you build the organization capacity for agile while also supporting the professional development of your middle managers as the organization becomes flatter and leaner.
- This is a whole system change from a world of plan-driven to value-driven ideas. As a result, you will see immediate changes in your process, organization, and technology. This transition will set up a culture of continuous improvement and even drive changes in your overall development and business strategies. To make this transition go well, you are going to need to implement a collaborative project management solution to provide visibility across your development teams.
We don’t know how long or how deep this recession will be. Belt-tightening and staffing cuts almost seem inevitable. You can either reduce costs by just cutting your budget, or you can use this opportunity to make systemic changes in your business. Enterprise IT agility is proven to do that — more so than investments in technology point solutions that only have a point in time savings. Most important, this approach will help ensure the savings from today’s cuts do not create worse problems in the long run.
Guest post by Muhammad Usama Alam, who is a software engineer and web developer with over 8 years of experience in designing and developing business solutions for enterprise. You can follow him on twitter.