Google Authors

A collection of articles from the IEEE Software's authors from Google.

This collections includes 23 articles published between 2012 and 2023.

(stats / articles)




2023 (3)

Software Engineering / IEEE Software

2023
Developer Productivity for Humans, Part 2: Hybrid Productivity
IEEE Software 2023 (2); by C. Jaspan, C. Green

The COVID-19 pandemic and its relationship to employee privacy, employee productivity, and future hybrid work are discussed in this installment.

2023
Fix Tech Debt With Virtuous Cycles
IEEE Software 2023 (2); by G. Fairbanks

You can avoid and repair tech debt by shifting your perspective on writing code from a checklist of obligations to a virtuous cycle.

2023
A Human-Centered Approach to Developer Productivity
IEEE Software 2023 (1); by C. Jaspan, C. Green

Measuring the productivity of software developers is inheritently difficult; it requires measuring humans doing a complex, creative task.

2022 (1)

Software Engineering / IEEE Software

2022
Did Your Manager Choose Your Architecture?
IEEE Software 2022 (5); by T. J. Halloran

Most engineers would cringe at the idea of their managers choosing their systems software architecture, but back in 1968, this is exactly what Melvin Conway…

2021 (3)

Software Engineering / IEEE Software

2021
The Monolith Strikes Back: Why Istio Migrated From Microservices to a Monolithic Architecture
IEEE Software 2021 (5); by N. C. Mendonça, C. Box, C. Manolache, L. Ryan

Early evidence on the gains and pains of microservices has started to emerge in academic publications and industry forums.

2021
Why Is It Getting Harder To Apply Software Architecture?
IEEE Software 2021 (4); by G. Fairbanks

We currently find ourselves in a surprising situation: we understand software architecture fairly well, but we find it difficult to put it into practice.

2021
The Diversity Crisis in Software Development
IEEE Software 2021 (2); by K. Albusays, P. Bjorn, L. Dabbish, D. Ford, E. Murphy-Hill, A. Serebrenik, M. -A. Storey

This special issue of IEEE Software focuses on diversity and inclusion in software development, presenting research results and best practices for making the…

2020 (6)

Software Engineering / IEEE Software

2020
Enabling the Study of Software Development Behavior With Cross-Tool Logs
IEEE Software 2020 (6); by C. Jaspan, M. Jorde, C. Egelman, C. Green, B. Holtz, E. Smith, M. Hodges, A. Knight, L. Kammer, J. Dicker, C. Sadowski, J. Lin, L. Cheng, M. Canning, E. Murphy-Hill

Capturing developers' behavior at scale can be challenging.

2020
The Rituals of Iterations and Tests
IEEE Software 2020 (6); by G. Fairbanks

Presents effective strategies for software development and management processes.

2020
Code Is Your Partner in Thought
IEEE Software 2020 (5); by G. Fairbanks

Writing about the buildup of technical debt, Ward Cunningham said, Although immature code may work fine and be completely acceptable to the customer, excess…

2020
Ur-Technical Debt
IEEE Software 2020 (4); by G. Fairbanks

Discusses the term "technical debt". Its so prevalent that we shorten it to tech debt or even just TD.

2020
Lessons Learned While Migrating From Swing to JavaFX
IEEE Software 2020 (3); by M. P. Robillard, K. Kutschera

We describe a case study of the migration of an interactive diagramming tool written in Java from the Swing graphical user interface framework to JavaFX.

2020
Testing Numbs Us to Our Loss of Intellectual Control
IEEE Software 2020 (3); by G. Fairbanks

I've been reflecting on how we used to develop software in the 1990s compared to what I see today.

2019 (6)

Software Engineering / IEEE Software

2019
Better Code Reviews With Design by Contract
IEEE Software 2019 (6); by G. Fairbanks

Design by contract DBC is a technique that improves the quality of your team's code.

2019
Healthy Code Reveals the Problem and Solution
IEEE Software 2019 (5); by G. Fairbanks

Source code reveals abstractions from two places: the problem and the solution.

2019
Scale Your Team Horizontally
IEEE Software 2019 (4); by G. Fairbanks

Not long ago, when your company became successful, you bought a bigger computer to run your software.

2019
Principle of Least Expressiveness
IEEE Software 2019 (3); by G. Fairbanks

I'm always delighted to discover a connection between two ideas that I'm already fond of on their own, so I'd like to share a connection I found recently.

2019
Ignore, Refactor, or Rewrite
IEEE Software 2019 (2); by G. Fairbanks

Imagine that you have some code written, but it has problems.

2019
Intellectual Control [Pragmatic Designer]
IEEE Software 2019 (1); by G. Fairbanks

2018 (1)

Software Engineering / IEEE Software

2018
The Pragmatic Architect Evolves
IEEE Software 2018 (6); by E. Woods, G. Fairbanks

The software architects role has changed in response to the changing demands of software engineering practice.

2014 (2)

Software Engineering / IEEE Software

2014
Architectural Hoisting
IEEE Software 2014 (4); by G. Fairbanks

Architectural hoisting is a design technique where the responsibility for enforcing an intentional design constraint is implemented in the code rather than by…

2014
Bespoke Infrastructures
IEEE Software 2014 (1); by D. Spinellis

Infrastructure developed within an organization for its own internal use can take many forms.

2012 (1)

Software Engineering / IEEE Software

2012
The 10-Minute Test Plan
IEEE Software 2012 (6); by J. A. Whittaker

The lowly test plan is perhaps the least appreciated of all supporting read: noncode software development artifacts.