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 859834 times.
108830
Abstract: This tutorial summarizes SOLID principles and answers some questions our viewers have asked about SOLID.
34152
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.
40722
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.
49230
Abstract: Using Dependency Injection and SOLID principles to ensure testable and maintainable software.
35144
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.
54486
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.
48888
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.
66918
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.
40827
Abstract: This article talks about Object Oriented Programming (OOP), starting with the basics and with examples in C#.
69929
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.
33182
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.
29481
Abstract: This article talks about applying Continuous Delivery techniques to deliver working software.
77375
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.
33816
Abstract: This tutorial explains some best practices to help you improve your Software branching and merging techniques and in turn improve your code.
24529
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.
33268
Abstract: This article talks about who is a Software craftsman, Software Craftsmanship, and what it is all about.
31832
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.
47225
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