Predicting trends is fraught with difficulty. Throwing caution to the wind, five leaders in software development...
offered what they expect will be major trends in 2008.
Two themes cut across fields. Outsourcing will continue to affect more people, and testers, business analysts and project managers will need to learn how to face the challenges of distribution. Also, agile development will increase in popularity, and testing and requirements engineering will need to find their places in this environment.
Outsourcing software development
Three of the five industry experts who offered predictions said outsourcing will continue to have a huge impact on how business is done.
Software testers will find that more of their work than ever before will be outsourced, according to testing and QA expert John Overbaugh. India, he said, will receive most of the work.
"Because of the perceived lower costs due to outsourcing, companies will increase their test work overall," said Overbaugh, test manager for the Church of Jesus Christ of Latter-day Saints. However, testers shouldn't panic about their jobs, as "many companies will use offshore resources as staff augmentation rather than staff replacement," he added.
More software testing leads, ideally, to higher quality software -- and perhaps lighter workloads for overloaded testers. "If you're lucky enough to be in one of those companies, smile -- your workload might move closer to normal," Overbaugh said.
Business analysts will feel the impact of outsourcing as well, predicted requirements expert Karl Wiegers.
"As the outsourcing trend continues, development organizations should retain business analysis and requirements specification as core competencies," advised Wiegers, principal consultant of Process Impact. "Requirements written for outsourcing must be more detailed and more precise than if frequent day-to-day interactions are possible between co-located customers and team members."
An in-house business analyst with requirements engineering experience and skill is always important for specification, but is essential for quality projects when outsourcing is involved. "It's risky to expect a development subcontractor to also write your requirements," Wiegers cautioned.
As the year progresses and more software projects are outsourced in part or in entirety, increased fragmentation and globalization will take their toll on those overseeing these pursuits. Project managers must juggle teams distributed across countries and across continents.
"Different cultures, different time zones, different languages, different customs" will impact software projects more than in previous years, said project management expert Bas de Baar.
De Baar, author of the book Surprise! Now You're a Software Project Manager, is very familiar with project management under these circumstances. Of the teams he managers, he says it's "rare if someone is dedicated full-time to one project. For most of them I don't have full-time tasks," he said.
This coming year and beyond de Baar sees project managers overseeing mobile teams doing increasingly fragmented tasks.
Agile software development
Scott Ambler, Practice Leader Agile Development at IBM, said that in 2008 more organizations will get serious about adopting Agile.
"Now that it's crossed the chasm I think that the die-hard naysayers are starting to recognize that the writing is on the wall, that Agile works very well in practice by disciplined development teams," Ambler said.
This agile takeover will be achieved as organizations scale Agile to other methodologies.
"We'll start to see more and more organizations scaling Agile approaches with the proven strategies contained in older methodologies such as Rational Unified Process (RUP) as well as new methods such as Agile Modeling (AM)," Ambler said. Test-driven development (TDD) in particular will be adopted, "particularly when people realize how to scale it with Agile Model Driven Development (AMDD)."
TDD and AMDD complement each other well, according to Ambler. "TDD is very good at detailed specification and validation of your requirements and design, but not so good at high-level issues," he explained. "AMDD is very good at high-level specification and exploration."
Business analysts have never held a clearly defined role in agile development. The coming year, concluded Wiegers, will witness business analysts trying to find their role.
"Agile methodologies often refer to a close collaborative partnership between developers and customers," said Wiegers, and the "analyst typically has lead responsibility for brokering this collaboration."
That raises the question of whether agile projects should employ business analysts in the more traditional sense, or "should those developers involved in exploring customer needs be more thoroughly trained and skilled in business analysis and requirements specification," asked Wiegers.
Questions will also be raised about the responsibilities of business analysts in projects that operate on a short time scale and follow an incremental or iterative development lifecycle, Wiegers added. More broadly, he asked, "What's the most effective way for the project to manage requirements that could be allocated to various forthcoming increments or releases?"
Widespread agile adoption will also urge testers to examine how they fit in an agile lifecycle. "Agile will snowball throughout the year," said Overbaugh. Testers may struggle in an agile environment initially, but good things are on the way.
"Testing in an agile environment is new to a lot of testers -- abandoning the waterfall mindset is a huge struggle for them, but they're going to see results this year, and those results will spur even more progress," concluded Overbaugh.
Business analysis in 2008: Progress, but old challenges remain
Wiegers said that in recent years business analysis and its alter ego, requirements engineering, have become recognized as important subdisciplines of software and systems development. This is due to the many books and articles published in the domain, the many discussion boards and blogs on the subject, and the establishment of a professional organization -- the International Institute of Business Analysis.
Wiegers expects this positive trend to continue throughout the year as organizations recognize the importance of employing skilled business analysts to the success of software projects.
Those who perform the role of a business analyst could be dedicated to doing that full-time, said Wiegers. Or, the responsibilities of a business analyst could be spread among multiple individuals who have other primary jobs, such as project manager, quality assurance engineer or developer.
"Regardless of their job title, individuals who perform BA functions must have sufficient skills, training, knowledge, experience, and the right personality type for the job," advised Wiegers.
Despite advances, those who manage requirements engineering have substantial obstacles to overcome.
"Many organizations still are sorely deficient in their ability to adequately elicit, analyze, specify, validate and manage their software requirements," said Wiegers. There is a lack of successful user involvement and "depressingly little use of analysis models by practitioners," he said. Clear communication of requirements is too often a problem.
"Every business must ensure that its analysts have the training and knowledge they need to do a good job in this critical, foundational part of the development process," Wiegers advised.
Software testing in 2008: Increased knowledge, perhaps not enough
Software testing and QA expert Scott Barber predicts that the relative lull we've heard from vendors will be shattered in October with a "significant move" by one of the vendors.
"2007 proved to be a year of increased interest and awareness in the area of performance testing," Barber said. "The first three quarters of 2008 are poised to be the same. There is more available tool-agnostic, vendor neutral training and educational material available for performance testers right now than any time in at least the last 15 years."
Barber, chief technologist at PerfTestPlus, cited the release of the "tool-agnostic and process-neutral" Performance Testing Guidance for Web Applications, of which he is an author, as well as the availability of vendor- and tool-neutral testing courses as evidence of an environment of increased testing knowledge.
However, Barber is concerned that a big vendor move may retard the spread of knowledge. By the end of 2008 or the beginning of 2009, "one or more of the performance test tool vendors may get their act back together, and then we'll have a battle on our hands to see if the tool vendors return to power -- and thus education and advancement probably get tossed back under the rug -- or if enough education and advancement will have happened by then to pressure the enterprise class vendors into either dropping their prices or providing some real value in their tools," he said.
Overbaugh worries that testers may not have the technical know-how they need to succeed. "Unfortunately the profession simply hasn't made enough progress in attracting top engineering students, and that's not going to change in 2008," he said. Testers without technical knowledge "still won't progress," leading to impediments in testing.
Overbaugh's other main concern is one that's haunted testing and software development in general for years. Quality will remain an afterthought for many in IT management, he predicts.
"We in QA leadership will still need to work hard to educate and guide our senior managers to understand the value of quality, and to accept the up-front cost," he said.
Project management in 2008: More to manage
The ever-increasing complexity of software will burden project managers with "more people to 'manage,' " de Baar said. "I also see a trend towards an enormous amount of 'simple' projects caused by the ever-increasing automation of small and mid-sized companies using out-of-the-box or hosted applications." This, too, will leave project managers with more projects and more people to oversee.
In order for project managers to be able to handle all of the extra work, they will need more information and education, de Baar said.
"In 2008 (and beyond) we will be looking for a true Project Management Body Of Knowledge," de Baar predicted. This body of knowledge will be based on "psychology, sociology, organizational behavior, complex adaptive systems," he said, adding "or whatever might help us out."
-- Managing editor Jack Vaughan contributed to this article.
Dig Deeper on Software Quality Management