Going With The Flow: Agile Development at Dell
Going With The Flow: Agile Development at Dell
Going With The Flow: Agile Development at Dell
On a chilly February 6, 2017, Flow Project Coordinator Larry Ferreira walked across
the large Dell Technologies-Limerick campus, after meeting with Programme Manager
Peter O’Dwyer, to talk about an upcoming meeting with Dell’s Systems and Process
Improvement (SPI) Board. Ferreira would have 20 minutes to brief the Board on an
important initiative, and O’Dwyer informed him that the SPI Board wanted each
presenter to succinctly deliver no more than “three key messages” to the Board.
Ferreira worked in two roles: as project manager of a Dell agile software
development team, and as the Flow Coordinator. In this latter role, he devoted about
20% of his time to helping 36 software developers master new tools and techniques,
collectively referred to as Flow. In Summer 2016 the SPI Board (the top echelon of
leadership at Dell Technologies-Limerick) decided to adopt Flow, in the belief that
these agile tools and techniques would support Dell’s new software-reliant service-
centric strategy. Ferreira believed Flow was well suited to Dell’s globally distributed
software development activities. Yet, he feared some directors’ expectations might not
be realistic. “They want evidence that we are developing better quality code, faster, but
it takes time to master new skills!”
Entering his office and hanging up his coat, Ferreira wondered: what could he say
in tomorrow’s meeting, to persuade the SPI Board to be patient and supportive?
DELL TECHNOLOGIES
Dell, headquartered in Texas, was founded in 1984 by 19 year-old Michael Dell as a
personal computer company. In September 2016 Dell acquired Massachusetts-based
EMC in a $67 billion deal. Founded in 1981 as a producer of computer memory boards,
EMC expanded into storage devices and systems, content management systems,
-----------------------------
Copyright 2021 by the Case Research Journal and by Denis Dennehy, Kieran Conboy and Janis
Gogan. The authors developed this field-researched case for class discussion rather than to illustrate
either effective or ineffective handling of the situation. Employee names are pseudonyms but the
facts of the situation and company are not disguised. The authors thank CRJ Editor Gina Grandy,
Associate Editor Karen Boroff, anonymous NACRA and CRJ reviewers, and NACRA 2020
roundtable participants. This work was supported with funding from Bentley University, Science
Foundation Ireland grant 13/RC/2094, and the European Regional Development Fund through
the Southern & Eastern Regional operational Programme to Lero – the Science Foundation Ireland
Research Centre for Software (www.lero.ie).
Contact Author: Janis L. Gogan, Bentley University, 175 Forest Street, Waltham MA 02452-4705
USA, 508-748-1952 jgogan@bentley.edu.
This document is authorized for use only by Yanglin Lin in ISYS5943 (Fulltime) taught by Hartmut Hoehle, University of Arkansas - Fayetteville from Jan 2022 to Jul 2022.
For the exclusive use of Y. Lin, 2022.
security software and services, and cloud computing. Both companies had long
employed a collaborative approach to product design and development; their engineers
collaborated with customers and partners worldwide to design new systems, within the
context of an architectural framework for integrating new technologies with existing
products. In 2017 Michael Dell (CEO) achieved his long-term strategy - positioning
the recently-renamed Dell Technologies (Dell Tech) as an end-to-end computing
solutions company.1 Its FY2017 Annual Report2 stated:
We are focused on providing technology solutions and services that accelerate
digital transformation, which is the enablement of organizations to maximize
their potential through modernizing IT infrastructure, enabling efficient use of
IT resources, providing the means to leverage data to make business decisions,
refining processes, keeping data secure, and empowering individuals.
With more than 100,000 employees, Dell Tech sold its products and services to
large businesses and public-sector organisations, small/medium-size businesses, and
individual consumers. After acquiring EMC, its expanded portfolio offered hardware
and software that enabled customers to implement private or hybrid clouds, software-
defined data centres, and converged infrastructures. Dell emphasized its platform-as-
a-service, data analytics, mobility and cybersecurity products and services.
In Ireland, about 2,500 Dell employees worked on three campuses: Cork, Dublin,
and Limerick. The Limerick campus (open since 1991) was a strategic global hub that
covered five vertical segments: 1) research and development, 2) software and solutions
development, 3) service operations, 4) supply chain operations, and 5) finance.
Limerick was also home to several EMEA (Europe, Middle East and Africa)
operations, including Dell’s EMEA Applications Solution Centre.
This document is authorized for use only by Yanglin Lin in ISYS5943 (Fulltime) taught by Hartmut Hoehle, University of Arkansas - Fayetteville from Jan 2022 to Jul 2022.
For the exclusive use of Y. Lin, 2022.
This document is authorized for use only by Yanglin Lin in ISYS5943 (Fulltime) taught by Hartmut Hoehle, University of Arkansas - Fayetteville from Jan 2022 to Jul 2022.
For the exclusive use of Y. Lin, 2022.
Scrum
Scrum consisted of four ceremonies:
1. Sprint Planning: Work was divided into two-week or four-week “sprints” (at
Dell, two-week sprints were the norm).
2. Daily Scrum (or Standup): Each day, each team member reported to their
scrum master and teammates, about what they did the previous day and
intended to do this day.
3. Sprint Review: At the end of each sprint, team members demonstrated new
software code to stakeholders.
4. Sprint Retrospective: Also at the end of each sprint, the team gathered to reflect
how things went and what they would like to change.
A sprint Product Backlog – a prioritised list of tasks for a team to work on next (e.g.,
features to support, bugs to fix) -- was derived from a Roadmap and its requirements.
O’Dwyer focused on two agile software development performance indicators:
user stories per project and user stories per two-week sprint (a.k.a. “velocity”).
Regarding this latter metric, O’Dwyer told Ferreira that Dell software teams typically
completed 12 to 15 user stories per sprint.
Flow
Flow,i inspired by lean manufacturing (a waste-reduction/quality improvement
technique) supported continuous software delivery.5 A promotion for an early Flow
book6 explained that developers could “achieve breakthrough quality, savings, speed
and business value by adopting seven ‘lean’ principles that … already revolutionized
manufacturing and R&D” (See Exhibit 3). Flow described how development tasks
moved through a system. In a system with good Flow, work moved through steadily
and predictably. In a system with bad Flow, work stopped and started frequently.7
Thus, Flow supported software deployment by emphasising continuous movement of
value-added work, instead of discrete activities performed by separate teams or
departments,8 through the entire development process.9 It differed from traditional
software project management, in its focus on managing queues instead of project
timelines and phases.10
Flow relied on two key quality metrics:
• Cycle Time: how long a task spent in specific individual or combined workflow
states.
• Lead Time: how long it took for a work item to move from initial request to
delivery to a customer.
Before Ferreira was hired, Dell Tech - Limerick teams were told to learn to work
with four Flow tools: Kanban boards, Value Stream Maps, Cumulative Flow Diagrams
(CFDs), and Burn-Down Charts (See Exhibit 4). These and other Flow techniques
reportedly yielded higher development productivity than time-boxed Scrum sprints,
which interrupted the fluent flow of work11(See Exhibit 5).
O’Dwyer said that several directors – including Solution Management Director
John O’Brian, Digital Supply Chain Director Mike Mulligan, and Manufacturing
Director Fitzpatrick -- were keen to demonstrate the Limerick software development
and IT divisions’ commitment to continuous, efficient software delivery. Since Dell
had produced computers in Limerick since 1991, O’Dwyer explained, he and other
Directors recognized that Flow was both agile and lean; similar cycle time and lead
time metrics would help managers monitor software development productivity.
In 2009 manufacturing was moved from Limerick to Poland (eliminating 1,900
production jobs12 --- two-thirds of the Limerick workforce at the time). Fitzpatrick still
This document is authorized for use only by Yanglin Lin in ISYS5943 (Fulltime) taught by Hartmut Hoehle, University of Arkansas - Fayetteville from Jan 2022 to Jul 2022.
For the exclusive use of Y. Lin, 2022.
relied on two Lean Six Sigma manufacturing metrics in use at Dell for many years --
cycle time and lead time.
Two Lero-supported NUI Galway faculty members were conducting a study of
teams’ successes and challenges during Flow pilot testing. A Flow Coordinator,
appointed earlier in Summer 2016, left Dell shortly before Ferreira was hired at the end
of the summer. After learning more about the Flow pilot testing from O’Dwyer,
Ferreira volunteered to add Flow Coordinator to his team project manager role.
O’Dwyer agreed enthusiastically, and added that he hoped that as the pilot testing of
Flow Techniques continued, some team members would become Flow experts, who
could then be tapped to help other Dell developers learn Flow techniques, in Ireland
and elsewhere.
As Flow Coordinator, Ferreira resolved to spread the word about helpful tools and
metrics and to celebrate early wins as the four Limerick teams mastered new tools and
overcame challenges.
This document is authorized for use only by Yanglin Lin in ISYS5943 (Fulltime) taught by Hartmut Hoehle, University of Arkansas - Fayetteville from Jan 2022 to Jul 2022.
For the exclusive use of Y. Lin, 2022.
This document is authorized for use only by Yanglin Lin in ISYS5943 (Fulltime) taught by Hartmut Hoehle, University of Arkansas - Fayetteville from Jan 2022 to Jul 2022.
For the exclusive use of Y. Lin, 2022.
specific benefits arising from use of specific Flow tools. Ferreira hoped both of these
knowledge repositories would help build momentum for an eventual worldwide Flow
rollout.
In early January, Ferreira learned that on 7 February 2017, at the Systems and
Processes Improvement SPI Board meeting, he would have a 20-minute slot to
summarize Flow successes and challenges thus far. Fitzpatrick, Mulligan, O’Brian and
other Dell-Tech Limerick Directors would attend this meeting; Ferreira learned the
tone would be formal, not casual. In order to prepare for his presentation, Ferreira
asked each project manager to report on their team’s use of four key Flow tools (See
Exhibit 4), and their lead time and cycle time metrics. All four teams were piloting
physical Kanban boards, but Teams 1 and 2 were farther along than teams 3 and 4 in
adopting Flow practices. Teams 1 and 2 pulled some relevant data from the code
management tool, to achieve limited digital Kanban functionality and to generate more
accurate CFDs. Teams 1 and 2 also created value stream maps to identify Flow
impediments, and they were achieving a steady and predictable (“good”) workload.
Teams 3 and 4 had not yet produced value stream maps, and experienced unpredictable
(“bad”) flow.
Ferreira concluded that Teams 1 and 2 were making good progress on two key
practices:
1) value clearly defined by customer (via Product Owner-reported customer
requirements)
2) work ‘pulled’ through the system in single-piece Flow (when a story is
completed by a developer, it is immediately released to testing; not released in
sprint batches).
Ferreira asked the project managers to describe benefits their teams achieved from
Flow thus far. All four teams noted that their heavy development workloads made it
difficult to continuously reflect on value delivered or Flow impediments. Although
they could not claim to be continuously improving, all four teams nevertheless reported
they did feel the following benefits were already being realized:
o 100% compliance with work states in the code management tool.
o greater ownership of defects.
o greater visibility of defects not being closed promptly.
o quality control checks integrated throughout each sprint.
o improved planning and resource allocation.
o improved communication between teams.
Ferreira knew the SPI Board would ask about productivity. Learning that teams 2,
3 and 4 had not yet captured baseline cycle time or lead time metrics, he focused on
his team (Team 1). Since the code management tool did not automatically produce
Flow metrics, he extracted relevant data from its time stamp feature (e.g., date when a
software requirement was requested and date when it was completed). After going
through a laborious manual process to extract six months’ data (through January 2017)
and convert it into Microsoft Excel, Ferreira reported that Team 1’s average lead time
dropped from 109 to 39 days, and its average cycle time dropped from 31 to 24 days.
When Ferreira mentioned how he obtained these metrics, O’Dwyer commented: “The
only way to embed a process is to automate it. If it’s not in the code management tool,
it will fail.”
Later in January, Ferreira participated in a Scaling Flow to Project Portfolios workshop
at a national bank’s Dublin headquarters; this bank made advanced use of Flow. Of
the 40 attendees, 10 were from Dell and 30 from five other companies. As part of a
breakout activity, Ferreira listed Flow scaling challenges: getting buy-in from software
This document is authorized for use only by Yanglin Lin in ISYS5943 (Fulltime) taught by Hartmut Hoehle, University of Arkansas - Fayetteville from Jan 2022 to Jul 2022.
For the exclusive use of Y. Lin, 2022.
This document is authorized for use only by Yanglin Lin in ISYS5943 (Fulltime) taught by Hartmut Hoehle, University of Arkansas - Fayetteville from Jan 2022 to Jul 2022.
For the exclusive use of Y. Lin, 2022.
This document is authorized for use only by Yanglin Lin in ISYS5943 (Fulltime) taught by Hartmut Hoehle, University of Arkansas - Fayetteville from Jan 2022 to Jul 2022.
For the exclusive use of Y. Lin, 2022.
This document is authorized for use only by Yanglin Lin in ISYS5943 (Fulltime) taught by Hartmut Hoehle, University of Arkansas - Fayetteville from Jan 2022 to Jul 2022.
For the exclusive use of Y. Lin, 2022.
Software development entails requirements specification, analysis, design, coding, and testing
Beginning with their adoption in business in the 1950s, computers grew more powerful year
after year, yet software development productivity improved at a slower pace. Also, many
software development projects delivered software late or with sub-optimal functionality.
In the 1960s software development was a craft; individual skill was developed through trial and
error. Software languages were cryptic, and coding was highly specialized and difficult for
laymen to grasp.
The launch of the IBM PC in August 1981 set off a wave of innovation, with end-users
adopting off-the-shelf electronic spreadsheets and user-friendly database products, to develop
their own ad hoc applications. At the same time, software engineering took hold as a rigorous
discipline. Managers had come to understand that reliance on self-taught coders was risky; if a
coder did not document their work, their system knowledge walked out the door if they retired
or otherwise left the organization.
By the 1990s, hardware improvements and the Internet’s growing importance for information
sharing and commerce made it possible (and necessary) to build more complex and
interdependent systems to support teams, enterprises, and inter-organizational commerce and
collaboration-- which in turn meant that organizations had to cope with greater software
complexity and disappointing results.
In an ideal Waterfall model of software development, requirements inform analysis, which
inform design, which guides coding. In the 1990s many developers used structured Waterfall
methods and computer-aided software engineering (CASE) tools, to carefully specify and
codify system requirements. Analysis and design documentation relied on manual or computer-
supported modeling techniques to produce data flow diagrams, entity-relationship diagrams,
and “swim lane” system flowcharts. Programmers were required to document their code
(mostly by inserting explanatory comments in their programs). Use of models, CASE tools and
coding documentation helped ensure that functional requirements were incorporated into
systems and that the software could be subsequently modified by staff other than the original
developers.
Unfortunately, it took time to develop, review and approve flowcharts, data flow diagrams and
other models. These also had to be re-developed whenever circumstances gave rise to new
requirements. Because the pace of business operations and strategy was accelerating, it was
often the case that by the time a two- or three-year project was completed, the software no
longer suited the current business situation. Waterfall’s earliest proponents15 did recognize that
a to-be system model was subject to revision as circumstances changed, but they
underestimated both the pace of business change and developers’ frustration about spending
time building models or documenting their code, compared with actual coding (which they
prized).
To address these concerns, Rapid Prototyping, Extreme Programming (XP) and other newer
techniques helped reduce the documentation burden and empowered developers to build
software iteratively in shorter cycles, and in collaboration with customers.
In early 2001, 17 software developers met at a Utah ski resort to produce an Agile Software
Development Manifesto, based on four key values for team-produced high-quality software:
1. Emphasize individuals and interactions, not processes and tools
2. Emphasize working software, not comprehensive documentation
3. Emphasize customer collaboration, not contract negotiation
4. Emphasize responding to change, not following a plan
Source: Booch, G., 2018. The history of software engineering. IEEE Software, (35:5), pp.108-
114. Slightly paraphrased by case authors, for clarity and brevity.
This document is authorized for use only by Yanglin Lin in ISYS5943 (Fulltime) taught by Hartmut Hoehle, University of Arkansas - Fayetteville from Jan 2022 to Jul 2022.
For the exclusive use of Y. Lin, 2022.
1. Eliminate waste (anything that does not add value to a product). A component sitting on a shelf
gathering dust is waste. A requirements [document] gathering dust is waste. If a [factory] makes more
stuff than is immediately needed, that is waste. Coded features that are not immediately needed --
waste. The ideal is to find out what the customer wants, [quickly] make or develop it, and deliver it.
Whatever gets in the way of rapidly satisfying a customer need is waste.
2. Amplify learning. [Software] development is an exercise in discovery … like creating a recipe.
Great chefs ….are not expected to produce a perfect recipe on the first attempt; they produce several
variations. … Software development is a similar learning process, with the added challenge that
development teams are large, and results are far more complex than a recipe. The best way to improve
software development is to amplify learning.
3. Decide as late as possible. Development practices that [support] late decision making are effective
in domains that involve uncertainty, because they provide options. Delaying decisions is valuable
because better decisions can be made when based on fact, not speculation. In an evolving market,
keeping design options open is valuable. A key strategy for delaying commitments when developing a
complex system is to build a capacity for change into the system.
4. Deliver as fast as possible. Rapid development has many advantages. Without speed, you cannot
delay decisions [and] you do not have reliable feedback [in] a discovery cycle -- Design, Implement,
get Feedback, Improveiii -- the shorter the cycles, the more that can be learned. Speed [means]
customers get what they need now, not what they needed yesterday. It allows them to delay making
up their minds about what they really want until they know more. Compressing the value stream as
much as possible is a fundamental lean strategy for eliminating waste.16
5. Empower the team. … The people who actually do the work combine the knowledge of minute
details with the power of many minds. When equipped with necessary expertise and guided by a leader,
they make better technical decisions and better process decisions than anyone can make for them.
Because decisions are made late and execution is fast, a central authority [cannot] orchestrate workers’
activities. Lean practices use pull techniques to schedule manufacturing work. Workers use local
signalling mechanisms to let each other know what needs to be done. In lean software development,
the pull mechanism is an agreement to deliver increasingly refined versions of working software at
regular intervals. Local signalling occurs through visible charts, daily meetings, frequent integration,
and comprehensive testing.
6. Build integrity in. A system is perceived to have integrity when a user thinks, "Yes! That is exactly
what I want!" A [product’s] market share is a rough measure of perceived integrity, because it measures
customer perception over time. Conceptual integrity means that a system's central concepts work
together as a smooth, cohesive whole; it is a critical factor in perceived integrity.[15] Software needs
an additional level of integrity; it must maintain its usefulness over time. Software is usually expected
to evolve gracefully as it adapts to the future. Software with integrity has a coherent architecture, scores
high on usability and fitness for purpose, and is maintainable, adaptable, and extensible.
7. See the whole. Integrity in complex systems requires deep expertise in many diverse areas. One of
the most intractable problems with product development is that experts have a tendency to maximize
performance of the part of a product representing their own specialty, rather than focusing on overall
system performance, [which can lead to] sub-optimization. This problem is even more pronounced
when two organizations contract with each other, because people will naturally want to maximize [their
company’s] performance. It is challenging to implement practices that avoid sub-optimization in a
large organization, and it is an order of magnitude more difficult when contracts are involved.
This document is authorized for use only by Yanglin Lin in ISYS5943 (Fulltime) taught by Hartmut Hoehle, University of Arkansas - Fayetteville from Jan 2022 to Jul 2022.
For the exclusive use of Y. Lin, 2022.
Value Stream Map: Follows an item of work, in order to establish the value added in each processing step.
Useful for identifying value from four key perspectives: (i) financial, (ii) customer, (iii) internal business
process, and (iv) innovation.
Kanban Board: project focused visualisation of workflow states as work moves through the organisation.
This card-based system enables team members to observe work-in-progress (WIP), self-organise, and move
work from a backlog through to Done. A Kanban board can use physical or digital cards (or “tickets”).
Cumulative Flow Diagram (CFD): An aggregated view of work in each defined work state (represented
on the Kanban board). Useful for understanding the behaviour of queues and diagnosing problems.
Burn-down Chart: Shows an aggregated view of amount of work that remains versus time left in a sprint.
Useful for predicting when work will be complete, given the current pace of the team.
This document is authorized for use only by Yanglin Lin in ISYS5943 (Fulltime) taught by Hartmut Hoehle, University of Arkansas - Fayetteville from Jan 2022 to Jul 2022.
For the exclusive use of Y. Lin, 2022.
Flow Scrum
Work pulled through system in single- Work pulled through system in small batches
piece Flow
Work item sizes vary; Work items broken into sprint-sized chunks
no rule requires item completion in
specific time-box
Source: Dennehy & Conboy 2018,17 Slightly paraphrased by case authors, for clarity and
brevity.
This document is authorized for use only by Yanglin Lin in ISYS5943 (Fulltime) taught by Hartmut Hoehle, University of Arkansas - Fayetteville from Jan 2022 to Jul 2022.
For the exclusive use of Y. Lin, 2022.
Exhibit 6 - Physical Kanban board with ‘Stop Starting, Start Finishing’ slogan
REFERENCES
1 Dell Technologies FY 2017 Annual Report, Feb 3 2017.
2 Dell Technologies FY 2017 Annual Report, Feb 3 2017.
3Carmel, E., Espinosa, J.A., Dubinsky, Y. 2010. "Follow the Sun" workFlow in
global software development. Journal of Management Information Systems (27:1),
pp.17-38.
4Agile Software Development Manifesto.
https://www.agilealliance.org/agile101/the-agile-manifesto/
5Anderson, D., Concas, G., Lunesu, M.I., Marchesi, M., Zhang, H. 2011. “Studying
Lean-Kanban Approach Using Software Process Simulation,” In A. Sillitti, O.
Hazzan, E. Bache, X.Albaladejo (Eds.), International Conference on Agile Software
Development, pp. 12-26. Berlin: Springer.
6Poppendieck, M. & Poppendieck, T. 2003. Software Development: An Agile
Toolkit. Addison Wesley. ISBN 0-321-15078-3.
7 Lean Business Report 2017
8Fitzgerald, B. & Stol, K.-J. 2015. “Continuous software engineering: A roadmap
and agenda,” Journal of Systems and Software (123), pp. 176-189.
This document is authorized for use only by Yanglin Lin in ISYS5943 (Fulltime) taught by Hartmut Hoehle, University of Arkansas - Fayetteville from Jan 2022 to Jul 2022.
For the exclusive use of Y. Lin, 2022.
9Anderson, et al., 2011 (op cit.); Reinertsen, D.G. 2009. The Principles of Product
Development Flow. Redondo Beach, CA: Celeritas; Petersen, K. & Wohlin, C. 2011
“Measuring the flow in lean software development,” Software: Practice and
Experience (41:9), pp. 975-996.
10Anderson et al., 2011 (op cit.); Anderson, D. 2013. Lean Software Development.
Seattle WA: Lean Kanban University (LKU); Power, K. & Conboy, K. 2015. “A
metric-based approach to managing architecture-related impediments in product
development flow: An industry case study from Cisco,” In: A. Bertolino (Ed.),
Proceedings of the Second International Workshop on Software Architecture and
Metrics, pp. 15-21. Florence, Italy: IEEE Press.
11Sjøberg D.I., Jonsen, A., Solberg, J. 2012. Quantifying the effect of using Kanban
versus Scrum: A case study, IEEE Software (29:5), pp. 47-53.
12Gifford, R. 2009. “Dell to Close Irish Factory, Move to Poland.” National Public
Radio, Morning Edition, 13 January.
https://www.npr.org/templates/story/story.php?storyId=99276446
13 Roock, A. 2018. Stop Starting and Start Finishing. Lean Kanban University Press.
14Carmel E., Espinosa A., Dubinsky Y. 2010. “Follow the Sun” workflow in global
software development. Journal of Management Information Systems (27:1).
Royce, W. 1998. Software Project Management: A Unified Framework. Reading,
15
NOTES
iThe concept of Flow in software development literature is not related to
psychological Flow, which refers to a state of concentration or complete absorption
in an activity (Csikszentmihalyi; 1975; 1991).
ii As compared with a course-based MA or MSc program, an MPhil program involves
independent research under the supervision of a faculty member. See
https://gradireland.com/further-study/advice-and-funding/advice/research-vs-
taught (downloaded April 25 2020).
iii This is similar to the Lean Six Sigma DMAIC technique (Define, Measure, Analyse,
Improve, Control).
This document is authorized for use only by Yanglin Lin in ISYS5943 (Fulltime) taught by Hartmut Hoehle, University of Arkansas - Fayetteville from Jan 2022 to Jul 2022.