Agile practices have been in place in enterprise companies for a decade, and yet many are now faced with the issue of scaling the practices to larger projects. For others, they want to use it in other areas of their business, including marketing, IT and sometimes even quality assurance teams. Each methodology scales in its own way, according to analysts and tool suppliers, and each company needs a different method—or a combination of several—to continue on the path toward full business agility.
Development groups that follow the agile practices of Scrum, test-driven development, Extreme Programming and the lean principle of Kanban are all able to accept changes, make changes quickly and produce something of value for their company. Many work in short iterations, collaborative environments and with constant feedback from the client or customer. Many in today’s IT world often work in different geographical locations as well, and this is where many companies struggle, according to analysts.
“Agility is a strategic business issue,” said Jim Highsmith, executive consultant for ThoughtWorks. Highsmith said scaling in terms of agile methods can be thought of in two ways: growing larger, from 8–10 person teams to hundreds of people on a given team or project; and also using agile methods throughout an entire enterprise company.
Israel Gat, practice director for agile project and product management at the Cutter Consortium IT advisory firm, said that most companies start scaling with development because the agile concepts are most well-understood by developers. Then they scale to “dev ops, starting with IT, marketing and customer support.
“It is not a matter of one [agile] method or another, but applying an end-to-end program,” he said. “Once you get a team going, you should be able to utilize the velocity of a [development] team in all phases of the company.”
Gat said that Scrum is often the first methodology to be tried when companies decide to implement agile methods because everyone can start doing it quickly. “It tells me [what] my role [is], what to do and what I have to produce,” he said.
Kanban’s contributions
David Norton, an analyst at Gartner, said that in theory Scrum is the easiest method to do, but in practice it’s hard.
“How do you actually manage a ‘scrum of scrums?’ Kanban is better for large teams to start their agile approach,” he said.
Norton believes that Kanban is the “game changer” and that in the next 10 years, more organizations will incorporate this in their end-to-end agility strategy.
“We’re already seeing a merge to lean. Lean is the overriding principle. Lean speaks to all parts of the enterprise organization; we all have waste, even marketing,” he said.
Norton predicted that the agile development teams in the enterprise space will ultimately merge to lean with a few agile methods plugged in.
Damon Poole, AccuRev’s founder and CTO, said lean is behind the agile movement, and Scrum is an implementation, as is Kanban.
“Scrum has a definite time box structure and it breaks bad habits. Kanban does not,” Poole said. He advised that companies starting out should use Scrum for at least a year or two in order to change the mindset of the developers and allow them to adapt to the good habits of Scrum.
AccuRev’s eponymous tool is designed for teams that use a variety of methods at different points of their scaling cycle.
Poole added that education and executive support is essential for companies looking to transform their development processes. He advised “widespread education” for members of teams transitioning to agile and said that the dedication to the process is what enables success in the long run.
Some software companies, like CollabNet, not only produce tools for other enterprise companies to use to apply agile methods to their development needs, but they also use the methods in-house.
Luke Walter, an agile coach at CollabNet, said “Scrum is the training wheels for agile,” and that the “adoption of agile is still in the early stages.” CollabNet’s ScrumWorks tool comes in a professional version that helps enterprise teams scale their agile practices by providing a centralized workstation that can be viewed by all team members, with records kept and edited simultaneously.
Most companies work with Scrum but pull other practices in to create a hybrid, according to Scott Ambler, chief methodologist at IBM Rational.
“When people adopt agile, they are often doing so by adopting Scrum, but also adopting practices and ideas from a wide variety of sources and methods. Scrum is a small portion of what companies are doing in practice,” Ambler said.
“The vast majority of teams do agile modeling—sketching on a whiteboard, collecting user stories, recording ideas in the form of an agile tool—and these teams don’t realize what they’re doing,” he added.
Stronger together
Ambler said that the combination of methods is what makes teams successful, something Highsmith agreed with. Highsmith said that using a variety of methods is, in fact, the “only way to be agile.”
Ambler said that the most successful scaling attempts begin with small teams completing one successful delivery cycle and then applying that successful end-to-end strategy to other teams, tailored to the needs of the company and projects.
Jeff McKenna, chief agile evangelist for Serena Software, said that a project management office should do lean value stream analysis before even beginning to implement agile methodologies.
“I think for adoption of agile, lean is a better place to start because you understand [agile] better. [Using lean analysis] will tell you where having a Scrum team [or implementing TDD, XP or any other agile method] will add value,” he said.
He added that lean thinking also allows you to view the entire organization—from marketing to the whole development process—and determine where the process slows down. He said that by eliminating the amount of time it takes for projects to be approved, or for the marketing team to create a strategy, can be a needed boost in productivity.
TeamPulse, a tool from Telerik, helps enterprise companies combine methodologies, as Joel Semeniuk, executive vice president for team productivity at Telerik, explained.
“Different methods target different things; for example XP targets how people develop, so it’s good for developers, whereas Scrum is sometimes better for project managers,” he said.
Semeniuk is Scrum-certified and gives lectures on agile vs. lean and how to be more productive using these methods. He said that the best method of scaling is to pull in different methods, particularly for geographically dispersed teams.
Telerik uses agile methods and its own tool internally, which Semeniuk said helps it to be more productive as information is stored in the tools and can be accessed by any member at any time.
Microsoft Link and Skype are also valuable tools for geographically dispersed companies, Semeniuk said. And he agreed that Scrum is often the first method attempted by teams who switch to agile methods, mainly because of the “daily habits it instills in a team.”
He also agreed that the industry is “adopting agile and slowly becoming lean, as it is older and has more production-focused methodologies.”
David Intersimone, vice president of developer relations and chief evangelist at Embarcadero Technologies, said that scrum is used internally for projects and products, and that they use Feature Driven Development, which allows you to pick one feature at a time, add it to a backlog and design for those features in different iterations, for website design. Intersimone said having a backlog of features and the ability to release workable code is necessary for Embarcadero, while lean technologies don’t apply to its products.
“Lean is not really useable here, [lean is] more about [having] many contractors [provide] many parts for one solution,” he said, instead of a team working collaboratively and openly to create one product.
Agile is the standard
Intersimone believed that agile has taken off because of the world of “object-oriented programming…Java, .NET and native languages.” He said that agile is the standard for desktop development, device development and software development, and has since about 2003. Embarcadero moved to agile internally six years ago. Embarcadero uses Scrum, XP and FDD, which is what he said they also see with their customers.
CollabNet’s Walter said all major agile methodologies go against the teachings of waterfall software development, although, Walter said that waterfall is still commonly used. Stanislav Kalkanov, head of the Luxoft’s Quality Center, and Konstantin Gurnov, program manager at Luxoft, both agree that waterfall methods and agile methods are being molded together to increase team productivity.
Luxoft is a Russian-based software developer that specializes in offshoring for software teams. They practice agile methods in all areas of their business, not just in their development processes.
Kalkanov said that, internally, Luxoft has about 55 Scrum Masters and more than 300 teams spread out across seven countries. It uses Atlassian’s JIRA for bug and issue tracking, and Atlassian’s GreenHopper for project management in order to keep track of its code changes. Additionally, they use Atlassian’s Confluence, an enterprise wiki system that combines online authoring capabilities, Office integration and a plug-in catalog to help people work together.
Luxoft’s tool, LuxProject, is a solution that integrates all the tools it uses internally for its clients. Its clients consist of many service companies and others, like Boeing, where the waterfall method is often used because of the critical nature of its software. Boeing has to get the system right every time, and it can’t go back and add features in the event a bug occurs or something fails.
Gurnov said that Gartner released a survey regarding agile adoption, which predicts that by 2012, agile methods will be used in 80% of all software development projects. He believes this to be true based on his work with Luxoft’s employees and clients.
He said that Luxoft uses a combination of Kanban and Scrum internally and with customers, depending on the stage of the product.
“Scrum is used for products in the active stage, while Kanban is used for support and maintenance projects,” Gurnov said. He also believes lean and agile should be used together in order to scale successfully.
“Luxoft is a lean company. We are actively adopting lean and depending on our clients’ needs,” Gurnov said.
“From a business perspective, [you should] treat lean as a [willingness] to change everything and be ready to change ” Kalkanov said.
New processes for scaling agile are still being developed, including the agile modeling methodology CollabNet’s Ambler discussed, and also his Disciplined Agile Delivery (DAD).
DAD is a full life-cycle delivery plan, with serial plans in large projects and iterative plans in small projects. It allows for high-quality solutions and collaborative self-organization, and it produces repeatable results, Ambler explained in his blog. Additionally, he said that there is active stakeholder participation, making the user or client an integral part of the development and delivery process.
CollabNet’s Walter believes the adoption of agile is still in the early stages, and agile might be replaced someday, but it so clearly represents improvement over other methods for software development that it might not be, at least not in the near future.
For those looking to scale to larger teams, Walter advised that they “start with small pilot programs that are well protected and that are doing Scrum by the book. Don’t bend the process to suit impediments. Change with the process, get good at doing that, and then scale.”