develpreneur podcast

Messages and Notifications – Your Communication Architecture

While the GUI is used for most of our user interaction, there are other methods to consider as well.  The areas of focus in this episode will be messages and notifications.  Much like other details of our solution, these need to be architected.  Our goal is to provide a consistent experience and easy use of these tools for implementation. Messages Of the two items in this episode, these are easier to design.  The architecture will often be a text file with message text values.  Alternatively, they can reside in a database.  While both options are viable, the database solution tends to be easier to maintain and extend.  You will also have to determine whether the messaging approach is a one... Read more

develpreneur podcast

Security And Authentication – Critical Architecture Concerns

Hackers are everywhere.  Thus, security and authentication are essential pieces of software architecture.  There are so many common features of application security available it may seem like no real thought is needed.  You can just grab the essential features “off the shelf.”  Nevertheless, there is much to nail down in architecting the best solution for your specific application. Start With Security And Authentication There are applications that are created with security and authentication left as a finishing touch.  This approach is often taken to simplify testing and validation during the implementation phase.  However, these are features that should be built into every piece of the application.  When you fail to do so, it is too easy to miss details and... Read more

develpreneur podcast

Scaling Up or Out Architectural Decisions

Systems and solutions will grow if they are successful.  Therefore, it is essential for us to consider whether this will be handled by scaling up or scaling out.  There are many ways that a solution will need to grow.  There can be limitations based on processing, storage, network, or other areas.  Each of these can grow in the same way or you can mix-and-max your way through these issues.  No matter the approach, it needs to be thought through as part of the architecture. Scaling Up The first way to scale a system is up.  This essentially keeps everything in place while making it stronger or more powerful.  In the computer world, this can be a bigger storage drive, more... Read more

Define and implement a test strategy

How to Define and Implement a Test Strategy

Welcome to the next episode in our new series “Integrating testing into your development flow”. Today we are going to be looking at “How to Define and Implement a Test Strategy”. Even though testing differs between organizations. Almost all software development organizations follow some sort of test document to achieve their goals and ensure they are following best practices. Not only is this document used by the organization to define its overall Test Strategy, but it is also one of the most important documents in test deliverables. Like other test deliverables, this document can be shared with the customer for a better understanding of the scope of the project, test approaches, and other important aspects. In some cases, the sales... Read more

develpreneur podcast

Administrative Tools And Architecting Your Solution

Nearly every solution includes some manner of administrative tools.  These tools range from scripts and manual process steps to full graphical interfaces and wizards.  No matter the form these take, they must be considered as part of architecting a solution.  Their very nature is for it to work hand in glove with the architecture and design to manipulate data as needed. Low-End Administrative Tools The simplest form of tools are scripts and similar utilities that are primarily manual.  These are often built around the architecture and implementation after the fact.  While that is acceptable, it is not ideal.  There are many times that I have seen these tools pushed off until after production deployments only to find that the proper... Read more

develpreneur podcast

Core Component Architecture – Build a Strong Foundation

No matter what we build, there is always a foundation of some sort.  In software, the core component architecture provides us that foundation.  These are the models or objects that provide the framework for all of the other functions.  When you design these core pieces of your solution, it is essential to get them right.  When you fail to do this, you will have problems throughout the system. It Starts With The Problem Once again, we refer back to the primary problem or problems we are solving.  The solution will require certain pieces of data and functionality that will impact the entire solution.  These items may include security, standard functions, critical data elements, and more.  The core component architecture is... Read more