Better Software Summer 2017

Download as pdf or txt
Download as pdf or txt
You are on page 1of 49

SUMMER 2017

10
Lessons Learned
in Cross-Platform
Development
YOU MAY NOT BE AGILE THINKING UPSIDE DOWN
10 things you must do to claim the Motivate your team to even greater
benefits of transitioning to agile levels of achievement
OCT. 16, 2017
ANAHEIM, CA
CLICK HERE FOR DETAILS
On the Cover
10 Lessons Learned
in Cross-Platform
IN SID E Development
Building an app for a single
platform is difficult, but designing,
implementing, and testing an
app targeting multiple operating
Volume 19, Issue 3
system platforms can be next to
SUMMER 2017
impossible. The secret balances
upfront design with customer

16 feedback. by Dewey Hou

Features

24 30 38
The Power of Thinking Upside 10 Things You Must Do to How Technology Is Changing
Down Become Truly Agile the Way We Learn
Software developers can become Agile is not a state of doing; its a state Modern technologies like virtual reality,
bogged down trying to keep up with of being. Adopting business models on cloud-based systems, and measurement
agile process and procedures. Get better value and learning how to make teams of content have disrupted how we learn.
results by rethinking your approach to autonomous are both necessary steps Standards have evolved to improve how
balancing focus, agility, management, to reap the benefit of agility. learning material can be published to
and testing. by Paul E. McMahon by Jim Schiel any device. by Troy Tolle

Columns Departments

09 TECHNICALLY SPEAKING
45 CAREER DEVELOPMENT 06 Mark Your Calendar
Achieving Continuous
Improvement and Innovation
You Get What You Tolerate
Weve all worked with a talented
07 Editor's Note
in Software developer who can be a frustrating 08 Contributors
There is tremendous pressure on
software development teams to deliver
challenge to manage. First-time
managers may unknowingly encourage 12 Interview with an Expert
software faster, better, and cheaper.
Quality engineering with a focus on
bad behavior. There are several
innovative ways to resolve the situation.
43 TechWell Insights
innovation is the answer. by Mike Sowers by Andy Kaufman
47 Ad Index
Better Software magazine brings you the hands-on, knowledge-building information you need to run smarter projects and deliver better
products that win in the marketplace and positively affect the bottom line. Subscribe today at BetterSoftware.com or call 904.278.0524.

BETTER SOFTWARE TechWell.com 5


M A R K YO U R C A L E N DA R

SQE TRAINING
A T E C H W E L L C O M P A N Y
Helping organizations worldwide improve their skills, practices,
and knowledge in software development and testing.

Software Tester CertificationFoundation Level


http://www.sqetraining.com/certification

Aug. 711, 2017 Aug. 2931, 2017 Sept. 1214, 2017 Sept. 1921, 2017
Virtual Classroom Denver, CO Philadelphia, PA Boston, MA

Aug. 1517, 2017 Sept. 1214, 2017 Sept. 1214, 2017 Sept. 2628, 2017
Detroit, MI Atlanta, GA Tampa, FL Dallas, TX

Agile Testing Training Week Mobile Testing Training Week


http://www.sqetraining.com/agile-week http://www.sqetraining.com/mobile-week

Sept. 1215, 2017 Sept. 2629, 2017 Sept. 1214, 2017 Nov. 1416, 2017
Philadelphia, PA Dallas, TX Philadelphia, PA San Jose, CA

Sept. 1922, 2017 Oct. 2427, 2017 Oct. 2426, 2017


Seattle, WA Washington, DC Washington, DC

Conferences
Cutting-edge concepts, practical solutions, and todays most relevant topics.
events TechWell brings you face to face with the best speakers, networking, and ideas.

October 16, 2017 October 1520, 2017


Anaheim, CA Toronto, Canada November 510, 2017
LEARN MORE
Orlando, FL
LEARN MORE
LEARN MORE

April 29May 4, 2018


Orlando, FL June 38, 2018
Las Vegas, NV
LEARN MORE
LEARN MORE

BETTER SOFTWARE TechWell.com 6


EDITORS NOTE

Rethinking How Software Is Developed


This Better Software issue will inspire you to rethink how software development should be ap-
proached. Building software for multiple platforms at the same time has always been difficult.
Our cover story by Dewey Hou, 10 Lessons Learned in Cross-Platform Development, will re-
move the mystery of how to do itand Dewey should know. He leads the development of some
amazing Windows and macOS commercial software products.

Both Better Software magazine and TechWell Corporation embrace the benefits of agile software
development. However, most of us have learned the hard way that being agile is never enough.
Ken Whitaker
That is why Im so impressed with Jim Schiels approach to agility in 10 Things You Must Do to
[email protected]
Become Truly Agile. And Paul McMahons The Power of Thinking Upside Down may be the
Twitter: @Software_Maniac
inspiration you need to motivate your team to greater levels of achievement.

The trend for online learning is augmenting, if not replacing, the traditional classroom. So how
exactly do cloud-based courseware solutions work? Troy Tolle, an early innovator in cloud-
based software development, explains it all in How Technology Is Changing the Way We Learn.

The market we serve demands software delivery to be faster, better, and cheaper. Mike Sowers
has some words of wisdom you wont want to miss in Achieving Continuous Improvement and
Innovation in Software. In every issue, we include an article on management or soft skills de-
velopment. What should you do when one employee impacts the effectiveness of an entire team?
Software managers are going to want to read Andy Kaufmans You Get What You Tolerate.

We value your feedback. Let us and our authors know what you think of the articles by leaving
FOLLOW US
your comments. I hope you enjoy reading this issue as much as we enjoy working with these
wonderful authors.

PUBLISHER Editorial Design Advertising Marketing


TechWell Corporation
BETTER SOFTWARE EDITOR CREATIVE DIRECTOR SALES CONSULTANTS MARKETING MANAGER
PRESIDENT/CEO Ken Whitaker Jamie Borders Daryll Paiva Cristy Bird
Wayne Middleton ONLINE EDITORS
jborders.com Kim Trott MARKETING ASSISTANT
Josiah Renaudin PRODUCTION COORDINATOR Allison Scholz
DIRECTOR OF PUBLISHING
Beth Romanik Alex Dinney
Heather Shanholtzer
PRODUCTION COORDINATOR
Donna Handforth

CONTACT US SUBSCRIBER SERVICES: ADDRESS:


[email protected] Better Software magazine
Phone: 904.278.0524, TechWell Corporation
EDITORS: 888.268.8770 350 Corporate Way, Ste. 400
[email protected] Fax: 904.278.4380 Orange Park, FL 32073

BETTER SOFTWARE TechWell.com 7


CONTRIBUTORS

Dewey Hou has worked as a software engineer, project manager, and technical product manager prior to his
current role leading product development at TechSmith. Dewey works with teams to improve software devel-
opment practices in quality assurance, user experience design, technical documentation, project management,
and build/release engineering. You can contact Dewey at [email protected].

Andy Kaufman, the voice of the Institute for Leadership Excellence & Development, Inc., helps organizations
around the world improve their ability to deliver projects and lead teams. He has more than twenty-five years
of software development experience and is the author of three books. As the host of The People and Projects
Podcast, Andy provides insights that help listeners lead people to deliver projects. Andy can be reached at
[email protected].

Paul E. McMahon is principal consultant at PEM Systems, where he coaches teams on practical agility and
process maturity approaches. Paul released his fifth book, Its All Upside Down: What Ive Learned about Software
Development and Why It Seems Opposite to Everything I Was Taught. It should come as no surprise that his book,
like his Better Software article, includes true upside-down success stories. When he isnt coaching, you can find
Paul running (including the completion of twelve Boston Marathons). Reach Paul at [email protected].

Josiah Renaudin is a longtime freelancer in the tech industry and is now a web-content producer and writer
for TechWell, StickyMinds.com, and Better Software magazine. He wrote for popular video game journalism
websites like GameSpot, IGN, and Paste Magazine, and now acts as an editor for an indie project published
by Sony Santa Monica. Josiah has been immersed in games since he was young, but more than anything, he
enjoys covering the tech industry at large. Contact Josiah at [email protected].

With more than thirty-two years of experience, Jim Schiel has worked in software development in highly regu-
lated industries. Jim transitioned Siemens Medical, an organization of more than a thousand developers, from
waterfall to agile practices. The author of several books, including Enterprise-Scale Agile Software Development,
he helps transform organizations worldwide to improve development productivity and product quality. Reach
Jim at [email protected].

Mike Sowers has more than twenty-five years of practical experience as a quality and test leader of internation-
ally distributed test teams across multiple industries. He is a senior consultant who works with large and small
organizations to improve their software development, testing, and delivery approaches. He has worked with com-
panies including Fidelity Investments, PepsiCo, FedEx, Southwest Airlines, Wells Fargo, and Lockheed to improve
software quality, reduce time to market, and decrease costs. Reach Mike at [email protected].

Troy Tolle is a leading visionary and champion of cloud computing, used in redefining the future of learning.
After leaving academia, Troy cofounded Infinity Learning Solutions and built its DigitalChalk flagship product.
As a thought leader in enterprise technology, he is frequently called upon by cloud providers for technical
guidance. Troy speaks at both public and private gatherings on various topics including education, cloud com-
puting, and leadership. Contact Troy at [email protected].

BETTER SOFTWARE TechWell.com 8


TECHNICALLY S PEAKIN G

Achieving Continuous
Improvement and
Innovation in Software
THERE ARE SEVEN KEY TIPS AND TECHNIQUES THAT CAN MAKE A HUGE DIFFERENCE IN
YOUR SOFTWARE DEVELOPMENT TEAMS EFFICIENCY.
by Mike Sowers | [email protected]

There is no end to the challenges we face in delivering better Delivering Software Faster, Better, Cheaper
quality software quickly to market at reasonable costs. We must Here are seven approaches that should be the catalyst for bet-
secure a firm understanding of user needs, select the appropriate ter, faster, and cheaper software development. None are to be tak-
technical design, and develop and test its functionalityall while en in isolation but knitted together, as appropriate.
addressing stated and implied nonfunctional characteristics, striv- Automate with intention: How do we produce better cars
ing to develop the right code, employing the latest stable technolo- more quickly? We automate many parts of the design and manu-
gy, and supporting products that work on multiple platforms. The facturing processes. During a TechWell STAR software testing con-
process depends on retaining the best team with the technical skill ference keynote, industry technology analyst Theresa Lanowitz
sets necessary to get it all done. suggested that the next opportunity in delivering better software
is automating across the entire lifecycle. I interpret this to mean
Getting Software Done Right not just a random, uncoordinated approach to automation, but an
My belief is that getting software done right is a societal re- orchestrated, integrated, and end-to-end automation approach.
quirement. [1] The deployment of software has reached utility sta- The opportunities for automation span the entire value chain.
tuswe rely on it just as we rely on water All components associated with DevOps
and electricity. Yet many of the organiza- allow us to better manage risk and accel-
tions I work with at conference events, in erate features to market.
One day, maybe well be
training sessions, and during mentoring Employ modeling and prototyping:
and coaching engagements continue to
able to just think about A picture is worth many user stories. Pro-
struggle to deliver software with the right some new software totypes are an excellent way to encourage
functionality, the right level of quality, at capability and a machine feedback to determine whether features
the right time, and at the right cost. will develop, test, and meet user needs. Collaborative modeling
Weve made some great progress
deploy it for us. tools, such as sticky notes, and comput-
evolving our design, development, test- er-aided tools, such as mind maps, UML,
ing, and delivery methods. These include: design patterns, business process model-
Improving technical skill sets ing, and agile model-driven development
Employing new or improved programming languages (AMDD), help the entire team and the stakeholders become aligned.
Creating new integrated development environments Embrace continuous quality engineering: Delivering better
Implementing testing tools (both commercial and open source) software with less rework demands built-in quality engineering
Using DevOps approaches, including virtualization, continu- practices at every step. Continuous improvement advocates us-
ous integration, and continuous deployment ing the plan-do-check-act cycle. Creating the tests before the code
is created in test-driven development is a beneficial approach
But even with these successes, I think there are ways the soft- to ensuring continuous quality. The same is true for acceptance
ware community can more consistently develop and deliver func- test-driven development, behavior-driven development, explor-
tionally sufficient software to our users quickly and cost-effectively. atory testing, and continuous testing.

BETTER SOFTWARE TechWell.com 9


TECHNICALLY S PEAKIN G

Beginning with product design, the team should always incor- Drive innovation: Most computer hardware provides the abil-
porate quality engineering practices. The whole team benefits by ity to self-test and report diagnostics. Using tools like JUnit, tests
emphasizing quality from concept to delivery. can be created for software components, much like the basic input/
Leverage business intelligence: The more information we output system does when a PC powers up. Martin Fowler calls this
have, the better decisions we make. There is plenty of information simultaneously building a bug detector while developing soft-
available about development practices and the products created ware. [2] Extending this concept a bit further, how about software
using these approaches as business intelligence capabilities ma- smartbots constantly checking the health of computer services, ap-
ture. Pulling integrated information from multiple data sources plications, and systems?
encourages a data-driven culture, resulting in better decisions. Another opportunity to innovate is with automatic program-
Further, we have more information available on usage patterns, ming. Rather than a developer programming a computer with a
user experiences, application stability, and application perfor- specific set of instructions, machine learning offers a paradigm
mance operating in a variety of environments. shift, with the computer iteratively learning from data without be-
Think packaging, reuse, and integration: As product lines ing explicitly programmed to do so.
mature, strategies such as consolidation, reuse, repurposing, and
higher levels of integration allow producers to remain competitive. The Real Winner Is Software Development
Wrapping up software in a complete file system with everything it Efficiency
needs to run ensures that it will always run the same, regardless Using any one of these approaches is beneficial, but taking
of the environment. advantage of more than one provides more opportunity for im-
Containers allow us to do just that, helping us isolate our code provement.
from the operating environment. Repurposing proven code in- Lets assume user experience is being monitored and analyzed
creases productivity, improves quality, and reduces development in production on each software feature of an enterprise software
time. The aggregation of features, applications, or subsystems may app. We could leverage feature usage data to determine the prior-
expand functionality, improve reliability, and drive down mainte- ity of those features that should be enhanced first, or which auto-
nance costs, similar in scale to what the chip industry has achieved mated acceptance tests to run during our work in process release.
in increasing hardware component densities. One day, maybe well be able to just think about some new software
Implement decomposition and virtualization: Decomposing capability and a machine will develop, test, and deploy it for us.
an application into small components encourages a more modu- Until then, these approaches can help accelerate your journey
lar design that should allow multiple teams to work more inde- in delivering faster, better, and cheaper software.
pendently and smaller services to be more easily refactored. Em-
ulating the behavior of components still under development lets
others continue with development and testing.
C L I C K F O R T H I S S TO R Y ' S
REFERENCES
WA N T E D ! A F E W G R E AT W R I T E R S
TechWell is always looking for authors interested in getting their
thoughts published in Better Software, a leading online magazine focused
on the software development/IT industry. If you are interested in writing
articles on one of the following topics, please contact me directly:

Testing Project and people management


Agile methodology Configuration management
DevOps

Im looking forward to hearing from you!

Ken Whitaker
Editor, Better Software magazine | [email protected]

BETTER SOFTWARE TechWell.com 10


.

cordItemIndex(1));

quence 'admin'.", new RecordItemIndex(2));


INTERVIEW WITH AN EXPERT

The companies that have


embraced DevOps are making When you start with testing,
a difference. Theyre able to There still is manual it really creates energy
spend more time on product testing, but its going to be around this movement,
development and innovation, more exploratory testing, around what youre doing in
and they dont have to have ad hoc testing. Having quality, and then that propels
large groups that are only dedicated manual testers is even further to the other
operations focused. going away. DevOps capabilities.

Focus on flow. The Adam Auerbach


whole purpose of Years in Industry: 17
DevOps is to be able
Email: [email protected]
to deliver high-quality
Interviewed by: Josiah Renaudin
software production
early and often. Email: [email protected]

It is unfair in some regards When youre doing manual We have to have tools to be
that people are picking testing, youre becoming a able to procure our data in an
on testing again, but by bottleneck, and then youre automated fashion that can be
embracing it, you really have an getting squeezed and pushed. hooked into our pipeline.
opportunity to be the driving
force at your company for this
[DevOps] movement.
Testers have the opportunity to, instead of being at the tail end of a
process, to be there from the very beginning.

CLICK HERE FOR THE


F U L L I N T E RV I E W

BETTER SOFTWARE TechWell.com 12


The wait for test
data is over.
GET OUT OF QUEUE
WE LOOK FORWARD TO SEEING
YOU IN ORLANDO THIS FALL!
Special Offer for
Better Software
Subscribers:
Register by
9/8/17 with
promo code
BSME to
save up to
2017 an additional

me
$600 off*

ur N a
Yo Delegate Benefit from a
custom week
of learning and
discovery through
all aspects of the
development
lifecycle with:

Comprehensive
tutorials
Exceptional
concurrent
sessions
Inspiring keynotes
Pre-conference

ov. 5 1 0, 2 017 training and


N certification

Orlando, FL
classes
Networking
do
Hilton Orlan ista
activities
V
Lake Buena
The Expo
And more
OM
.T E C H W E L L .C
BSCEAST

*Discount valid on packages


over $600
WATERFALL, AGILE, OR DEVOPS?

YES.

QASymphony is the creator of qTest


A more ecient software testing platform
that any team can use with any methodology.
Until now youve been forced to choose between either the same
old legacy tool from a QA dinosaur or a promising new tool from
some startup that cant support enterprise-scale needs.

HELLO, REAL WORLD In the real world, you dont have the luxury of choosing between
innovation and scale. That's why leading enterprises like Cisco,
Salesforce, Barclays and Amazon rely on qTest by QASymphony.
qTest helps hundreds of companies across the globe test smarter,
test seamlessly and test at scale. Finally, a testing solution built for
the real world.

Start a Free Trial Today at


www.qasymphony.com
10
Lessons Learned
in Cross-Platform
Development
BY DEWEY HOU
BETTER SOFTWARE TechWell.com 16
help lead a team that is responsible for the development and How Business Drives Development
release of software apps for macOS and Windows. You might
assume it would be simple to share universally valuable les- LESSON 1: CONSIDER ECONOMIC FACTORS
sons I learned on our journey of cross-platform development. This BEFORE INVESTING
isnt an easy task and you cant always guarantee a positive out- Originally, our app only ran on Windows. Supporting macOS
come. It is difficult to design and build software apps for different required us to justify the investment to executives. Its a good idea
platforms. to detail both the business and customer-facing benefits for build-
There is always a risk that the cost of development wont meet ing an app on a new platform (see table 1).
return on investment goals or that the end-user dislikes how the You must validate the business economics before moving for-
app works on their platform. Figure 1 shows screen captures of ward. Expanding to a new platform such as macOS merely for
our video-editing software, Camtasia, on Windows and on macOS. technologys sake is not a justification.

Figure 1: Windows and macOS user interface comparison

These screen captures are a sample of many more you can view Cross-platform development is a nonstarter if the project
on our website. [1] doesnt make business sense.
As you can see, the same program can look different on a com-
puter running macOS versus a PC running Windows, and this pres- LESSON 2: ADD GUIDING PRINCIPLES TO
ents challenges for a development team Most software companies YOUR BUSINESS PLAN
dedicate separate teams to work on each target operating system Once you have the green light to develop apps for a new plat-
platforms. This can be quite costly and isnt the most efficient ap- form, how similar should the apps be? In my experience, it is not
proach. After many twists and turns during the latest release of practical to require all features and functionality to be identical on
our Camtasia app, several lessons emerged in the areas of busi- both platforms. There are always exceptions, so you better identi-
ness, users, technology, people, and process. fy some guidelines. Without guiding principles, development costs
Id like to share some of what Ive learned in developing soft- and timelines can quickly get out of control.
ware applications for Windows and on macOS. By defining requirements from a business perspective, you can
usually predict cross-platform business outcomes. Start by identi-
Multiplatform Benefits fying the areas of the app that require platform parity. Separate

Higher percentage of macOS users in future target market these areas into priority levels, as shown in table 2.
segments It is hard work to vet feature requirementsand even more so
Project interoperability is becoming the norm with work groups on two platforms.
in corporate environments
License model can be simplified, allowing users to run either The User Experience Influence
version (Windows or macOS)
Multiplatform support is a competitive advantage in the market- LESSON 3: LEVERAGE MULTIPLE
place PLATFORMS TO TEST PROTOTYPES
Reduce training costs for organizations Understanding user needs is critical to software development.
It is essential to come up with a user interface (UI) design that
Table 1: Identification of cross-platform business benefits
meets users needs on both platforms.

BETTER SOFTWARE TechWell.com 17


Priority Level Feature Functionality
You must always be able to open a project created by the
Priority 1: Strict parity Data model/project compatibility
app running on the other platform.
Priority 2: Strict parity with some The content of a project looks/renders the same on the
Rendering/pixel-level parity
exceptions other platform.
The apps share the same look and layout. The Windows
Priority 3: Parity when possible User interface parity user should feel comfortable using the macOS app (and vice
versa).
Adhere to platform-specific conventions and norms or ig-
Priority 4: No parity Platform-dependent look and feel
nore if it doesnt make business or technical sense.

Table 2: Guiding principles based on cross-platform business priorities

Our first version of Camtasia for macOS came years after the You are dependent on the release schedule of a third-party tool-
first Windows version. As a result, it would not achieve parity from kit for critical bug fixes and support for new features. We found it
the start. We took advantage of this fact and created an entirely frustrating to attempt to leverage new platform-specific features.
new design for macOS. Our goal was to make a better product, giv- For example, Windows Presentation Foundation (WPF) would not
en years of lessons learned from the Windows version. This ap- have been available with a third-party toolkit.
proach allows your development team and customers to discover What should have been a positive ended up putting us at a
what works best. competitive and market disadvantage. In the end, we decided to
Take advantage of the fact that you have two platform sand- abandon the UI toolkit.
boxes to play in, and test UI designs. The design could leapfrog Of course, these issues may not apply to your situation. But for
ahead on macOS and gain validation before incorporating changes us, native platform development for the UI became necessary.
on the Windows side. But introduce changes strategically, as exist-
ing customers find it difficult to accept drastic changes to the UI. LESSON 5: BE PRODUCT-CENTRIC INSTEAD
Internally, platform biases will be another significant factor OF PLATFORM-SPECIFIC
during UI design debates. This phased delivery approach takes Balancing platform-specific conventions and platform indepen-
time, and upper management and your customers must recognize dence has its challenges. It doesnt pay to develop a platform-inde-
that cross-platform parity isnt going to happen overnight. pendent app that is viewed as not usable or inconsistent to what a
Test out designs on one platform to help resolve these disputes Windows or macOS user expects.
and arrive at the best cross-platform design. When weighing your options in cross-platform development,
enumerate the differences that will be problematic for the apps
LESSON 4: PROCEED WITH CAUTION USING ability to be platform-independent (see table 3).
CROSS-PLATFORM UI TOOLKITS
Using a cross-platform UI toolkit seems like a no-brainer. How-
ever, the promise of write-once-run-anywhere comes at a cost.
We learned about some issues only after moving ahead with
one such toolkit. A few of the downsides included suboptimal user
experience, decreased development velocity, poor performance,
and inability to leverage the latest platform innovations. Using a
toolkit might have been great for our developers, but these nega-
tives would not have been accepted by our customers. If our macOS
app doesnt appeal to the Mac users, theyll use something else.
Creating a superior user experience was central to our custom-
er value proposition. The UI toolkit didnt deliver the look or feel
that we wanted. It also didnt provide the level of performance
needed by a video-editing app. There was an issue not only with
learning the toolkit but also with finding developers experienced
in programming with that toolkit.
As a result, development velocity slowed dramatically. The
learning curve was just too great. To compound the issue, devel-
opers still had to work with the details of the native Windows or
macOS platforms.

BETTER SOFTWARE TechWell.com 18


Once you have identified platform differences, establish a con- approach, including only functionality that exists on both plat-
sistent way your app will handle them. In some cases, staying true forms. For us, it must be standard C++ 14 or earlier to avoid C++
to platform-specific conventions makes sense. compiler differences. Even then, occasionally problems do come
Users who are familiar with the platform will expect to find the up. As a rule, the newer features of C++ tend to be less compatible
functionality available. In other situations, take an approach that than, say, C++ 98 code. Frustrating as it may sound, you dont learn
will retain similar functionality but can be implemented in a way which features may result in compiler compatibility issues until
that works well for your app. For example, we created a cross-plat- you try to share code. Compatibility issues can be troublesome to
form solution for presenting caption text that renders identically deal with, as the following for each loops shows.
on both platforms. MSVC allows the syntax:
We kept to our guidelines by creating an app and interface that for each ( auto item in container )
was unique to itself rather than rigidly following a specific plat- Whereas, standard C++ requires this syntax:
form. for ( auto item : container )

Area Windows macOS


MOV files not supported MOV files supported
WMV files supported WMV files not supported
File Support Vector graphics resizing in PDFs not supported Vector graphics in PDF can resize to any
MP4 file decoding differences (ex: different lengths dimension
reported, which causes project compatibility issues) MP4 file decoding differences

Favors right-click functionality Favors keyboard shortcuts


User Interface shortcuts Copy, Paste: Ctrl+C, Ctrl+V Copy, Paste: Cmd+C, Cmd+V
Product-specific shortcuts are the same Product-specific shortcuts are the same

Tooltip support Large, verbose tooltips Minimal text allowed


Text and naming conventions Sentence case Title case
Support of Windows typefaces and fonts. Text also Support of macOS typefaces and fonts. Text
Typeface/Fonts
renders differently on both platforms also renders differently on both platforms
Media effects Better support for video transitions Better support for video and audio effects

Table 3: Identification of platform differences impacting app portability

Selecting the Best Technology Consequently, compiler syntax issues often result in writing
Selecting the right tools for the job is another factor in a suc- more complex shared code. During development, we ran into com-
cessful cross-platform product development effort. Optimal choic- piler interoperability issues that we had to work around.
es enable great possibilities, while suboptimal ones create techni- In order for the unmanaged C++ code to talk with the managed
cal debt that hinders your development. C# runtime under Windows, there was a need for an interop layer.
Writing the interop layer slowed down developers and introduced
LESSON 6: SELECT A CROSS-PLATFORM performance issues that should have been identified sooner in our
LANGUAGE THAT FITS YOUR SITUATION development cycle.
Choosing a cross-platform programming language is key. It
is an essential practice to maximize the amount of code you can Language selection depends on
share between different platforms. Language selection depends on
business needs, the type of app, capabilities the language must pro-
business needs, the type of app,
vide, existing codebase, and your development teams skills. capabilities the language must
Our app manipulates large multimedia files and requires
low-level system access to hardware and the graphics processing
provide, existing codebase, and
unit (GPU) in order to achieve a high degree of performance. your development teams skills.
Due to our UI requirements, we knew our app would use
cross-platform code and platform-specific code. The team also was Fortunately, we were able to focus developers specifically on
already very familiar with C++, so given these factors, it become this issue and were able to build out our interop layer and tools.
our cross-platform language of choice. There are no such interoperability issues between C++ and Objec-
Cross-platform code must take a least common denominator tive-C on macOS.

BETTER SOFTWARE TechWell.com 19


In creating a sound architecture, I strongly sug-
gest starting with the business goals discussed in
lesson 2. Business outcomes should always drive
an apps architecture. Use proven design patterns,
such as model-view-controller (MVC), and a good
data model to support cross-platform sharing of
project files.
Lay a good foundation from the beginning to
keep your app resilient and extensible years into
the future.
But creating a solid architecture is not enough.
The other requirement is maintaining its integrity.
To do this, set up automated unit tests around all
shared library code. It should be a hard rule that no
new code can be checked in without updating and
maintaining these tests. Unit tests should keep the
data model bug-free.
A related side lesson is to focus on performance
testing up front. When we were developing Camta-
sia, the Windows version was rebuilt in WPF, and
due to implementation issues, our UI couldnt keep
LESSON 7: USE A SINGLE SOURCE up. Profile code to establish a baseline of UI responsiveness. This
CONTROL SYSTEM TO SHARE CODE helps catch performance issues early before code complexity in-
BETWEEN PLATFORMS creases over the course of development.
This lesson seems obvious, but we started from the Windows
platform and had significant investments in Windows-specific People and Process
tools. Keeping software changes backed up as versions has always For anything to succeed, you need smart, motivated people
been a high priority. who have the right capabilities and experience. Technology choic-
Ten years ago when we started macOS development, there es often depend on the skills your people have.
wasnt a great cross-platform choice that met the needs of both
Windows and macOS developers. That resulted in using a sepa- LESSON 9: PRESERVE KNOWLEDGE
rate source control system for each platform for several years. It CONTINUITY ON YOUR TEAM
became a nightmare to synchronize the sharing of code between Creating a team that can withstand disruptions is no small feat.
platforms. Hiring and retaining top talent is only the first step. Staff needs
The solution came over time by moving all our code to Git. It to embody the positive culture you want on your team. The will-
was a significant effort and cost to migrate our code, as was train- ingness to share knowledge and help others for the good of the
ing the staff to manage source control. If you can, keep cross-plat- product and customer.
form code in a single separate repository. For code that changes of-
ten, reference this repository as Git submodules under the macOS Business outcomes should always
and Windows codebases. Use NuGet packages for code that chang- drive an apps architecture. Lay a
es infrequently. Development teams on both platforms can check
out, modify, and merge code with ease. Utilizing a single source
good foundation from the beginning
code control system significantly improves overall team velocity. to keep your app resilient and
extensible years into the future.
LESSON 8: MAINTAIN A SOUND
ARCHITECTURE One approach that worked for our department was to put Win-
You become aware of the complexity of cross-platform de- dows and macOS software engineers on a single product team.
velopment once you begin making decisions about how to write This increased cross-platform collaboration and encouraged more
shared code. The development team needs to be intentional in teamwork. Allow the larger product team to self-organize into
creating and maintaining a solid architecture. Early on, we in- smaller pods focused on getting specific work done. When devel-
vested in research spikes to learn and experiment with the best oping a feature that needs to exist on both platforms, pair one Win-
ways to structure the code. dows and one macOS developer.

BETTER SOFTWARE TechWell.com 20


Who Usually Fills
Lead Role Area of Accountability
the Role

Technical product
Owns decisions on fea-
NEWSLETTERS
Product lead ture backlog priority and
manager
requirements FOR EVERY NEED!
Owns decisions on
Senior software implementation. Each
Technical lead
engineer platform should have a Want the latest and greatest content
technical lead
delivered to your inbox? We have a
Owns decisions on team
Delivery lead Project manager
process and schedule newsletter for you!
Owns decisions on the
UX lead Senior UX designer overall user experience
across both platforms

Table 4: Leadership roles on a development team


A T E C H W E L L C O M M U N I T Y

This yields better code and better product decisions. Avoid


AgileConnection To Go covers all things agile.
excessive churn of the pod team members by keeping the teams
together longer. While a certain amount of change is healthy, it is
a mistake to move people like interchangeable cogs. Continuity of
staff will preserve product development knowledge. DEV PS
B R O U G H T T O Y O U B Y C M C R O S S R O A D S

LESSON 10: LEADERSHIP AND


ACCOUNTABILITY ARE MUST-HAVES DevOps To Go delivers new and relevent
Product development is often contentious due to passionate DevOps content from CMCrossroads
team members debating what they think is best. On a cross-plat- every month.
form project, discussions can escalate into arguments due to plat-
form bias. Leaders are responsible for creating an environment
where teams can do their best work.
Create clear accountability for specific individuals to resolve
these issues. Define and establish leadership roles on a team to mit-
igate the inevitable staff changes over the course of the product re- StickyMinds To Go sends you a weekly
lease, as shown in table 4. You will cause unnecessary turmoil if you listing of all the new testing articles
lack any of these leads during critical periods in the product release.
added to StickyMinds.
Defining a lead role is not about a new job title, but about mak-
ing an impact on the success of a project. For example, a technical
lead for shared cross-platform code can guide the team to prevent
data model corruption. Without that lead, it is likely that poor de-
cisionsor no decisions at allwould be made. The UX lead role is
particularly challenging because detailed knowledge of both plat-
forms and user needs are essential.

Adopting Lessons Learned And, last but not least, TechWell Insights
Your experience in cross-platform development will probably features the latest stories from conference
be dramatically different from mine, but these lessons should hold speakers, SQE Training partners, and
true for any project. I wish you luck as you embark on your jour-
other industry voices.
ney in developing for multiple platforms.

[email protected]
Visit AgileConnection.com, CMCrossroads.com,

C L I C K F O R T H I S S TO R Y ' S
REFERENCES StickyMinds.com, or TechWell.com to sign up
for our newsletters.

BETTER SOFTWARE TechWell.com 21


A brief history of web and mobile app testing.

BEFORE SAUCE LABS


Devices. Delays. Despair.
AFTER SAUCE LABS
Automated. Accelerated. Awesome.

Find out how Sauce Labs


can accelerate your testing
to the speed of awesome.
For a demo, please visit saucelabs.com/demo
Email [email protected] or call (855) 677-0011 to learn more.
Is your legacy testing
platform holding you back
from Agile & DevOps success?

Tricentis Tosca
Its different. It works. Well prove it.
FREEL
TRIA tricentis.com/better-software
THE POWER
OF THINKING
UPSIDE DOWN
Paul E.
McMahon

have found that the best


way to coach software
development teams may
appear to be the opposite of
many well-established, long-
held software engineering
principles. What works in
practice often isnt what we
have been taught.
This real story demon-
strates what I recently
discovered works for success-
ful software development
teamseven though it may
appear to be upside down
from traditional thinking.
Defining New Processes Up Front Is Old When Just Being Agile Isnt Enough
News Lets look at a real example with a client I will call Company X.
Most of us have been taught to define processes and prove Company X is a relatively small organization of less than 100
them in a pilot environment before using them on a real project. people providing software to the government. Their parent compa-
This approach makes sure teams use these processes in a repeat- ny was known for requiring heavyweight processes on all of their
able way before improving them. projects. But when Company X broke off on their own, they wanted
This makes sense in theory, but theres a better way. What if to be agile. They intentionally left behind the baggage of their par-
you spent very little time defining a process before trying it out ent companys processes. Becoming agile wasnt the answer. Many
on a real project? This is not the way most of us do it, yet I have of their software releases were late and defect-ridden. Customers
successfully worked with multiple software development teams to were unhappy and threatening to never use their products again.
evolve into using new processes during development. As a result, they brought on board outside consulting help when
This is not meant to suggest that you shouldnt define your pro- they realized they had gone too far in dropping defined processes.
cesses and train your people before asking them to use the pro- A new project needed to be delivered to an already unhappy
cesses; nor is it meant to suggest you should try out completely customer. The consultant seized the opportunity to solve the prob-
unproven ideas on critical projects. Instead, spending very little lem using upside down thinking. Specifically, the consultant gave
time defining processes before asking teams to use them might the team a brief training session on involving key stakeholders
have hidden benefits. and improving communication between developers and testers,
Using this upside-down thinking might not be as risky as you and then coached them through the first few months of their proj-
might imagine. ect. This was counter to a traditional path of conducting a compre-
hensive gap analysis, followed by process definition, piloting, and
Focus on Strengths and Ignore training. That would take months and there was no time.
Weaknesses The result? The team delivered a high-quality, on-time product
Software development organizations usually employ standard to their customer.
processes and procedures. Some can be viewed as strengths and
others as weaknesses. Examples of strengths might be the way an
organization involves its stakeholders before a product delivery RATHER THAN FOCUS ON
or the way it proactively manages risks. Examples of weaknesses
might be a regression test practice that fails to cover critical prod- A CLIENTS WEAKNESSES,
uct functionality, or an inadequate peer review practice. When an IT IS OFTEN A BETTER IDEA
organization needs help, outside consultants can be used to help
address those specific weaknesses. TO START A CONSULTING
Theres a better upside down approach. Rather than focusing ENGAGEMENT BY IGNORING
on a clients weaknesses, it is often a better idea to start a consult-
ing engagement by ignoring known weaknesses. Instead, take the KNOWN WEAKNESSES.
time to understand an organizations strengths. There are two rea-
sons why this might make sense:
It is very easy to inadvertently damage an organizations Rethinking How to Manage Tasks
strengths when implementing solutions to weaknesses. Learn Company X needed to make changes rapidly to address their
what those strengths are first. pain points of basic task management and testing. Task manage-
Understanding an organizations strengths can often lead to ment was critical because Company X was in constant interrupt
the best solution to fix weaknesses. mode always reacting to the latest fire-drill in the company. When
it came time to release, Company X never had enough time left in
If you take the time to look for strengths in an organization be- the schedule to do adequate testing, which was why their releases
fore attacking known weaknesses, you could find at least one proj- were often bug-ridden.
ect that is already working to solve that weakness. This is because To make matters worse, each release was often focused on
any weakness that is an immediate risk to one project is probably changes requested by a specific customer. The development team
equally dangerous to other projects. had a history of failing to conduct adequate regression testing
Working with developers who are motivated to solve a prob- leading to breakage of functionality used by a different customer.
lem gets you past what often turns out to be the biggest obstacle To address these critical pain points as rapidly as possible, the
to a lasting solution. The rest of an organization is more likely to consultant held training sessions on several Scrum-like practices.
accept a solution proven by one of their own teams rather than an He emphasized the goal of each practice and how that goal could
idea from a consultant. help Company X with specific pain points.

BETTER SOFTWARE TechWell.com 25


As a rule of thumb, the team should always conduct sprint re- and known changes in the current release.
views with customers. The consultant emphasized that the goal of They knew that part of their testing problems was caused by
this practice was to make sure the customer was on board and par- poor communication between developers and testers. One tester
ticipated with product acceptance. Because two specific customers complained that he couldnt tell what to test from the tickets the
used the product differently, the consultant stressed the impor- developers were completing. After discussing this problem, the
tance of engaging with both customers. developers agreed to start placing better notes in their tickets to
When it became evident that one of those key customers make it clear to the testers how to set up the tests and what to look
could not attend the sprint review, the team brainstormed how to for to ensure the change worked correctly.
meet sprint review goals. As a result, the product owner agreed Company X could have made placing notes in tickets a required
to take an early version part of the defined testing process, and they could have had their
of the product to get that quality group check to make sure that was happening. This is what
customers feedback. This is often done in many traditional organizations to make sure a pro-
was an innovative solution cess improvement is followed.
the team came up with to But when you take this approach, you are at risk of developers
achieve the real goal of just going through the motions of creating a note in the ticket so
the sprint review practice. they dont receive a non-compliance report from the quality group.
Even agile projects can be- Developers can forget the goal is not placing a note in a ticket, but
come routine when we for- rather improved communication with testers.
get the why behind certain The consultant made it clear to the team that placing a note in
tasks. the ticket is one waybut not the only wayto help achieve the
This is upside down goal. He let the team know that when a developer felt it would be
thinking in that the team more effective to just go talk to the tester, then they should use that
didnt focus on following option. Of course, this made it more difficult for the quality group
repeatable steps in a pro- to verify compliance to the practice. It is far easier to verify that a
cess, such as going through note has been placed in a ticket.
the motions of a sprint re- Are you trying to make the job easier for your quality assur-
view meeting without a key ance auditors, or do you really want to improve the performance
customer. Rather, they fo- of your software teams?
cused on what it would take
to achieve the real goal, Putting Upside-Down Thinking to Use
which was key stakeholder Dont spend a lot of time defining practices first. Rather, coach
involvement and buy-in. the team and make them aware of choices to achieve project goals.
In our example, the development organization was able to rap-
A Unique Approach to Testing idly put improvements in place leading to reduced latent defects,
Another identified pain point was testing. Company X didnt happier customers, and measurably higher performance. If spe-
have a defined testing process, and too many defects were escap- cific processes had been dictated from the start, the team would
ing internal testing only to be found after delivery by the customer. not have bought into the more flexible approach. It helped to hear
They could have taken the traditional approach of defining a de- about the positive results achieved on a project in real time by
tailed regression test suite and requiring it to be run prior to each their own teammates.
release. But given how long it would take to build that suite, the This doesnt mean that this approach works on every project.
team knew that approach would not solve the immediate quality There certainly are situations where organizations need to be
problems in a reasonable amount of time. more prescriptive in the activities, like dealing with life-critical
Once again, the team held brainstorming sessions to discuss applications.
specific reasons why their testing wasnt working well. First, they However, by being less prescriptive with defined processes
agreed they needed to build a full regression test suite, but they and coaching teams in how to find innovative solutions during the
couldnt wait until it was done to address this problem. Instead, project lifecycle, software development teams can dramatically
they immediately started building and using small pieces of the increase their likelihood of achieving higher performance results.
test suite focusing on areas they knew were likely trouble spots. This may sound upside down from what many of us have been
Along with incrementally building their test suite, they adopted taught, but in practice it works.
a focused regression testing approach where they selected specif-
ic areas to spend extra time testing before each release. This was [email protected]
based on the likelihood of problems, considering past experiences

BETTER SOFTWARE TechWell.com 26



Oct. 1520, 2017


Toronto, ON
Hyatt Regency Toronto

WEVE RESERVED
YOUR SEAT

CONFERENCE TOPICS INCLUDE:

Agile Testing Cloud Testing Test Design


Mobile Testing Performance Testing Test Automation
Continuous Integration DevOps Test Management

RESERVE YOUR SPOT NOW FOR THE BEST PRICING


Better Software subscribers can receive up to
an additional $200 off with code BSM

L e a r n M o r e : h t t p s : //we l l .t c /s c 1 7 b s m
10 Things You Must
Do to Become
Truly Agile
BY Jim Schiel

BETTER SOFTWARE TechWell.com 30


s an agile coach and consultant, I have one question Whirlpools customer loyalty index has risen by 68 percent and
I ask my clients when I start an engagement: Is your their stock has nearly tripled. [1] Whirlpool may not be a software
organization truly agile, or are you just using the right provider, but the example shows how the right business model
words? You would think, by this time, that there would be a signif- can positively influence outcomes. Organizations that still create
icant number of truly agile organizations positively changing their detailed, linear development plans, and then force the team to
environments. follow the plan, are missing the boat. The truly agile organization
For many software development organizations, being agile is employs agility to focus their business on delivering value with fre-
all about doing Scrum, kanban, or Extreme Programming (XP). But quent opportunities for feedback and reassessment of their plans.
even though agile frameworks model agile principles, using these
frameworks doesnt automatically make the organization agile. Ag-
ile is not a state of doing; its a state of being.
Being truly agile is clearly stated in the Agile Manifesto as be-
INSTEAD OF
ing focused on individuals and interactions, working software, PRODUCING MORE, THE
customer collaboration, and responding to change. These values
must be built into the organization and consistently put into prac- AGILE ORGANIZATION
tice on projects.
So, how do you know if your organization is truly agile or just
LEARNS TO
using the right words? Based on my years of experience, I have
created a list of ten things you must do to become truly agile.
EMPHASIZE VALUE
AND CONTINUOUSLY
1. Focus Business Models on Value
Business models of agile organizations focus less on the effi- ADAPTING PLANS.
cient delivery of products and services and more on listening to
customers, earning their loyalty, anticipating their needs, and
determining how to create new customers. Instead of producing 2. Realize That Agility Is a Mindset, Not a
more, the agile organization learns to emphasize value and contin- Framework
uously adapting plans. Looking for easy answers and promised gains from agility,
In 1999, Whirlpool was desperate to improve customer loyal- management is frequently convinced to invest in sophisticated
ty and implemented a program of innovation from everyone, ev- frameworks to support enterprise-scale agile projects. Instead
erywhere. They required a certain amount of innovation in every of teaching how to be agile, these frameworks frequently create
product development plan. structures other than agile that the organization must learn.
In an agile organization, scaling is organic and driven by an
internalization of agile principles across the entire company. In
many ways, agility becomes an instinctive mindset. Proper scaling
occurs when agility is incorporated across the organization and
when management processes and practices are reinvented. De-
velopment and management teams alike must adopt and use agile
principles to get work done.

3. Make Teams Autonomous


A significant degree of productivity in agility comes from teams
that have been given the mandate to get a job done and have been
given sufficient autonomy to do so. Unfortunately, many teams are
surrounded by non-agile management.
This creates friction that can often be seen when teams are told
they are autonomous but find management overriding their deci-
sions and plans. They frequently must wait for those decisions to
be made based on traditional metrics (e.g., productivity, efficiency,
and estimate-to-actual).
The problems created between autonomous teams and non-ag-
ile management can be solved by doing two things. First, you must
ensure that the management team understands and uses agile.

BETTER SOFTWARE TechWell.com 31


Second, and much more importantly, you must look at effective assessment tools often provides the same result as having manage-
external team leadership as a completely different skill set. This ment decide on the membership.
requires training management to support the team by building Teams form around common goals and frequently need little
relationships, articulating clear goals, and helping the team make direction. Once youve focused your team members on a problem
decisions. and made sure they have what they need to get it done, theyll usu-
ally deliver great results.
4. Work in Small Batches Teams work better when everything they need is already with-
In all work, complexity and risk go hand in hand and are di- in their sphere of influence. Scrum, in particular, defines a team
rectly proportional. Usually, the more complexity, the greater the as a set of developers that has all the skills necessary to do what is
risk. Complex work requires significant effort, and less complex asked of them.
work requires less effort. If complexity results in the team spend-
ing more time fixing mistakes, weve gained nothing. Productivity 6. Perform Work in a Single-Piece Flow
can be improved by breaking down complex work into smaller, Championed by Toyota, the concept of single-piece flow pro-
less complex tasks. cessing has revolutionized how the factory floor is run. In sin-
While doing testing on small batches of work may seem like gle-piece flow, the team completes a single unit, then starts work
it adds a lot of overhead, small batches allow organizations to get on the next unit. As a team completes a unit of work (including cod-
better by doing something repeatedly and frequently. It has been ing, testing, and documentation), the item should be immediately
my experience that tasks should be sliced into small units not to demonstrable. This gives the team frequent feedback rather than
exceed a few days work. Of course, completed work should still be waiting until everything is built before testing anything.
inspected to ensure it meets the needs of the customer. Single-piece flow yields completed, demonstrable software ev-
ery few days. Mistakes are quickly found and fixed, and costs are
5. Aim for Small Teams lowered dramatically.
Small teams consistently outperform individuals and large To accomplish single-piece flow, teams must abandon tradi-
teams, especially when a variety of skills and perspectives are tional approaches where work is done in steps and handed off
needed to complete a project. I recommend no more than eight from one specialist to another. Instead, team members bring their
people on a team. The bigger the team, the harder it is to get every- individual skills to bear on engineering a task or solving a key
one together and to reach agreement on decisions. Smaller teams problem. The team works together to simultaneously collaborate
simply work more efficiently. on the execution of the work.
When creating a small team, the agile organization should keep
some key practices in mind. 7. Work in Short Cycles
Teams rely far more on the right mix of skills than the right mix While shrinking team size and complexity of work offers true
of personalities. Attempts to align compatible personalities using benefits, dont forget to reduce the length of your iterations, too.

BETTER SOFTWARE TechWell.com 32


I recommend shortening iterations to no more than two weeks. with defects in order to limit technical debt, many still dont rec-
In agile development, the end of an iteration signals an opportuni- ognize the need to pay attention to learning opportunities or re-
ty to evaluate whats been built against customer needs. Shortened search opportunities provided during the typical iteration.
iterations improve quality, reduce risk, and reduce project cost. As To keep your debt under control, keep in mind the following:
a result, time to respond to the inevitable defect or incorrect deci- Assume that any debt not being actively addressed is probably
sion is greatly improved. getting bigger. Take steps to reduce it by planning daily to improve
I frequently ask coders and testers, After you write some code skill sets, decision-making capability, innovation, and motivation.
or some tests, what do you do next? Invariably, the coders run the When problems do occur, take time to identify the root cause
application and the testers run their tests. If the latest code doesnt and correct the appropriate issue to keep debt from growing. If
work, the sooner we find out, the easier it is to fix, they say. an organization fails to deliver on time because of product perfor-
I couldnt agree more. The more often you test your assump- mance issues, the root debt-related cause might be that the organi-
tions, the easier it is to fix them. Longer iterations accumulate risk zation lacks the skills to do effective performance testing.
that your customer wont like what youve built. Shorter iterations
help you build what your customer really needs. 10. Be Brave Enough to Experiment and Fail
The world of business is replete with the remains of compa-
8. Value Soft Skills nies that got comfortable. A business that doesnt move forward is
While technical skills are important, soft skills can be more moving backward, and a business or organization that views ex-
valuable to sustaining high team performance. These skills include perimentation as a gamble will probably lose out in the long run.
the ability to: Sometimes that means youre going to get it wrong. Consider
Argue passionately while not attacking Thomas Edisons experiments with the light bulb. Edisons assis-
Share information freely; full transparency is necessary tant logged more than 2,700 individual experiments. When asked
Disagree with a decision while fully supporting it by a reporter about his many failures, Edison responded, I now
Make abstract concepts visible and easily understandable know several thousand things that wont work! [2]
To innovate, one must experiment and fail. Failure creates
The best team member Ive found is someone who has great amazing possibilities for learning and growth, and must be made
communication skills, is innovative, and is adaptable to most any part of the organizational culture. A study was performed with Up-
situation at hand. While the ability to code in Java or build effec- worthy (not a software development organization) regarding their
tive functional specification is important, Id recommend giving emphasis on fostering experimentation and divergent thinking.
some attention to those soft skills, too. Their culture assumes that a 95 percent failure rate is a sign of a
team doing a phenomenal job of experimenting and learning how
9. Monitor Debt Closely to get to the right answer. [3] Thats an unknown attitude in many
While building products or services, organizations tend to in- organizations, where teams are encouraged to think until they de-
cur a significant amount of debt. Debt is a result of the difference termine the correct answer.
between doing something right and doing something poorly. Debt Teams must be permitted to experiment and fail. Where in-
comes in a variety of categories, as shown in table 1. novation is called for, so is experimentation. Throwing away a
thousand lines of good code for the hundred lines that work is a
Debt How Debt Occurs cost-saver in the long runconsider all of those defects the team

Incurred when we build our products with wont have to fix.


Technical debt
less than the quality the product demands
Incurred by deferring decisions until youre Becoming Truly Agile
Decision debt
forced into making one Is your organization transforming into an agile one or one that
Incurred by deferring learning opportunities simply uses agile terminology? If you want to be successful in get-
Learning debt until you have to compromise due to lack of ting the most day-to-day value out of your teams, youve got to be
skills
prepared to create new ways of working. To make real agility in
Incurred by doing only what is safe and your organization, youre going to need to make some real changes.
Innovation debt never trying to include some degree of new
functionality in every project

Table 1: Common types of debt taking place in software development [email protected]

Debt forces the organization to compromise because available


choices are limited due to outstanding debt. While organizations
are beginning to understand the importance of dealing quickly
C L I C K F O R T H I S S TO R Y ' S
REFERENCES
BETTER SOFTWARE TechWell.com 33
SHHH!
SELENIUM SECRETS & OPEN
SOURCE ADVANCED AUTOMATION

bit.ly/GET-SECRETS

perfectomobile.com
Perfecting Software STATIC &
DYNAMIC
ANALYSIS

A COMPLETE IOT SOFTWARE


TESTING SOLUTION
UNIT
TESTING

API, LOAD,
PERFORMANCE, &
The importance of software testing and error prevention has
risen dramatically, paralleling the continued escalation of SECURITY TESTING
software complexity. Parasoft provides developers with the
tools and infrastructure necessary to test early and regularly,
ensuring quality throughout the software development
lifecycle.

Theresa Lanowitz, voke inc.


SERVICE

VIRTUALIZATION

Learn more at parasoft.com/iot LEARN MORE


TRAINING ON
eLearning YOUR TERMS
Delivered in short lessons with clearly stated
learning objectives and regular progress checks,
eLearning courses offer a unique approach for
software professionals with travel and time
constraints. Learn anywhere at your own pace
on your terms.

Get the training you need with SQE Trainings


eLearning courses: eSoftware Tester
Certification, eFoundation for Requirements
Development and Management,
eSelenium 2 WebDriver With Java, and the new
ePlanning, Architecting, and Implementing
Test Automation. View a no-obligation demo
today at sqetraining.com/elearning.

eSoftware Tester CertificationFoundation Level


Accredited training for the ISTQB Certified TesterFoundation Level (CTFL) certification. Find out what it takes to be a successful
software tester and learn about the relationship of testing to development, test levels, black-box methods, white-box testing,
exploratory testing, and more. ISTQB is the only internationally accepted certification for software testing and has granted more
than 500,000 certifications in more than 100 countries around the world.

eFoundation for Requirements Development and Management


Build the foundation you need to successfully develop and manage requirements for business projects and software products in
eFoundation for Requirements Development and Management. Learn key requirements development and management skills and
discover the ways to elicit and document requirements.

eSelenium 2 WebDriver With Java


Selenium WebDriver is the web automation tool of the moment, and Selenium WebDriver skills are in demand. In eSelenium 2
WebDriver With Java you will learn real world techniques associated with the Selenium WebDriver API, focusing on the information
you need to get productive with Selenium WebDriver. Throughout the course self-learning strategies are emphasized and
demonstrated, so that you dont just learn the Selenium WebDriver API in depth, you also learn how to discover more on your own.

ePlanning, Architecting, and Implementing Test Automation


Develop a custom test automation plan and architecture for your organization in ePlanning, Architecting, and Implementing Test
Automation. Get access to valuable templates you can use to draft your own test automation plan, plus take advantage of one
hour of consulting to answer questions and finalize your plan.

SQETRAINING.COM/ELEARNING SQE TRAINING


A T E C H W E L L C O M P A N Y
THAT IS
Majdanski_shutterstock.com

NO ORDINARY
SOFTWARE
TESTER

ilovesoftwaretesting
O W
H HNOLO G G Y
C
T HANGIN E
E
SI C WAY W
H
T RNE
LEA

BY TROY TOLLE
t is not news that the internet has changed how we operate is true with corporate training. Most companies still distribute
in our daily lives. We stream our shows instead of watching manuals and rely on on-the-job or apprenticeship models for train-
them in real time. We carry the power of the internet in our ing, with no ability to formally track and measure the effectiveness
pockets. We can subscribe to thousands of software-as-a-service of these methods.
(SaaS) offerings to help us with running our businesses, automat- Thanks to new developments in software, measuring learn-
ing our homes, and finding our next meals to cook. Our profes- ing in the education space is shifting away from more traditional
sional and personal lives are inundated with technology, and it has methods. Training built on classroom lectures with a single grade
radically changed how we socialize and conduct business. for a course is being replaced with a more experiential approach
However, one area where technology seems to lag is in educa- to education and the measurement of what a person learned. This
tion. We still rely on traditional models of higher education with new technology is making learning accessible in real time on a
full curriculums, transcripts, and grade point averages. The same wide variety of devices.

BETTER SOFTWARE TechWell.com 38


The Emergence of the Knowledge How We Like to Learn Is Rapidly Evolving
Economy There is a notable cultural shift as the next generation of
With the rise in services made available through technology, knowledge workers enters the workplace. Learning platforms
the knowledge economy has emerged. It is essential for business- in businesses will need to adapt to allow more than just chat for
es to provide easy and fast access to quality educational content collaboration; learners now expect to be able to share user-gen-
to facilitate the growth of their employees. Communities are also erated content in the form of documents, pictures, and video. Our
finding ways to educate the public without interfering with busy mobile-focused society also demands that the systems supporting
schedules. the learning experience always be available simply by turning to
The knowledge economy is much more than providing edu- a phone or tablet.
cational materials or affordable internet access. The knowledge I believe that there are three game-changing shifts taking
economy uses technology growth to share knowledge with a com- place: the acceptance of e-learning, the proliferation of intelligent
munity of coworkers or fellow students, which in turn fosters new devices, and the emergence of virtual reality.
ideas and a wealth of new experiences. We are no longer bound by
the walls of our offices or classrooms; we can communicate and
work with people around the world in real time.
As a result, sharing and generating ideas can take place at a
LEARNING PLATFORMS IN
much more rapid pace.
BUSINESSES WILL NEED TO ADAPT TO
The Evolution of the Digital Learning
Experience
ALLOW MORE THAN JUST CHAT FOR
Historically, learning has been a face-to-face event between
teacher and student. In recent years, however, distance education
COLLABORATION; LEARNERS NOW
offered by universities and specialty sites has removed the neces-
sity of in-person learning.
EXPECT TO BE ABLE TO SHARE USER-
Distance learning and the rise of e-learning began to really GENERATED CONTENT IN THE FORM OF
take shape in the 90s, when the first learning management system
(LMS) was introduced. These software systems were designed to DOCUMENTS, PICTURES, AND VIDEO.
aid in administration, tracking, and reporting for the traditional
classroom. At that point, the LMS started replacing the physical
classroom with a virtual one. The system became a document re- ACCEPTANCE OF E-LEARNING
pository that housed learning content in file format for download, The opportunity for e-learning is staggering. According to
albeit with minimal interaction capabilities. market research, online corporate training is expected to grow
In todays marketplace, there are thousands of learning prod- by 13 percent a year over the next decade, with 77 percent of US
ucts that meet a wide range of education needs and support many companies offering technology-based learning. [2] The ability to
types of content delivery. As platforms have evolved, so has the learn anytime, anywhere makes online education more attractive
learning content. to students than traditional classrooms. The abundance of quality
With the increased capabilities offered by an LMS, develop- content has increased employer acceptance of degrees and certifi-
ers of course authoring tools looked at ways to standardize by cations earned online.
packaging materials as a sharable content object reference mod-
el (SCORM) file. [1] These zip files contain learning content that INTERNET OF THINGS AS LEARNING
adheres to a communication standard for storing and retrieving DEVICES
information about delivery of the content from an LMS. Any con- The number of connected devices in the world continues to
tent created that conforms to the SCORM specification can be inter- skyrocket. Gartner predicts there will be more than 20 billion In-
changed between one LMS and another. ternet of Things (IoT) devices by 2020. [3] The way we experience
Though still evolving, SCORM packages are falling out of favor the world around us is aided and being chronicled through these
as content providers have begun incorporating more standalone everyday devices, and the implications here for learning are huge.
video content into their offerings. If we have a question, we dont have to open a laptop anymore
Because high-quality video is readily available on our mobile to get an answerhands-free, voice-controlled devices for our
devices with high-speed access to the cloud, video is a natural me- homes, such as the Amazon Echo, mean we can simply ask, How
dium for sharing and creating content. Done well, video can offer far are we from the sun? Our Fitbit can help us understand our
an engaging, effective learning experience by condensing material bodies and motivate us to get into shape simply by wearing it on
into bite-sized chunks. our wrist or attached to our clothing.

BETTER SOFTWARE TechWell.com 39


With the IoT, learning can move from simple communication of spreadsheets and files, but this type of data collection quickly
of knowledge to interactive and engaging ways to learn. IoT allows becomes unmanageable. The SCORM specification also is limiting
us to take our learning from the analog to the digital world and to because of its focus on communication of data back and forth to the
record our experiences, attempts, and accomplishments of tasks. LMS, without a broader specification on the schema of that data.
Access to this new data that IoT gives us opens possibilities for new Because of this, LMS and SCORM authoring tool vendors resort to
evaluation and measurement. It can help motivate us and bring storing information in proprietary formats that severely hamper
new revelations to light that can shape our training experiences the ability to report on the details of learning across a variety of
for the better. courses or implementations.
The Experience API (xAPI) was built to help solve this problem.
VIRTUAL REALITY AS AN IMMERSIVE [4] xAPI greatly improves on SCORM and allows for the recording
EXPERIENCE of all learning experiencesfrom formal classroom instruction to
Virtual reality and augmented reality are making a splash in online interactions. xAPI is a REST API that communicates expe-
the gaming space, and these technologies are fighting to find their riences as a statement, featuring an actor who is participating in
place in learning environments, too. Virtual environments are a the experience, a verb describing the experience, and the object or
great way to train someone or immerse them in role-play inter- subject of the experience. These statements are stored in a learn-
actions without putting learners into risky situations or using ex- ing record store (LRS). Figure 1 shows a sample xAPI transaction
pensive equipment. Navigating a heart surgery, operating a front record describing my watching a video.
loader, flying a fighter jet in a dogfight, or managing a nuclear re- Because we experience learning in so many ways, the verbs
actor in a disaster are all possible using virtual and augmented that can be used in an xAPI statement are vastparticipating in
reality devices. The graphics capabilities now are at a level where meetings, reading blogs, having conversations around the office,
the experience feels very realistic and can prepare students for the watching videos online, taking formal courses delivered through
experience in real life. an LMS, conducting simulations, apprenticing, and so much more.
The ability to store each of these interactions in a standard format
makes the analysis of a persons or groups experiences available
for research, comparison, and measurement.
xAPI is still in its infancy, so use of the technology in the learn-
ing industry should grow in the coming years as more of our learn-
ing experiences become xAPI-enabled. The result of having this
increased insight into how people learn will enable companies to
train and retain top talent more effectively, provide customized
learning experiences for different learning personalities, and let
teachers tailor their content based on big data analysis.

Validating the Learning Experience


xAPI and the LRS record a higher percentage of students total
learning in a standard way. One of the great things about a com-
mon recording standard is that records can be shared between
any LRS implementing the server-side xAPI specification require-
ments. This means, for example, that as a student moves from col-
lege to a job and then from workplace to workplace, all learning
records can remain with the individual.
Recorded learning data must be safe and verifiable. There
Tracking the Learning Experience with xAPI needs to be a way to guarantee accuracy and security.
The 70:20:10 model for learning states that 70 percent of our This is an area of the digital learning experience that hasnt
learning takes place through on-the-job experiences, 20 percent been fully developed yet, but I believe that there is huge potential
from our interactions with peers or mentors, and 10 percent from in using software systems that utilize blockchains. Blockchains are
more traditional educational tasks, such as testing. Until recently, blocks of information that are linked together and stored on a net-
we have been able to measure and track only the 10 percent. If we work of distributed, decentralized computers.
cant evaluate the entire learning experience, it is impossible to This network of distributed devices ensures that security of any
determine what training methods are most effective. block of data is built in. No one person owns the entire system,
The training and development world tried to collect as much making it extremely difficult for data to be edited or changed once
information made possible using LMS technology and in the form it has been added to the chain.

BETTER SOFTWARE TechWell.com 40


Figure 1: Example xAPI statement showing that the author watched a specific segment of a video using Firefox on a Mac

The blocks themselves are linked together using cryptographic based on technology advances is opening new doors to experience
algorithms, meaning it would be nearly impossible for the data in learning in different ways, track it more precisely, and evaluate its
the blocks to be modified or forged. Rsums and learning experi- effectiveness.
ences could be instantly validated while still preserving privacy.
[email protected]

Adopting Online Learning


Technology is changing the way people learn, as well as the
ways learning experiences are tracked and recorded. Innovation
C L I C K F O R T H I S S TO R Y ' S
REFERENCES
BETTER SOFTWARE TechWell.com 41
TRAIN YOUR
TEAM ON
YOUR TURF

BRING THE TRAINING TO YOU For more than twenty-five years, TechWell
has helped thousands of organizations
Software Tester CertificationFoundation Level
reach their goal of producing high-value
Mastering Test Design and high-quality software. As part of
Agile Tester Certification TechWells top-ranked lineup of expert
Agile Test AutomationICAgile resources for software professionals, SQE
Integrating Test with a DevOps Approach Trainings On-Site training offers your team
Mobile Application Testing the kind of change that can only come
And More! from working one-on-one with a seasoned
expert. We are the industrys best resource
60+ ON-SITE COURSES to help organizations meet their software
testing, development, management, and

40 7
requirements training needs.

TESTING MANAGEMENT With On-Site training, we handle it all


COURSES COURSES bringing the instructor and the course to
you. Delivering one of our 60+ courses

9 4
DEVELOPMENT
at your location allows you to tailor the
experience to the specific needs of your
REQUIREMENTS organization and expand the number of
AND TESTING
COURSES TOOLS COURSES people that can be trained. You and your
team can focus on the most relevant

17
AGILE
2
SECURITY
material, discuss proprietary issues with
complete confidentiality, and ensure
everyone is on the same page when
COURSES COURSES
implementing new practices and processes.

I F YO U H AV E 6 O R M O R E T O T R A I N , C O N S I D E R O N - S I T E T R A I N I N G

SQETRAINING.COM/ON-SITE
TECHWELL INSIGHTS

Featuring fresh news and insightful stories about topics important to you, TechWell Insights is the place to go for what is
happening in the software industry today. TechWells passionate industry professionals curate new stories every weekday
to keep you up to date on the latest in development, testing, business analysis, project management, agile, DevOps, and
more. The following is a sample of some of the great content youll find. Visit TechWell.com for the full stories and more!

Finding the Bottlenecks in the Agile and Think Small: Break Down User Stories for
DevOps Delivery Cycle Agile Success
By Tanya Kravtsov By Mitch Goldstein
To achieve incremental software development and continuous The entire agile team needs to be involved in a continuous process
feedback, you need to eliminate the tasks that create bottlenecks, which of identifying ways to simplify work, right up until a story is complete.
hinder the flow of development. A chain is no stronger than its weakest Smaller stories ensure that development work is rapid and trackable.
link, and identifying these weak links is a critical step toward achiev- Mitch Goldstein details how to focus on breaking stories down into a
ing agility and increasing efficiency. more estimable, digestible size.

Read More Read More

Managing the Turbulence of Tester Contributions to Scrum


Organizational Change Conversations
By Naomi Karten By Justin Rohrman
In times of major change, particularly organizational change, its Scrum is one of the most popular paths to agile, but testers some-
normal for people involved to experience turbulence, including anxi- times join this framework as an afterthought and arent quite sure how
ety, anger, or uncertainty. If youre overseeing a change, how you com- they fit into the development flow. Scrum is more than answering three
municate with those affected can significantly decreaseor increase daily questions, and testers are in a position to understand the project
the duration and intensity of that turbulence. better than anyone else on the team.

Read More Read More

Continuous Testing: New Improvements The Future of Testing: Quality Engineers


on an Old Idea and Specialist Skills
By Alex Martins By Melissa Tondi
The concept behind continuous testing is far from new, but whats Many testers have opinions about the future of their profession.
different now is that software development practices have evolved to a Melissa Tondi thinks the traditional QA position is moving toward
point where developers are embracing testing as part of their respon- that of a quality engineera skilled role using techniques previously
sibilities. Testing is slowly moving from being an event to an activity thought of as the domain of specialists. If we focus on efficiency, tomor-
throughout the development lifecycle. rows testers can expand their skill sets.

Read More Read More

Training and Tomorrows Jobs The Software World Is ChangingAre You


By Pamela Rentz Willing to Change with It?
Reports vary in predictions about what parts of the workforce will By Lee Copeland
be most affected by automation. How far-fetched is the idea that sig- The software landscape is changing. Processes are becoming quick-
nificant numbers of technology jobs will become irrelevant? How can er and leaner, but instead of re-evaluating some of our traditional
training and education programs better prepare us for the future? practices, we sometimes try to make them fit where they dont belong.
This holds back continuous improvement. If you want change, you first
Read More
need to be willing to change.

Read More

BETTER SOFTWARE TechWell.com 43


TECHWELL INSIGHTS

Keeping Your Software Testing Abilities Test Your Data Quality to Increase the
Relevant Today, Tomorrow, and Beyond Return on Your QA Investment
By Sunil Sehgal By Shauna Ayers
Development and product teams have embraced agile and DevOps. With the high volume of data coming into your organization, its
What can testers do to keep up with their development peers? Here important that it be complete, correct, and timely. But considering the
are some ideas about what testers can learn, what skills we can add, velocity at which this data is moving, how do you measure its current
and what processes we can start doing in order to continue delivering quality? You must be able to test it wherever it sits still enough to be
quality today, tomorrow, and further into the future. viewable, without altering it.

Read More Read More

Engineering Architecture Systems for a 10 Strategies to Get the Most out of


Faster Build Attending a Conference
By Abraham Marin-Perez By Greg Paskal
In the era of continuous integration and continuous deployment, Any time you get the opportunity to attend a conference, think of it
big applications are creating bloated build pipelines. The problem is as a chance to learn and bring some new ideas back to your team and
when code becomes so entangled that every change impacts large por- company. Its important to be intentional as you prepare and to know
tions of the system, meaning theres a lot to rebuild. If you reshape the what you want to achieve. Here are ten strategiesand a worksheet
code architecture, you can reduce build times. to help you get the most out of the experience.

Read More Read More

Make Your Security Testing More Agile Encouraging Just-In-Time Testing


By Alan Crouch By Mukesh Sharma
Security practices traditionally have followed a waterfall model, When the development landscape is extremely dynamic, a testing
adding security testing on at the end. Organizations need to coach their effort that is adaptable and flexible with an ability to learn the system
security programs and testers to prioritize analysis and risk, much like and craft scenarios on the go is increasingly important. Testers should
we do with agile stories, to better incorporate security defects with oth- be encouraged to be just-in-time testers with the ability to test anything
er feature work along the way. at any time.

Read More Read More

7 Good Project Management Practices for Building for the Internet of Things Is
Replacing a Legacy System GreatJust Keep Security in Mind
By Payson Hall By Chris Poulin
When you need to replace a legacy system quickly, its tempting to The Internet of Things gives us opportunities to transform every-
set aside good project management practices and push forward reck- day life into frictionless interactions between humans and machines.
lessly. But doing so results in delays, cost overrun, and organization- However, that also means the technological attack surface is every-
al chaos. Take time to understand the problem, plan and estimate the thing. Makers learning how to build IoT devices must also learn how to
solution, and set up your project for success. build safe, secure, and compliant devices.

Read More Read More

The Difference between Managers and What You Should Consider to Make the
Leaders Best Use of Your Collected Data
By Steve Berczuk By Catherine Cruz Agosto
You often hear managers referred to as leaders, but the two terms We live in a world where data is constantly being recorded. In
are not synonymous. Managers can be leaders, but not always, and software, determining the timing of when to use that data is critical to
there are people who dont have formal management positions who making the most of the information. You should take into account data
are leaders. Understanding the difference can help people in both freshness, the data-gathering processes and any dependencies between
rolesand their team membersbe more effective. them, and when to distribute information.

Read More Read More

BETTER SOFTWARE TechWell.com 44


CA RE E R DEVELOPMENT

You Get What You Tolerate


IT IS NEVER EASY DEALING WITH DISRUPTIVE AND CONFRONTATIONAL DEVELOPERS
ESPECIALLY WHEN THE PRODUCTIVITY AND WELL-BEING OF THE TEAM ARE AT RISK.
by Andy Kaufman | [email protected]

Early in my management career, I had the opportunity to work


with a talented developer. Ill call him Sam. Sam was smart, for sure,

The incorrect
and he knew it. He also knew he was the only person who deeply un-
derstood some critical modules of the software we were developing.
However, Sam struggled with emotional intelligence. He was of-
ten oblivious to how his words and negative actions impacted oth-
perception is that the
ers. If someone disagreed with him, he tended to write them off as lower performers on
your team may be
stupid, and he could easily lose his temper in meetings. He refused
to follow many of our internal processes because they were, in his
opinion, worthless. In short, team members and business stake-
holders trod lightly around Sam, hoping they wouldnt set him off.
lazy. It could be they
Managers put up with Sams belligerence over the years because have just gotten into
a rut and need to be
he was technically valuablewe couldnt afford to upset him or risk
losing him to a competitor. The company was dealing with a ticking
time bomb. After being passed from group to group, Sam landed in
my organization. I was the last remaining manager for Sam to work
challenged.
with, and I was a relatively inexperienced manager at that.
What was I to do with Sam?
Individual Performance
What We Tolerate Its easy to start tolerating lackluster performance. Engaged,
Several years ago I came across a quote that has had a lasting self-managed teams are a worthy aspiration, but over time, cer-
impression on me: You get what you tolerate. [1] It was used in tain team members consistently go above and beyond while others
the context of marriage relationships, but it applies to many areas barely carry their own weight.
of what we do as professionals. This is especially true for those of The incorrect perception is that the lower performers on your
us who lead teams that deliver software projects. team may be lazy. It could be they have just gotten into a rut and
Everyone, especially management, tolerated Sam. But the im- need to be challenged. It could be the low performers are sufficient-
pact of his behavior was disastrous to team members. Trust quick- ly competent but realized how compensation works at many orga-
ly eroded when the tsunami of Sams wrath crashed against some- nizationsthey can go above and beyond and get a 3 percent raise
one in his way. Beyond hurt feelings, it hindered productivity and while the person who barely performs receives a 2 percent raise.
led to increased attrition. Regardless, an objective analysis of your team would likely
This problem is not unique to software development teams. find that you are tolerating lower performance from some team
Sales-oriented organizations often tolerate destructive salesmen members.
as long as they make their numbers, and some organizations toler- How much does this matter? Researchers of team effectiveness
ate hopelessly demanding and abusive customers because of one examined the impact of team members who were deadbeats (de-
reason: We need the money. fined as withholders of effort), downers (who tend to express
So, what are you tolerating? In my work with software man- pessimism, anxiety, insecurity, and irritation), and jerks (who vi-
agers around the globe, I often see three areas where we get what olate interpersonal norms of respect). They concluded that tol-
we tolerate: erating only one of these negative people can bring down overall
Team member performance team performance by 30 percent to 40 percent. [2]
Conflict among team members The willing/able matrix shown in figure 1 can be used to help
Our own careers guide team members to maximum effectiveness.

BETTER SOFTWARE TechWell.com 45


CA RE E R DEVELOPMENT

sideration? Are you settling for a paycheck, having given up on


pursuing a path that would be more meaningful but risky?
In his book Workplace Poker, [3] author Dan Rust suggests that
Challenge then confront if Provide further
if youre not happy with the state of your project, the performance
no improvement opportunities
of your team, or where you are in your career, theres only one
- Able +

person to blame: yourself. Rusts point is that until you take re-
sponsibility for where you are, you wont take responsibility for
improving your situation.
Confront Educate and encourage The best help Ive found for handling career tolerations is a
mentor. Its often too difficult to get the perspective we need on
our own. Regardless of how formal the relationship is, substantial
benefits come from having someone who can help assess who we
- Willing + are, where we would like to go, and how we can get there.
Figure 1: How to move from tolerating to improving
Your Next Move
The goal is for team members to operate in the upper-right The willing/able matrix helped me start a long overdue conver-
quadrant as fully able (competent and skilled) and willing (en- sation with Sam. I challenged him to find an opportunity to grow
gaged, motivated, and open to change). his influence at the organization and to improve the teams overall
Sam was fully able, in that he was clearly a talented developer. ability to deliver. When Sam pushed back and refused to change,
But he had a willing problem. This placed him in the upper-left this eventually led to a more difficult conversation. Sam was now
quadrant of the matrix. Folks in that quadrant need to be chal- confronted with the reality that if he didnt change, it would cost
lenged to move to the right. This can lead to the manager confront- him his job.
ing individuals if their performance doesnt improve. I wish I could report that Sams eyes were opened and he
changed his behavior. In the years since, I have seen problem em-
Conflict and Team Interactions ployees respond favorably to challenges and up their game. But
Beyond individual performance issues, we can also tolerate thats not how things ended for Sam. I took the step we had all
poorly managed conflict between team members. Teams inevita- avoided for too long, and Sam was asked to leave the company.
bly encounter conflict, and if youre a manager at all like me, you This resulted in Sam without a job and our team missing this high-
may not particularly look forward to dealing with it. Yet how your ly volatile but valued developer.
team deals with conflict can be a critical factor in how successfully That seems like a lose-lose ending, but its not the end of the
you deliver your projects. It can be a good thing and lead you to story.
better solutions, or it can be destructive, leading to reduced trust, How long do you think we missed Sam, whom we thought we
resentment, and attrition. couldnt live without? Not long. Team morale and productivity im-
Cognitive conflict is the beneficial sort of conflictthe type proved, and we were still able to complete projects. It turned out to
that wrestles with the ideas and approaches that lead to better out- be a positive experience for Sam, too. His wife happened to attend
comes. Cognitive conflict is also necessary, and if you dont have a class I was teaching years later. During a break, she told me that
some of it, you could be tolerating something just as insidious: arti- being let go was a terribly difficult time for him, but he could now
ficial harmony. Affective conflict, on the other hand, is when those say it was one of the best things that happened in his career. It was
interactions go over the line and get personal. Tolerate affective the jolt he needed to make some necessary changes in his life.
conflict, and its only a matter of time before youll see hits to inno- You are getting what you toleratewith your team and your
vation, quality, and overall team performance. career. Some of these results are benign and unworthy of further
Talk with your team about these types of conflict, and be alert thought. But others are holding you and your team back from max-
to situations where you begin tolerating affective conflict. imizing true potential. Its your responsibility to remove anything
impeding your team.
Impact to Career Progression What are you tolerating?
So, what are you tolerating in your career? Have you grown
strangely content working for an organization that treats you more
like a resource than a person? Are you tolerating a boss who mi-
cromanages you and shoots down ideas without reasonable con-
C L I C K F O R T H I S S TO R Y ' S
REFERENCES
BETTER SOFTWARE TechWell.com 46
C A N T AT T E N D A T E C H W E L L C O N F E R E N C E ?

WEVE GOT YOU COVERED!


Check out the TechWell Happenings
YouTube Playlists.

Hundreds of interviews, lightning talks, and STAREAST,


STARWEST, and Better Software conference presentations
are grouped by topic, so its simple to take control of your
learning experience.

Covering software testing and development topics ranging


from mobile testing to enterprise-level agile development
and pretty much everything in between, TechWell Happen-
ings Playlists deliver expert-level knowledge directly to you,
for free, whenever you want it.

Visit well.tc/TWHapps to subscribe to the TechWell Hap-


penings Channel so you wont miss out on the newest
interviews and TechWell conference presentations.

LINK TO OUR ADVERTISERS


DISPLAY ADVERTISING
[email protected]
Agile Dev, Better Software & DevOps East 14
Apica 27 ALL OTHER INQUIRIES
[email protected]
Delphix 13
iSQI 37
Parasoft 35 Better Software (ISSN: 1553-1929) is published four
Perfecto 34
times per year: January, April, July, and October. Entire
QASymphony 15
QMerty 3 contents 2017 by TechWell Corporation 350 Corporate

Ranorex 11 Way, Suite 400, unless otherwise noted on specific


RapidValue Solutions 29
articles. The opinions expressed within the articles and
Sauce Labs 22
SmartBear 4 contents herein do not necessarily express those of the

SQE TrainingeLearning 36
publisher (TechWell Corporation). All rights reserved.
SQE TrainingOn-Site Training 42
No material in this publication may be reproduced in
STARCANADA 28
STARWEST 2 any form without permission. Reprints of individual
Tricentis 23
articles available. Call 904.278.0524 for details.
TurnKey 48

BETTER SOFTWARE TechWell.com 47


Learn how ACCELERATE test cycles,
MITIGATE risk, and DRIVE DOWN costs.

In a short 30-minute assessment, our test automation


experts can tell you how test automation with test data
on-demand delivers low risk, high quality releases faster.

Plus, use our simple ROI Calculator to give you an indication of how much you
can save with TurnKey test automation.

turnkeysolutions.com/free-assessment/ | 844.428.4678

You might also like