Adam Cogan sits down with Marcel de Vries and Terje Sandstrom to breakdown the Software Development process. They discuss:

  • Evaluating the process
  • Getting the latest and compiling
  • Making instructions at the beginning of a project
  • Using the best code analysis tool
  • Looking at the architecture
  • Reviewing the documentation
  • Using the best code metrics tools
  • The common design patterns
Show Notes

  • This follows Rule: Do You Make Instructions at the Beginning of a Project and Improve them Gradually?
  • NDepend – ndepend.com
  • Metrics Numbers – https://geekswithblogs.net/terje/archive/2008/11/25/code-metrics—suggestions-for-appropriate-limits.aspx
  • This follows Rule: Do You Look at the Architecture?
  • This follows Rule: Do You Review the Documentation?
  • [12:22] The reason for this is that many teams mis-use the concept of agility by stopping proper engineering practices. When you create a solution for a customer, you still need to think about the way you implement it! You can sketch out alternatives using diagrams & Powerpoints etc. to decide on the pros and cons. It’s just good engineering practice. You must decide up front what the purpose of the documentation is. Is it just for you to engineer the right solution, or is it for an actual documentation purpose that perhaps needs to be maintained over time so that it can be handed over to e.g. The party that is going to maintain the code later.
  • Enterprise Architect from Australia is a great 3rd party tool for Architects: SparxSystems.com.au
  • [22:12] Marcel used the case diagram he showed and used that for the code generation. The sequence diagram he showed was a throw away and was only used to engineer the solution. In this particular project they made a decision about which diagrams they would keep and maintain.
  • This follows Rule: Do You Use the Best Tool to Run Code Metrics and Find Dodgy Code?
  • A code review should not be one person’s opinion but something you agree on before you start
  • This follows Rule: Do You Go Beyond a ‘Done’ and Follow a ‘Definition of Done’
  • Code should be read like poetry
  • You should add comments about decision you made in the code. Eg. Leaving out a lock statement, since that might trigger a developer later to add it just because he needs to rethink what you already decided. So every time you deviate from a common pattern document in the code, the reader will be able to know what you were thinking of.
  • This follows Rule: Do You Know the Common Design Patterns?
  • Look out for overuse of containers, dependency injection and reflection
  • As a general rule, only add complexity when you need flexibility
  • Don’t skim. Instead use the tools to drill into the bad code to look for more bad code. Remember bad code seems to attract more bad code
  • Bad code attracts warnings
  • Look for lots of setters since they indicate you are handing out your internals and you don’t know the constraints.

About the speakers

2 Sagacious Architects

Terje works as Chief Software Architect at InmetaCrayon in Norway, in the Consulting division. Most of his work is on advising developers, architects, project managers and testers, in larger companies. He is interested in all aspects of software development, even though coding principles are a favorite.

Terje have worked with professional and industrial design and development for far more years, than he want to remember, moving gradually from electronic design over to software design. He holds a M.Sc in Physics from the University in Oslo, graduating with a mixture of physics and informatics/software.

Terje has programmed in a lot of different languages, but is very fond of the object oriented ones, from his early exposure to Simula at the university. He is very interested in the theoretical aspects of programming languages, design patterns and everything that have a higher level of complexity. His interests goes into areas like databases, OLAP, UML, functional programming, graphics, 3D and more. He has still to learn there is probably a limit somewhere for how much it is possibly to do.

Terje has worked with Microsoft technology since the late 80's, and is familiar with a lot of the products made by Microsoft. He has been a Microsoft Visual Studio ALM MVP since 2008, and worked with the TFS family since the product appeared. Terje is running courses, seminars, workshops and speaks, not only at public events, but
a lot at internal company events for larger Norwegian companies. He is blogging actively at https://geekswithblogs.net/terje.

Marcel spends most of his time helping customers build enterprise systems based on Microsoft Technology. He has been working with Microsoft technology since he graduated in Computer Science in 1996. He started mainly with C/C++ and MFC.When Microsoft launched its new .NET platform in he immediately used it to write the first commercial application to go life in the Netherlands based on ASP.NET. Marcel writes articles and whitepapers on .NET, Application Lifecycle Management and Mobile solutions for MSDN, The Architecture journal and local magazines like Microsoft .NET magazine. Marcel is a frequent speaker at conferences like Microsoft TechDays, Visual Studio Live!, Microsoft Tech Ed and local user group events. Marcel is Technology Manager at Info Support and in his role he works as consultant in the Architect role for a variety of Financial and Insurance companies. He also teaches courses on topics like Visual Studio ALM, .NET , Mobile and Web development at the Info Support Knowledge Center.

He is writing actively at his blog.

Academy

Related Videos

Setting up your Ultimate Dev Environment | Matt Wicks

Everyone wants the ultimate dev environment – but more CPU, RAM, and (let’s be honest) screens can be very expensive toys. Learn how to make your computer sing and tweak your Visual Studio and VS Code experience to improve your life as a developer.   There is a myriad of tools out there and ways…

What I’ve learned from 20 years of programming in C# | Joe Albahari

Hear from Joe Albahari, a C# Programming guru! In April 2001, Joe wrote and published his first C# program. Join him in discovering the most valuable principles that he’s learned in the 20 years of C# programming that followed. In this video he covers a range of topics, with plenty of samples and useful code…

Cortana integration and other top tips for better appointments in your Outlook calendar

Ulysses Maclaren and Adam Cogan discuss the best ways to keep organized using Outlook Calendar. Check out the rule here: https://rules.ssw.com.au/rules-to-bet…​ || Subscribe for more content from SSW TV || || Press like and leave a comment below to let us know how we’re doing || Twitter ↴ https://twitter.com/ssw_tv​ Facebook ↴ https://www.facebook.com/SSW.page​ Created by SSW…

The people behind SSW – Australia’s leading software consultancy

In this video you will get insight into the people behind SSW. Hear from SSW’s General Manager, Ulysses Maclaren, and SSW’s Chief Architect + Microsoft Regional Director, Adam Cogan, on why SSW is Australia’s leading custom software development company. Consulting page: https://www.ssw.com.au/ssw/Consulting…​ || Subscribe for more content from SSW TV || || Press like and…

Tips and tricks to maintain your professional integrity in the workplace

Ulysses Maclaren with the best tips on how to keep your professional integrity. Read the rules ↴ https://rules.ssw.com.au/do-you-have-…​ https://rules.ssw.com.au/professional…​ 00:00​ – Why Professional Integrity? 00:45​ – Example – What Not to Do 01:46​ – How to Maintain Your Integrity 04:27​ – Good Example Benefits of Integrity 06:56​ – Tools to Improve Your Integrity 13:13​ –…

Web Application development is hard – Why choose SSW

Web Application development is hard – Why choose SSW Featuring SSW General Manager, Ulysses Maclaren. Consulting page: https://www.ssw.com.au/ssw/Consulting…​ || Subscribe for more content from SSW TV || || Press like and leave a comment below to let us know how we’re doing || Twitter ↴ https://twitter.com/ssw_tv​ Facebook ↴ https://www.facebook.com/SSW.page​ Created by SSW TV | Videos…

Federated Identity: OAuth2, Open Id Connect & Duende IdentityServer 5 | Anthony Nguyen

In this talk, Anthony will take an in depth look at Federated Identity using OpenID Connect and OAuth2 Framework for ASP. NET Core using Duende IdentityServer (aka IdentityServer 5). Securing your application is bloody important! With so much jargon to sift through, it’s easy to get lost, for example there’s SSO, OAuth2, SAML 2.0, OpenID…

February Tech News – Supply chain attack! Facebook & Apple privacy showdown and DotNet templates | Adam Cogan

Let’s Talk News with Adam Cogan, talking about some of the latest in the tech industry in February. 00:00​​ – Introduction – welcome to February’s Tech News 00:15​ – Nine signs Google deal 02:08​ – Coding news – supply chain attack!! 05:02​ – Facebook & Apple privacy showdown 06:38​ – Project Bicep – next generation…

January Tech News – Power Apps, new Teams interface, and how Apple Watch is fighting COVID-19 | Adam Cogan

Adam Cogan talks about some exciting new developments with Power Apps, Azure SQL, the new Microsoft Teams interface, Apple Watch helping in the fight against COVID-19, and more! 00:00​ – Introduction – welcome to 2021! 00:24​ – Power Apps turning emails into mobile notifications 01:21​ – Reference: Power Apps new naming: https://youtu.be/SU910ZzDp7M​ 02:03​ – Azure…

Multitenancy with SQL Server | Mehmet Ozdemir

In this Tech Talk, Andreas Lengkeek has a chat with Mehmet Ozdemir. We learn about Multitenancy with SQL Server, and go through some scenarios where this might be useful. In this video SSW Solution Architect Mehmet Ozdemir chats with Andreas Lengkeek about the three options for Multitenancy with SQL Server and how he goes about…