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.
110562
Abstract: This tutorial summarizes SOLID principles and answers some questions our viewers have asked about SOLID.
35310
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.
41907
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.
51295
Abstract: Using Dependency Injection and SOLID principles to ensure testable and maintainable software.
36820
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.
56425
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.
50755
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.
70167
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.
42051
Abstract: This article talks about Object Oriented Programming (OOP), starting with the basics and with examples in C#.
71187
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.
34320
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.
30561
Abstract: This article talks about applying Continuous Delivery techniques to deliver working software.
78536
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.
35010
Abstract: This tutorial explains some best practices to help you improve your Software branching and merging techniques and in turn improve your code.
25510
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.
34309
Abstract: This article talks about who is a Software craftsman, Software Craftsmanship, and what it is all about.
32973
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.
48587
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