Академический Документы
Профессиональный Документы
Культура Документы
By Eric Jimmink
Ordina NV, The Netherlands +31 (0)30 6637410 +31 (0)30 6637496 eric.jimmink@ordina.nl
Abstract
The way software is developed, is changing. Amongst others, Service Oriented Architecture and Agile development will be practiced more often, and place special demands on the testers in those fields. Traditional development and testing will be dwindling. History has shown that the testing field quickly follows conjuncture swings. When the global economy starts to go downhill (in the second half of 2009, or the start of 2010), some of us will simply be out of a job. So, what will it take, to still be in the testing business in 2012? Specialize, or otherwise show excellence, before it is too late.
Introduction
The way software is being developed, is changing. It changes because the business is becoming more and more demanding. The business can become more demanding of the local IT in Europe, because of two factors: poor IT results in the past, and the option to outsource to cheaper countries. This means that the IT industry is faced with a challenge: where one cannot compete with cheaper countries on a price level, the IT must deliver more value to the business, instead. Delivering more value is unlikely to succeed with a process based on comprehensive documentation and sign-offs. So, the trend is another direction. One where there is more direct interaction with the business.
What are the (new) technology areas, that more and more projects are shifting towards? Lets just list them out; explaining the details is out of the scope of this paper, other than saying that they all strive to align with specific needs of the business, and in many cases cater for changes in those business needs over time: Service Oriented Architecture (SOA) / Software as a Service (SaaS) Agile development ERP packages Data warehousing / Business Intelligence Whats the common denominator between those four? All require more interaction with the business to make it work. A SOA reflects business processes that tend to be rather complex. Same goes for solutions using an ERP package. Agile development is based upon very short feedback loops, intensive collaboration with the customer, and the ability to respond to changes in the business needs. In a data warehousing situation, a tester usually cant predict the expected or the desirable behaviour of the system without asking a domain expert.
When more and more projects use a business-driven approach, the number of projects in a traditional / waterfall style will be dwindling. Testers who only feel comfortable in projects with signoffs, requirements stability, and well defined and segregated responsibilities, had better be very good at what they do. Otherwise they might find that some day, their services are no longer required.
early test execution. The procedure of deriving all applicable test cases does not produce must feedback, actually executing test cases and communicating the results does. 3. The moment of involvement for testing becomes much sooner, possibly at the very start of the project. For years, testers have asked to be involved earlier, now they are, and the challenge for them becomes how to add value to team and the business early on. Quite likely, this will require testers to look outside their own area of expertise. It makes sense for a tester to be involved in formulating the requirements and in the prevention of defects, rather than just detecting the defects afterwards. 4. Early and frequent involvement implies that testers lose some independence. This should not be viewed as a negative thing, just as a change in attitude. A testers expertise is generally more valued than his independence. There is a small risk though: a tester who has detailed knowledge about the way the product is constructed and is involved in the problem-solving process, may overlook the same things that the designers and developers have missed. The helicopter view of testing is still very much needed.
Sense of urgency
In recent years, the market for testing has been excellent. Based on poor results of past IT projects, testing and quality control has become a major issue for many companies. Budgets for testing have increased substantially. Shortages led to sharply increased rates and wages in hiring testers. Everybody prospered and profited. There are several signs however, that the best time is behind us, that the tide is turning already. 1. Outsourcing: not just development is going more and more overseas; businesses are starting to demand that the software they receive back from outsourcing partners has already been thoroughly tested as well. 2. Software vendors have been saying for about 2 years now, that the market is becoming more competitive. Profit margins are under pressure, and some companies are struggling to stay in business. 3. Economic patterns: history has shown that ups and downs in the IT industry follow each other in rapid succession, with a complete cycle taking only 8 years or less. The last low was in 2003. 4. The credit crisis that started in the US in 2006, increasingly affects European companies as well. The first two of those points are linked. It also strengthens the trend, that the IT is shifting its focus towards those areas and new technologies where it can add more value to the business. After all, when the local IT market (in Europe) one cannot compete on a price level with cheaper countries, it must be able to provide more value. Its easier to outsource a waterfall project with neat sign-offs, then it is to organize business-driven project with development and testing that occurs overseas. The growing demand that outsourced software is delivered thoroughly tested (complete with proof of testing), minimizing the amount of local acceptance testing afterwards, is just a further attempt by the business to reduce costs, and the risks to itself. For the testing community in Europe, it means less work left for us. At a TestNet event in 2007, J.J. Cannegieter gave a great talk. His analysis of the cycles in the market, and the notion that the next big dip is just around the corner, served as an eye-opener for many, and was much talked about afterwards. It was based on a big industry-wide study in The Netherlands that revealed the bad years for the local IT industry as a whole, not just the testing community. In the picture below, those bad years for the IT are shown, along with an approximate curve that shows the ups and downs in the industry. The curve is supposed to be illustrational, not exact in representing the relative volume of the market or the demand for testers. (If the curve were to represent anything measured in jobs or money, the lows would only be seen as a discontinuation of the upward trend.)
Figure 1: swings in economy affecting the IT industry. In blue: the bad years for the IT.
In the picture above, we see gaps of approximately 8, 6, and 8 years between the lows. Its hard to tell what may cause this, but economists frequently say that the US election cycle is a stronger factor for a country like The Netherlands, than the local politics. Looking at the shorter cycle that started in 1989, it happens to be true that the president that was elected in that year did not get re-elected:
Figure 2. The US election and presidency as a possible influence for the cycles in the IT industry. Inauguration times in Red.
Conclusion; recommendations
For testers, it is important not to do what people think we are good at: passively awaiting developments. Pro-activeness and focus on the needs of the business are required today, and especially tomorrow. A recession is imminent. This will reduce to the demand for testers, period. At the same time, the number of projects that apply a traditional, documentalized process structure is going down, and can be expected to remain low even if the economy recovers later on: outsourcing will make sure of that. Testers need to be aware of this, and make adjustments if theyre not yet doing so already.
If a tester is able to add great value to a team and to the business, his or her job security will be fine. If youre good, youre wanted, even during those slow years. It is important to stand out in a positive way. If you have a story to tell, go and hold a talk at a conference, or even write a book. But thats only for a few of us. Work on your soft skills. Communication is becoming more and more important in projects, bringing the C back into ICT. You will need to be comfortable talking directly with business representatives, and be able to operate in cross-functional teams. The best way to get experience in one of the new specialty fields, is to join a project that fits the bill. If you can avoid being placed on yet another traditional project, then by all means do so! If it has your interest, go and join a project that uses a Service Oriented Architecture (SOA), have fun on an Agile project, delve into a project that uses SAP or a similar ERP package, or even do data warehousing / business intelligence. Choose what role you would like for yourself, and then go and do it well. In short, what does it take, to still be in the testing profession in 2012? Specialize, or otherwise show excellence before it is too late. Embrace change. Go and specialize.
References
1. Market researchers like Gartner and Standish Group confirm the mentioned trends. 2. De varkenscyclus in het testen, J.J. Cannegieter, TestNet 2007. [http://www.testnet.org/Produktie/Bibliotheek/Presentaties%20najaar%202007/Jan_Ja ap_Cannegieter.pdf (in Dutch)]