Deprecated: strtr(): Passing null to parameter #1 ($string) of type string is deprecated in /chroot/home/a40b7614/774635bdc8.nxcli.io/html/wp-content/plugins/moosend-email-marketing/vendor/moosend/website-tracking/src/Utils/Encryption.php on line 8 Deprecated: urlencode(): Passing null to parameter #1 ($string) of type string is deprecated in /chroot/home/a40b7614/774635bdc8.nxcli.io/html/wp-content/plugins/moosend-email-marketing/vendor/moosend/website-tracking/src/Payload.php on line 202 Scott Duffy – Page 27 – SoftwareArchitect.ca

Author: Scott Duffy

  • A Close Look At Microsoft’s Azure Cloud, Part 1: Cloud Computing

    Interesting Forbes article about Azure:

    Azure, currently, is the only major cloud platform that is consistently ranked as a leader for infrastructure-as-a-service (IaaS), platform-as-a-service (PaaS) and software-as-a-service (SaaS).

    Source: A Close Look At Microsoft’s Azure Cloud, Part 1: Cloud Computing

  • Top Challenges of Enterprise, Software and Solution Architects

    Top Challenges of Enterprise, Software and Solution Architects

    A week or so ago, I ran a survey of the students in my architecture courses, asking them what their biggest challenges were.

    In this post, we’ll look at the top 5 answers, from real working architects and senior application developers like you:

    1. Dealing with Legacy Systems

    Without a doubt, as we get into the 40th year of having enterprise-level software systems, we’re all feeling a bit burdened by some of these pain-in-the-neck (and difficult to replace) systems.

    In fact, as I look back on the last 10 years of my career, I can’t really think of a project that wasn’t something like these:

    • a system where the original developer is gone, and no one fully understands the system
    • a system where, for whatever reason, no one wanted to have to touch if at all possible
    • a system that has been “planning to be replaced” for several years, with no concrete schedule as to when
    • a system where the original vendor doesn’t even support it any more (or indeed talk about it on their website)

    If I had a magic wand, and could update to the latest version, or replace it with something more modern instantly, for sure that magic wand would be used a lot. Unfortunately, company’s sometimes prioritize certain things very low on the list, and we have to deal with them.

    2. Explaining the Value of Architecture to Non-Architects

    Oh man. What is architecture? What IS it? What do architects DO?

    This question has been haunting people in the architecture space for ages. I even made not one, but two videos about it. (Please check those out, and subscribe!)

    The thing to remember is, every system has an architecture. Whether an architect was involved or not, one or more people made some decisions on systems design that add together to become the system architecture. But would you rather have something that is designed intentionally, or something that just comes together without forethought?

    If I offered you a house, and said that I built it one room at a time without thinking about any of the other rooms, does that sound like a well-designed house? Then why can computer systems (and ultimately the businesses that run on top of them) be designed only one room at a time and expect the whole house to make sense?

    (Why are there 3 bathrooms in the basement and none upstairs by the bedrooms? Because there was no architect.)

    3. Dealing with Application and Data Security

    In 2016, security is a huge issue that anyone in technology has to deal with. Not only is it smart business policy to protect your customers data from being exposed, but it’s actually the law in many places that this data has to be responsibly protected. As architects, we need to be on top of the standards for security and ensure that our designs have thought about that before code has been written or systems set up.

    Easier said than done, of course.

    But from the way customer data is kept, to the way our networks are hardened from attack, to the limitations we place on users from outside (including the website user itself which will minimize the effects of a web-facing break in) are more important than ever, and will never be something we can take for granted.

    4. Dealing with integration with other systems

    Legacy systems were a big headache, but even interacting with non-legacy systems can be complex. How do you package and send GBs of sensitive data from one server to another when the other system only accepts XML files in a specific file directory as input? Sometimes you end up with middle-tier “connector” systems that just move files around, and sometimes you need to use third-party solutions like Microsoft SQL Server Integration Services (SSIS) or Microsoft BizTalk to pass and manipulate data around.

    The ideal solution is for two systems to be designed to talk to each other, or use some industry standard protocol (an Industry Architecture on the Enterprise Continuum!) so that related systems can just work to implement a standard instead of worrying about direct integration with so many varying systems. But those standards are often overly complex (due to the number of irrelevant-to-you scenarios they have to deal with) or don’t exist for your specific need.

    5. Feeling locked in with a single vendor, such that parts of the architecture cannot be changed

    We’ve all been there. Your company has been using “Tool X” for analytics and reporting so long that the code is everywhere. In every web page, of every website. Highly customized for button clicks, opt-ins, video plays, and all sorts of events. And implemented slightly differently in every site it’s been added to. When asked, you estimate 12 person-months to swap out the “Tool X” code and replace it with another solution to the same level of customization for pages and events.

    Sometimes you’re stuck. The cost to replace something doesn’t give the business the necessary return on investment to spend that money. And so you go year after year, with a tool that no-one really likes, paying more for it than you probably should, because it’s tool difficult to replace.

    There’s no easy solution to that, except to vow that the next time you’re asked to implement some custom third-party code in all your web pages, you devise a system that puts that code in one central location. You need to abstract that and centralize it, so that it’s easy to upgrade to the newest version or swap out to a new vendor.

    Those were the top 5 issues identified by my students. Anything that I missed?

    [activecampaign form=7]

     

  • Using Baby Steps To Climb Mount TOGAF

    A few years ago, in the place I used to work, the company used to go out for drinks after work on Thursdays. One Thursday we were out, and a friend of mine said he was interested in learning TOGAF.

    TOGAF? What’s that?“, I replied.

    And that’s how it started for me. When I went home, I did some research. TOGAF was a certification for architects. I was immediately excited by the idea of being certified for being an architect, as the idea that you could had not even crossed my mind before then. I’ve taken several certifications in the past – Microsoft Developer, Sun Java (back when there was a Sun Microsystems), and others. Being certified for TOGAF actually sounded like a great opportunity to learn, and a good career move. So I set it as a goal.

    Opening the specification for the first time was a bit intimidating. The TOGAF 9.1 spec does not do a great job telling you what it is and introducing people to the subject of enterprise architecture. It just starts, and each paragraph is sometimes vague and unclear. It was not going to be easy.

    And maybe, quite possibly, this is where you are. You see this subject, it looks interesting, something you think will help you do your job and open new opportunities in the future. You’ve bought my course (or haven’t) but what now? How do you go from where you are to where you want to be?

    I’ve found in my life that you need to take things slowly sometimes. You cannot climb Mount Everest in a single day. You climb a big mountain by going from one base camp to the next, and take some time to rest and get acclimated at each stop. It actually usually takes around TWO MONTHS to climb Everest (normally arriving in March, and reaching the summit in May). Maybe you can climb Mount TOGAF in under two months, but you need to understand when you start that it’s not an overnight thing, or something that can be conquered in one week. Setting expectations is important.

    So how do you reach the top of Mount TOGAF if you are currently standing at the very bottom?

    For me, it was doing a little bit of studying each day. If you set aside even 30 minutes or 1 hour per day to understand a little bit more about TOGAF, you will have made a little progress towards your goal. Set a plan. And stick to it no matter what.

    Do you understand what the TOGAF definition of enterprise is? Good. Do you understand what the TOGAF definition of architecture is? Good. Do you understand the objectives of the Preliminary Phase of the ADM? Good. Just keep making a little progress each day. Only one lightbulb needs to go off for a study session to be productive. Just do a little bit each day, and after a week you will be a few meters up the mountain. And after two weeks, you might be half-way up the mountain.

    The worst thing you can do is put it off. Someday. If you go significant periods without looking at it, you might as well not do it. You can’t climb Mount TOGAF by only climbing once every two weeks. You need daily progress. And if you must miss a day, get back to it immediately the next day.

    If you want to get the occasional email from me about TOGAF and architecture topics, I invite you to join my mailing list. You’ll get a special study guide containing the key TOGAF definitions free just for signing up.

    [activecampaign form=1]

     

  • What is Enterprise Architecture, In Plain English

    The course is on Udemy.

    TOGAF1-Updated

    Click the image above to have a look at the course landing page. You can grab the course for 40% off through that link.

    I also have a course covering the TOGAF 9.1 Part 2 exam.

    TOGAF2-Updated

    You’re also invited to click the link to be taken to the landing page for that course too.

    If you do decide to join, I would be at your service in helping you learn TOGAF and getting you to pass the exams.

     

  • Get TOGAF Enterprise Architecture Courses for an Amazing Price

    sa-blog-course-discounts

    Hopefully I don’t have to mention that Enterprise Architecture skills are in high demand these days. It consistently ranks among the fastest growing average salaries in technology. There are simply not enough qualified people to meet the demand for those skills, which is why the salaries are rising in double digits every year.

    And The Open Group’s Architecture Framework (TOGAF) is the industry standard for enterprise architecture.

    Perhaps you’ve considered TOGAF Certification in the past, but are unsure even where to begin to get it? I have a few courses on Udemy that might be helpful to you. It’s not all that expensive (compared to the alternatives), and has been proven to be very helpful to thousands of students already struggling to learn TOGAF.

    The first course covers all of the Part 1 exam topics – the Basic and Core Concepts of TOGAF, the ADM, Enterprise Continuum, Stakeholders and Views, Architecture Governance, and Reference Models.

    Watch this video to learn more.

    The course is on Udemy.

    TOGAF1-Updated

    Click the image above to have a look at the course landing page. You can grab the course for 40% off through that link.

    I also have a course covering the TOGAF 9.1 Part 2 exam.

    TOGAF2-Updated

    You’re also invited to click the link to be taken to the landing page for that course too.

    If you do decide to join, I would be at your service in helping you learn TOGAF and getting you to pass the exams.

     

  • Change Happens – It’s All About How to Handle It

    AreYouReady

    Those of you studying for the TOGAF certification may see that “change management” is mentioned in a few places throughout the specification, with slightly different contexts.

    Requirements Management is the center of the ADM hub, and has managing changes to requirements as it’s primary task. Phase G talks about handling change requests during development and implementation of the solution. And Phase H has to do with monitoring for changes in the business landscape, and handling those changes.

    So what’s the difference? Or is there a difference?

    The center of the hub is easiest to deal with. The ADM Requirements Management phase (which is not really a phase since it’s always operating) is a process for ensuring that any requirements that change while the ADM cycle is in progress get captured and handled. We cannot expect that, once the business requirements have been identified and signed off on, that for the next several months (during the rest of the requirements phases, into planning and implementation) that the business requirements cannot change. We all know that companies NEED to react to changes in a more dynamic (yet controlled) fashion, and this phase allows you to deal with each change as it happens, and make decisions as to how it impacts the process you are currently undertaking.

    For example, you might be past the business requirements phase (phase B), and working on the technical requirements (phase D). And a change request comes in that says that the business owner now expects there to be 50 new retail stores added this year, instead of 20. The solution you are designing and developing needs to be able to handle quicker growth.

    Now it may be that this information has no impact for you. The solution that you are proposing and in the process of designing can handle growth the same whether it`s 20 new stores or 50. There may be no impact at all. And so you update the business requirements document, ensure the application and data requirements are not impacted, and resume work on the technical requirements. You might be able to do all that in a single day.

    But perhaps your solution cannot be rolled out that quickly. Given the date you expect the solution to be complete, and the amount of time it takes to upgrade existing stores, handling 50 new stores this year might be a very difficult or impossible task. So this could very well push you to stop Phase D, go back into Phase B, and re-imagine a better solution that allows for quicker completion and rollout. This is just a hypothetical example, but the nature of the change does alter the way you react to it.

    Within Phase G, the solution is already designed and the development team has the task. Your role in Phase G is compliance, and so what do you do if the solution cannot be compliant to your designs? For example, you were counting on the ordering system to be able to update the customer relationship management (CRM) in almost real time. Within minutes of an order coming in, the customer record is updated to reflect that. This allows customer service agents to be able to talk to recent orders placed without having to go into the order system specifically. But during the development or deployment, it is realized that for performance reasons, there will be a 4-8 hour delay in getting orders updated inside the CRM. This is not compliant with your requirements, and in violation of the architecture contract.

    So what do you do then? Most likely, you do NOT stop what is happening and go back to Phase C (Data Requirements). You most likely have to either accept that the solution will initially be non-compliant (a dispensation), or come up with some temporary solution (a new system that will pull the orders in near real time and update the CRM) and deal with it properly the next time through the ADM. Again, it’s a hypothetical example. But how you handle change in this phase is specific to the context of this phase.

    Finally, in Phase H, the solution is deployed and you are monitoring the architecture landscape for change. You are actively looking for it. You are looking for a degradation in performance of certain systems (slowly falling out of compliance with the performance requirements), looking for new technologies or changes to the industry. And of course changes can come from within as businesses wish to make small tweaks here and there without needing to kick off a full ADM round again. If you are in Phase H, you do not need to “go back to Phase B” because there is no active ADM cycle going on at this point. You either handle the change (of course, this includes keeping the baseline requirements up to date) or defer it to the next cycle.

    Change is constant in business. And the TOGAF ADM has several ways to handle it.

     

  • TOGAF 9.1 Study Resource – Key Terminology

    sa-blog-key-terminology

    New from SoftwareArchitect.ca, a FREE 8-page study resource for the TOGAF 9.1 Part 1 exam (OG0-091).  Print this, and take this with you as you study for the exam. Take this to the exam center on the day of the test, for some last-minute assurance before sitting down at the computer. Remember that you have to throw it out (or put it in a storage locker) before entering the exam room itself.

    [activecampaign form=1]

    In this document, I go over the 40 key terms of TOGAF. If you are studying for the exam, or just need to understand TOGAF better, you need to understand these key terms in order to understand exactly what is going on.

    TOGAF-Key-Terminology

    Doesn’t the TOGAF spec covers definitions?

    Yes, it does. But the spec contains 77 definitions for terms. In this guide, I only over the key ones, reducing the amount you have to memorize for the exam. I also use my own wording to simplify and expand upon the official meaning, to make it clearer for you what they mean when they use those words.

    Simply enter your email address below, and I’ll be happy to send you this 8-page essential study resource with all of the key definitions required for the TOGAF exams.

    [activecampaign form=1]

  • The Four Week Plan for TOGAF Foundation

    The Four Week Plan for TOGAF Foundation

    At times it might seem like an impossible task to study TOGAF. The spec is 650 pages long. How could you possibly memorize it all?

    Well the good news is that you don’t have to memorize it. Here’s a four-week plan for studying for the Part 1 test. You can “tailor” this to your needs, if you think you need more or less time for each step.

    1) Set a date within the next 4 weeks to book the test. Do what you need to do to lock that date as THE date that you will take it. Write it down in your calendar or wherever you keep appointments.

    2) Set reminders for yourself between now and then. So if you booked the test for 4 weeks from today, set 3 reminders for yourself in that same calendar (a week from today, two weeks from today, three weeks from today) to highlight where you should be at in your studies. These are often called milestones, and you can judge your study progress against where you expected yourself to be with course milestones.

    3) By a week from today, you should understand ADM at a high level. You should know what the phases are by memory (“what is Phase E called?”). You should know what activities happen in each phase. No need to memorize the exact steps or the artifacts yet. Just know the ADM this week.

    4) Two weeks from today, you should get deeper into it. Watch the lessons on from Lesson 44 to Lesson 124 on each of the phases and each of the steps. Get a sense for what order things are done in, and why. ASK QUESTIONS in the discussion board to get my and other students opinions on it. (“Why is a high level migration plan during Opportunities and Solutions?”)

    5) Three weeks from today, learn the other important parts of TOGAF. Now you find out about content metamodel, architecture repository and enterprise continuum, and other things. You can take a sample test this week if you wish.

    4) Week four is review. Take other sample tests, and ensure that your knowledge is evenly spread in all needed areas. Get lots of rest before the test, and be relaxed and organized on the day of the test.

    There. You can do this, and there’s a plan.

     

  • Software Architecture vs Software Design

    Software Architecture vs Software Design

    Here’s the latest from the SoftwareArchitect.ca YouTube channel.  Would love to have you check out the channel or subscribe.

    One of the challenges of being in software architecture is dealing with the question, what is it? What is software architecture? And what is the difference between that and software design?

    In this video, I try to explain the difference between architecture and design. It all has to do with the 30,000 foot view versus the detailed view.

     

  • Tips for Passing the TOGAF 9.1 Part 2 Exam

    Tips for Passing the TOGAF 9.1 Part 2 Exam

    I put together a little list of study tips for you to give you a better idea of the strategy for studying for the exam. I hope you find it helpful.

    1) Eliminate the distractor first.

    When I was a kid, there was a TV program called Sesame Street. And it had a game on it called “Which of these things don’t belong?”

    The characters would then show three things (like, an apple, a banana, a pear, and a sock) and the goal was to figure out the one thing that didn’t belong in that group.

    In some ways, TOGAF Part 2 is a game of “Which of these things don’t belong?”

    Every set of answers on the Part 2 exam has 1 question worth zero points. It’s the obviously wrong answer. If you can figure out the obviously wrong answer on every question, you will almost certainly pass the overall test.

    2) Be familiar with the TOGAF 9.1 specification PDF.

    I did all my studying for the Part 1 exam based off the Open Group website. I found it easier to search in Google, and find the topic I was looking for in the spec that way. But when it comes to the Part 2 exam, you need to become best friends with the PDF.

    You need to know the sections of the document, the chapters. How it’s laid out. How to search inside a PDF. If you can be a master of quickly searching the PDF, you can “look up” the answer to every question on the test. You’ll know in general what to look for, and won’t waste time looking for it.

    3) Sample tests

    The Part 1 exam was about memorization to me, and so taking sample tests repeatedly wasn’t a recommended strategy. But the Part 2 exam is about reading, figuring out the essence of the question, ignoring irrelevant information, and finding the distractor.

    You absolutely MUST take sample tests before going in for the Part 2 exam. Being presented with that type of test without ever seeing it before would be a bad idea.

    This course contains a few sample questions, along with my explanations as to how I came up with the correct answer. (I will try to add more this month.) For 99 cents, buy the official Open Group sample tests as well. Well worth it.

    4) Set a goal. Pick the exam date now.

    If you give yourself 2 weeks to study for the exam, go ahead and book the exam with Prometric now. This will motivate you to study and give you a natural pace. You will know that you need to have covered the specification completely within the first week, and spend the last week reviewing, and taking sample tests. If you choose a date 3 weeks from now, your pace will be a bit slower. Having an end date is motivating.

    You can always change that date for free if it gets closer to the exam date and you feel you’re not ready.

    5) Just do it.

    For some reason, I’ve really gotten into that Shia LaBeouf motivational video. If you haven’t seen it, here’s the original. There have been hundreds of creative and funny edits to it. 

    Shia LaBeouf Motivational Video on Youtube

    “Don’t let your dreams be dreams. Yesterday you said tomorrow, so just do it.”

    I know that he’s mocking the motivational speaker industry, but it’s still somehow motivational to me. 🙂