As cyberpunk sci-fi writer William Gibson so aptly stated, "The future is not google-able." While that may be true,...
it's human nature to want to know what's ahead. So we checked in with some industry experts who have their fingers on the pulse of software development to get their take on 2009, and how various practices within the software development lifecycle might play out.
The consensus is that those with experience, cross-functional skills and the ability to be flexible will fare better during the economic crisis.
Experienced project managers (PMs) have been through down cycles before, so those are the folks organizations will be turning to through the turbulence, according to both of our project management experts.
"They will be the leaders in helping companies figure out the solutions and programs that should be implemented," said Lawrence Oliva, PMP, a senior consultant and program manager with CH2M HILL, a global engineering and program management company based in Englewood, Colo. "Companies should ask prospective project managers about their experience working in difficult economic situations."
And there is opportunity, he added. "It appears from the news media that the programs to be started by the government are very large and complex, which are excellent opportunities to have professional PMs lead those programs to get results faster and at budgeted costs."
While Oliva said he believes PM certification is becoming more recognized and will be sought after during the recession, Jim Johnson, chairman of The Standish Group, a project consultancy in Boston, said he believes there will be "less emphasis on PMP certification and more emphasis on seasoned and experienced [professionals]."
"There will be a focus on practical rather than theoretical project management … I think speed of delivery will be biggest trend next year -- how can I get things out of the project stack and into users' hands quicker?" he said.
Nailing the requirements will continue to be key for getting a project out of the stack. Ellen Gottesdiener, principal consultant with EBG Consulting in Sudbury, Mass., views requirements through three lenses: people, projects and process.
In the people area, Gottesdiener said the ability to collaborate will be more important. "There is so much time and money lost with dysfunctional relationships," she said. "Requirements are that part of the project where all the stakeholder needs must come together; people need to collaborate to make smart decisions and have clear decision-making rules."
In terms of projects, with all the M&A and consolidation activity, there will be a lot of integration projects, she said, and the ability to integrate software applications through requirements will be critical. "It's got to be a requirements-based activity -- what is the minimal set of requirements that will keep the doors open? This plays into organizations [taking] a hard look at their portfolio of applications, and which projects they're not going to do. A portfolio analysis needs to be done in terms of product roadmapping and release planning. All of those roadmaps are based on requirements."
In terms of process, Gottesdiener said that "the big story will continue in agile." With agile development, she said, organizations need to shake off their traditional requirements approaches and instead learn to do "just enough requirements at the right time."
Organizations will also be looking at requirements tools, according to Robin F. Goldsmith, president of consulting firm Go Pro Management Inc. in Needham, Mass. "Products that enhance and assist the discovery of requirements definitely are going to become more prevalent," Goldsmith said.
However, he added, "Just because you use tools, you're not [necessarily] discovering the real business requirements. But I think it's an area that will grow, because people are more willing to buy a tool to solve a problem then come to grips with the skills and conceptual issues. The tools will only help in a limited fashion."
Even if development organizations get the requirements right, the application still has to pass through quality assurance and testing. In a tight economy, this puts more pressure on testers. Karen Johnson, a software testing consultant, is already feeling the impact.
"I'm starting to see companies doing less hiring, bringing in more contract work, and also hiring less people to do it all. When the market is good you hire a functional tester, an automation expert, etc. I'm seeing job descriptions where they want one person to do everything. They want to hire one person who has a long list of skills and will work alone or in a small team."
More pressure on testers can lead to more errors, which Johnson said she is also beginning to see. "I'm seeing more errors on more sites, and some are large, significant sites. I don't know what the market will do -- will it shrug and accept it, or will there be a backlash? Most of the time people don't think about software testing, but they might when they go to significant sites and have errors."
However, Johnson does not think all is grim. "The economy is difficult, but software testing will always be needed. With more people online and more sites not working it will be noticeable. The question is what the tolerance level will be."
Judy McKay, author of Managing the Test People, thinks 2009 will be a lean year for QA and testing, "but also an opportunity for us to prove we can save the organization money and time, because there will be a lot of emphasis on money and time."
The state of agile
Our experts pretty much agree that agile will continue its push into the mainstream in 2009, but that doesn't mean organizations will get agile right.
James Shore, consultant, co-author of The Art of Agile Development and signatory number 10 to the Agile Manifesto, is both pessimistic and optimistic for the state of agile in 2009. On the pessimistic side, he said, "It's human nature for people to adopt things in a shallow way, so there will be more developers doing iterations but without the social and technical things that make agile work. We will see both the continuation of big, high-profile agile adoptions and big, high-profile agile failures, or failure being blamed on agile -- but I suspect they're not using it correctly."
But Shore is also optimistic that some development organizations will start to take a deeper dive with agile. "Perhaps some companies that started shallow will go deeper, and we'll see more focus on the technical [aspects of agile], in particular incrementalism. I hope to see more emphasis on incremental design and architecture, sometimes called continuous design. It's important to see long-term technical successes. Companies will see short-term successes without [incrementalism], but what happens is the architecture doesn't support continual development over the long term and they have trouble maintaining the software."
Dig Deeper on Software Requirements Gathering Techniques