David Bernstein describes the software profession as an industry of amateurs. He argues that it does not yet have many of the things that a true profession has, such as a defined path of entry or good apprenticeship opportunities. A big reason is that computer programming hasn't been around as long as other industries, but what else will it take for software to rise in the ranks?
Large companies traditionally have run software development projects so that after delivery, the project finished and the team dissolved. In the digital age, one might think the experience of running and delivering projects would be an advantage, but the legacy mindset and practices of corporate IT projects are actually a hindrance. Digital work needs to be ongoing, which requires a different management approach.
One of the most important things to pay attention to when writing software is how we name our symbols. Data and behavior should be named in a way that represents the essence of what we're trying to do. Naming affects understandability and reflects code quality, so use names that clearly communicate your intentions, and refactor those names when your intentions change.
Henry Ford, founder of the Ford Motor Company, was a captain of industry who revolutionized production. He also was one of the greatest influencers of the processes we call lean and kanban today. John Yorke believes Ford's ideas about process improvement made him a pioneer for systems thinking and agile software development.
Most software developers are in either the agile or the waterfall camp. Agile is required to be competitive, but many enterprise processes still rely on waterfall practices for stability. They can coexist.
Melissa Benua, director of engineering at mParticle, chats with TechWell community manager Owen Gotimer about the importance of whole team quality, how to get started using the test pyramid, and how developers can start writing testable code.
In this interview, Brandon Carlson, a consultant at Lean TECHniques, explains how all the newer aspects of software have come together. He explains how things have changed since agile has grown in prominence and what DevOps does for testing and development.
In this interview, software developer Laurent Bossavit talks about why we need to think more critically about software development. He dispels common misconceptions about the industry and suggests better ways to improve the development process, such as agile and lean methods.
Steve Berczuk is a regular contributor to TechWell and StickyMinds and a principal engineer and ScrumMaster at Fitbit in Boston. In this interview, Steve discusses configuration management and agile, helpful tools, and how testing has evolved over the years with the rise of agile.
More than two decades ago, Richard P. Gabriel proposed the idea that “Worse Is Better” to explain why some things that are designed to be pure and perfect are eclipsed by solutions that are compromised and imperfect. This is not simply an observation that things should be better but are...
Your organization is embracing agile. When it comes to adopting the process, your team seems to be doing all the right things. Yet deep down, something still doesn’t seem quite right. As their leader, it could be that you haven’t figured it out either. Perhaps your team is lacking some...
Transforming software development across geographic locations in a large company is difficult. But Nationwide Insurance found a way to successfully implement more than forty agile teams in multiple locations around the United States using their internal Application Development Center.
Top web companies employ continuous delivery of software to build and deploy systems faster and gain a marked competitive advantage. You can do it, too! Andy Singleton shares the patterns for testing in real time that result in more frequent and more reliable releases. He explains why...