Blog posts
|
At first look, that can seem well-worn. Since software exists the theorists praise us the merits of the modularity. The real voyage of discovery consists, not in seeking new landscapes, but in having new eyes. What misses cruelly nowadays it is a demonstration of the practice. We only have to consult the literature on the subject to be convinced. For example, version 2.0 of the “Application Architecture Guide” published by the Pattern & Practices group at Microsoft explains in detail the need for partitioning into layers to produce quality architecture. However, anywhere, it is explained how to design and code the visible interface of each layers. In the same way, anywhere, they explain the practice to reduce the coupling between the modules; practices which ensures to be able to test in an autonomous way (in a test bed) each layer without having to assemble the whole system. Yes, the modular architecture seems a well-worn subject but, but still today, the training in regard with modular design is defective and this one remains a challenge for a great number of organizations. |
|
What a nice day! 24 sessions. About 280 people showing up. 45 prices to raffle. Everybody was smiling and happy to be there even if it was a Saturday. The Montreal CodeCamp 2009 happened yesterday and it was a blast! I was presenting a session on the best practices for software construction ==> How to create self-documenting code. For those interested, you can download my powerpoint here. |
|
Last Tuesday, I was participating as a panelist in a webcast about "Becoming an Architect Entrepreneur". Overall we had almost 300 live viewers for the webcasts and had a near 90% average for the satisfaction with the event. I’ve included the links to the registration pages for the various webcasts that are part of the "Ignite Your Career" series if you’d like to share them with colleagues or other parties: |
|
Here is a Tech-Talk that I have recorded last week in Los Angeles while I was speaking at Tech∙Ed North America. Enjoy! |
|
There is two upcoming Modular Architecture workshop this summer.
See you there! |
|
Lately, I have read the Application Architecture Guide 2.0 and I was surprise that almost nothing is written about best practices to correctly design the visible interface of a layer. Here are three things which I like about the guide :
Here are three things which I would like to improve?
|
|
This week, I got the message from Microsoft that my MVP-title has been "renewed" for the fifth year in a row. Here is an excerpt from the notification email:
MVP status is awarded to credible technology experts who are among the very best community members willing to share their experience to helping others realize their potential. Being an MVP has opened many doors for me as a software architect and (sometimes rather pushy) Microsoft customer and the relationships I've been able to develop have added a great richness to my life. Thanks Microsoft ;-) |
|
See you there. |
|
I will do a talk about Modular Architecture. See you there. |
|
I will do a talk about Architectural Strategies for Increased Testability and Modularity. See you there. |
|
There is already over 15 persons registered for my modular architecture workshop. Use this special code to save $100 on your registration: G0005GUVSM See you there! |
|
I will do my talk about Modular Architecture February 12th at Agile Montreal user Group. See you there! |
|
For those who attend my talks lately about Modular Architecture. Here is the MindManager mindmap. http://www.mariocardinal.com/download/modular-architecture.zip If you do not have MindManager, here is where you can download a viewer. |
|
If you could ask Steve Ballmer one question about Microsoft, what would it be? What do you think the best software ever written was? What does success mean to you? Here are some of the questions I answer for the MVP Insider Canada. http://blogs.msdn.com/cdndevs/archive/2008/09/21/mvp-insider-q-a-with-mario-cardinal.aspx |
|
Coming to a city near you this October to December, its the Microsoft Tech Days 08! And the Montreal .Net Community leader want you to come out and learn, interact, get free stuff ... in french OSTIE! Ok, so seriously though…Microsoft is going to be coming through Canada between October and December bringing Microsoft Tech Days ‘08. This is *NOT* a marketing tour! It’s a one to two day conference (depending on your city) that focusses on learning and using Microsoft technologies. Think of it as a Microsoft focussed code camp of sorts.
This is *NOT* a free event.
You really want to get the swag kit …
I CANNOT STRESS ENOUGH how the cost of attending this is infinitely recouped by getting the TechEd 2008 DVD Set and $100 rebate for DevTeach/SQLTeach conference! I spoke at TechEd and let me tell you…CRAZY amount of content and information on those DVD’s. You normally would have to attend Tech Ed to get that, so that’s worth the price of admission right there. Where Do I Sign Up?! http://www.microsoft.com/canada/msdn/techdays/default.aspx Hope to see you out! TAGS: TechDays_CA |
|
Anybody who must manage and promote database schema should go this wednesday see Christian Coté talk about "Team System for DB Pro". This presentation is in french.
|
|
My ARCast episode has been published to the www.ARCast.tv site. Arcast.TV provide Global Perspective and Architectural Insight… about software development. ARCast.TV - Mario Cardinal on Layer Module Injection Layer Module Injection is a new pattern to enforce separation of concerns between domain logic and infrastructure services. Mario Cardinal and Joe Shirey will explain why to use abstract classes and interfaces as a means to reduce dependency surface. Mario and Joe will discuss the techniques of dependency injection and inversion of control to reduce the coupling between classes. In the same way, they will discuss benefits to modularize and decouple with layers using namespaces. The goal is to explain a new approach to simplify managing dependencies between the modules which compose a program. At the end of this discussion you will understand why architects worry so much about coupling, cohesion and separation of concerns.
Link http://channel9.msdn.com/shows/ARCast.TV/ARCastTV-Mario-Cardinal-on-Layer-Module-Injection/
|
|
For those who attend my talk yesterday during Agile 2008 Conference, you can download my powerpoint here: separation-of-concerns-Agile2008.ppt
|
|
Last month, while I was speaking during Tech•Ed North America Developers conference, I have recorded with Joe Shirey a video interview about my talk "Separation of Concerns". Microsoft has posted this video to Tech•Ed Online. You can find it here: Layer Module Injection.
|
|
While flying from Montreal to Paris today, preparing for Université du SI where I will speak later this week, I start reading a fantastic book about modularity. Design Rules, Volume 1: The Power of Modularity by Carliss Y. Baldwin and Kim B. Clark Using the computer industry as an example, the authors develop a powerful theory of design and industrial evolution. You must read this book if you want to learn about the concept of modularity, building complex products from small subsystems that can be designed independently yet function together as a whole. |
|
Today, I received very good news from DevTeach. It was the final report on last week event in Toronto. The report that was issued had the top 10 speakers in each of the tracks and also overall. I feel honored to be in the top 10 speakers overall for the event.
|
|
This week, I got the message from Microsoft that my MVP-title has been "renewed" for the fourth year in a row. Here is an excerpt from the notification email:
MVP status is awarded to credible technology experts who are among the very best community members willing to share their experience to helping others realize their potential. Being an MVP has opened many doors for me as a software architect and (sometimes rather pushy) Microsoft customer and the relationships I've been able to develop have added a great richness to my life. Thanks Microsoft ;-) |
|
My article about "The Hidden Roles of Software Architects" is now live in the following location on MSDN Architecture Center. http://msdn2.microsoft.com/en-us/library/cc431351.aspx Summary: This paper presents the full spectrum of roles that software architects must fulfill when building enterprise applications. An enterprise application is a software application intended for use inside an organization; the application must work within an existing architecture and be capable of being deployed and supported by an internal IT staff. Enterprise applications exist only to support the organization and its activities, or to help change the way business is performed. Developing for the enterprise is a very different challenge than building standalone applications. We start down the enterprise path as soon as we have to share resources, such as a relational database, among a large number of users, typically over a computer network. To identify the various roles that a software architect must perform daily, I will make use of my personal experience. I have designed large-scale information systems for almost 20 years. As a software architect, I am responsible for conceiving a technical solution to support, automate, or even totally change the business processes of my clients. At present, I am an independent senior consultant working for the largest institutional funds manager in Canada and also for one of Canada’s leading financial institutions. |