The book, Microsoft® Solutions Framework Essentials
was referred to me as a deep resource on the Microsoft Solutions Framework so I thought I’d give it a read. The chapters on project management or iterative development weren’t new to me, but I did appreciate the focus on technology projects. The section that really jumped out at me was on mindsets. It can be hard to introduce change to a team once they get started, but anyone can change their mind at any time. That's what struck me as being so valuable about mindsets, you don't need to buy anything, convince anyone about a technology change, or get anyone else to agree or approve. You can just change your mind and go.

MSF Mindsets
- Quality Is Defined By Customer
- Pride of Workmanship
- Team of Peers
- Frequent Delivery
- Willingness to Learn
- Get Specific Early
- Qualities of Service
- Citizenship
593d4cc2-63f0-434b-a8b5-76f3a3d888e7|0|.0
We've all had to cut corners when writing code. Maybe a corner case came up and we implemented a kludge workaround. Looming deadlines can lead us to choose expedient solutions over elegant ones. I hope you are weighing cost, schedule, quality, and risk when you are making these decisions. Over time, these shortcuts accumulate technical debt. This debt manifests itself as poor performance, code smells, and low maintainability.
I've discussed how testing and analysis can help us identify and address areas where we are accumulating technical debt. Any sufficiently dedicated developer can use these tools to improve and refactor their project and improve quality. Once you have set the bar sufficiently high for your project, how do you keep the quality from slipping back. This becomes a team effort.

I believe code reviews are the number one tool for maintaining high quality. A code review allows senior developers to ensure that junior developers are following project standards. It also allows junior developers to ask questions to better understand both the standards, and the "dark corners" of your code. This approach works well in the middle of a development push (as many developers are working on interconnected functionality), or in maintenance mode to allow your team to review parts of the system to identify improvements.
In addition to socializing project standards, code reviews allow you to publicize standard library functionality. Every team build utility libraries, or domain specific functionality. Code reviews give everyone a chance to see how they should be used, or identify areas for "coding by subtraction", by replacing code with standard, tested library calls. This allows your team to take advantage of the testing you have been performing on your libraries as well as reduce duplication.
b2b45089-f53b-4de7-916e-5a1fb076aa6a|0|.0