Articles

Question mark cursor Critical Questions to Ask When Choosing a Third-Party API

This article exposes the risks and hidden costs involved in the seemingly innocent decision of which third-party APIs to use to gather and report data, offload critical functionality, and save implementation time. It addresses some typical reasons the decision-making process over third-party use is overlooked, as well as how to make good choices confidently and consistently.

Paul Bruce's picture Paul Bruce
Thinking Critically about Software Development BSC West 2015 Keynote: Better Thinking for Better Software: Thinking Critically about Software Development

Software developer Laurent Bossavit delivered the second keynote presentation, about why we need to think more critically about software development. He began his presentation by saying his intention was to make you question what you know—or what you think you know.

Beth Romanik's picture Beth Romanik
DevOps off the Rails Has DevOps Gone Off the Rails?

DevOps is evolving with some potentially very harmful choices embedded in it. Among these are poor adoption of sound computer science, little thought to the maintainability of DevOps code, and choices of tools based solely on productivity without concern for maintainability. Will this cause DevOps to fail to live up to its potential?

Clifford Berg's picture Clifford Berg
photo from pair programming sessions Pair Programming in the Clink

In this personal experience story, Daryl Kulak relates the day he spent behind bars. He was there to participate in a program that pairs prisoners with software developers “from the outside” to explore the art and science of agile software development. “It’s like a code retreat,” Kulak notes, “except it’s inside a prison.”

Daryl  Kulak's picture Daryl Kulak

Better Software Magazine Articles

Do You Really Want to Be a Manager Do You Really Want to Be a Manager?

The majority of managers are promoted due to their software development expertise. But becoming a successful manager requires a drastic change of focus. There is a set of expectations to consider before making that leap to the “dark side.”

Ron Lichty's picture Ron Lichty MW Mantle
Playing Games to Improve Software

You may not have heard about gamification, but instructional designers are now using game principles to help with retention of learned material in many forms of training. Ross Smith and Rajini Padmanaban believe that developers' UX and app design can benefit from gamification.

Ross Smith's picture Ross Smith Rajini Padmanaban
When Software Smells Bad

Most software needs to be "maintainable" and have high "internal quality." But what does that mean in practical terms? Code smells form a vocabulary for discussing code quality and how well suited code might be to change. The smells also provide good indications as to what to refactor and how.

Leveraging A Learning Culture

Mistakes happen. It's how you respond to them that matters. Teams might react to a bug with panic and blame, leading to a quickly hacked fix and possibly more issues. Taking time to investigate and learn leverages problems into process and practice improvement and a higher quality product.

Lisa Crispin's picture Lisa Crispin

Interviews

Melissa Benua discusses continuous integration Employ Continuous Integration Processes to Make Your Code Work: An Interview with Melissa Benua
Video

In this interview, Melissa Benua, senior backend engineer for PlayFab, explains the new way of life that continuous integration brings. She imparts practical advice for creating builds and running automation on the fly without spending hundreds of hours or thousands of dollars.

Jennifer Bonine's picture Jennifer Bonine
Mobile software developer Josh Michaels Mobile Development and Aggressive Testing: An Interview with Josh Michaels
Video

Josh Michaels is an independent software developer who makes apps for the iPad, iPhone, and Mac under the company name Jetson Creative. In this interview, Josh discusses mobile development, testing aggressively, and keeping users happy. 

Jonathan Vanian's picture Jonathan Vanian
Software testing consultant Matthew Heusser The Relationship between Testers and Programmers: An Interview with Matthew Heusser

StickyMinds technical editor Matthew Heusser is a consulting software tester and software process naturalist. In this interview, Matthew shares his thoughts on tester and programmer relationships, the impact of Acceptance Test Driven Development, and benefits of "lean coffee" gatherings.

Noel Wurst's picture Noel Wurst
Enhancing Mobile Data Security: An Interview with Erik Costlow

In this interview, Erik Costlow reveals some of the ways that today's hackers are using mobile apps to steal information not just from business, but also directly from mobile device users themselves. Erik also shares with us how device security should never be taken for granted by developers.

Noel Wurst's picture Noel Wurst

Conference Presentations

Mobile Dev Test Threads, Queues, and More: Async Programming in iOS
Slideshow

To keep your iOS app running butter-smooth at 60 frames per second, Apple recommends doing as many tasks as possible asynchronously or “off the main thread.” Joe Keeley introduces you to some basic concepts of asynchronous programming in iOS. He discusses what threads and queues are, how...

Joe Keeley
Program Management: Collaborating across the Organization
Slideshow

To be most effective when managing a large program, the component projects should limit their batch size, create networks of people, and report status in a way that works for the entire program. For those of you who are not quite ready for agile, Johanna Rothman explains how to use staged...

Johanna Rothman, Rothman Consulting Group Inc.
When Code Cries: Listening to Code
Slideshow

What is the best way to learn a new programming language or improve coding skills with the language you already use? Cory Foy has developed a new method for learning—and teaching—new programming languages and improving programmer expertise on their current languages. 

Cory Foy, Cory Foy, LLC
Reducing the Cost of Software Testing

The demand to deliver more software in less time is increasing. Give in to the pressure without thinking, and you end up facing burnout, stress, business risk, and, most likely, even more demands. Refuse, fight the good fight, and it is likely the business will replace you with someone else.

Matthew Heusser, Excelon Development

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.