Posts

Showing posts from October, 2020

Example of Best in Class RESTful API Design: Stripe

  Example of Best in Class RESTful API Design Stripe was among the first companies to publish a high-quality RESTful API with excellent supporting documentation. If you are building an API, this is an excellent example to follow: https://stripe.com/docs/api

Software Architecture: Micro-Services and Zero-Trust Systems

Software Architecture: Micro-Services and Zero-Trust Systems When it comes to software development, even with all the tools and methods at our disposal, it is still far too common for teams to jump into development without taking a little time to draft a software architecture plan. Laziness, pressure and inexperience are the most common excuses for this behavior. Any business that takes itself seriously should eliminate that risk of such behavior and incentivize its teams to think before they build. When attempting to architect a software system, you need a methodology to guide you in the process. Otherwise you risk building an ad-hoc solution that later requires a costly refactoring effort. It is all too easy to overlook performance, scalability, security, internationalization. The concept of micro-services can offer a helpful methodology to compartmentalizing software and think in terms of components. Whether you actually build micro-services or not, this way of looking at a software

Comprehensive Software Design Thinking

  Comprehensive Software Design Thinking Measure twice and cut once is a well-known aphorism in the construction industry. It cautions that one should not rush to execution without being thorough in preparation and planning. In software, and in this era of all things Agile, that principle is still essential. Whether you are working on a prototype, an MVP, a seemingly small feature, or a major release, it is important to take the time to plan before rushing to execution. The benefits of doing so outweigh the costs. In some cases, you’ll avoid running into major issues, and in other cases, by having a complete picture, you’ll simply be better positioned to fine tune the scope of work, choose what is essential and place non-essential tasks on the product backlog. -Ensure you fully comprehend what is to be built so that you can reliably scope the work -Ensure that you haven’t overlooked a key element, such as an adverse cyber-security impact or a required database modification -Ensure that