Craig Berntson is a software architect specializing in breaking up the monolith and improving developer teams and processes. He is the author of two books on software development and has been a speaker at conferences across North America and Europe. He received the Microsoft MVP award twenty-two straight years. He lives in Salt Lake City, Utah.

Craig Berntson has written 18 articles, which have been read 886285 times.
Abstract: This tutorial summarizes SOLID principles and answers some questions our viewers have asked about SOLID.
Abstract: Do you think code reviews aren’t important? Think again. Code reviews are often recognized as the best way to improve code quality. This article will discuss the importance of code reviews, different types of code reviews, and how to conduct a code review.
Abstract: Coding guidelines are just one of the many tools developers should have available in their toolshed. By using them, you will help ensure that your code is lush, green, and vibrant.
Abstract: Using Dependency Injection and SOLID principles to ensure testable and maintainable software.
Abstract: The Interface Segregation Principle (ISP) states that interfaces should be small and should contain only those methods or properties that are effectively required. We will explore ISP in this article.
Abstract: Liskov Substitution Principle (LSP) is a SOLID principle that says that given a specific base class, any class that inherits from it, can be a substitute for the base class. We will explore LSP in this article.
Abstract: The Open-Closed Principle (OCP) in SOLID states that a Software Entity should be open for extension but closed to modification. Learn about this principle in this article.
Abstract: The Single Responsibility Principle (SRP) states that a class should do one thing and one thing only. Learn about this principle in this article.
Abstract: This article talks about Object Oriented Programming (OOP), starting with the basics and with examples in C#.
Abstract: Code refactoring isn’t code rewriting. Refactoring is the process of restructuring existing computer code without changing its external behaviour. This Software Gardening article talks about what is refactoring, why to refactor your code and the built-in refactorings in Visual Studio.
Abstract: What is Agile Software Development? How well is Agile working for you? Where do you need to make changes? This Software Gardening article analyses Agile to see what it really means.
Abstract: This article talks about applying Continuous Delivery techniques to deliver working software.
Abstract: Get started with unit testing using a simple ASP.NET MVC application. You’ll see how to setup the test and remove the database from the testing process.
Abstract: This tutorial explains some best practices to help you improve your Software branching and merging techniques and in turn improve your code.
Abstract: This article talks about continuous learning and why software developers must take responsibility for their skills and career. The author also shares some valuable resources to get you started.
Abstract: This article talks about who is a Software craftsman, Software Craftsmanship, and what it is all about.
Abstract: We begin our discussion of Good Project Management Techniques (Software Gardening) by discussing good soil, which in our case isn’t a software development technique at all, but is dependent on project management.
Abstract: Comparing software development to constructing a building is wrong. This article discusses why construction is the wrong metaphor and that software is organic and changes in unpredictable ways