In the race to remain relevant and ahead of the competition, organizations are swiftly transitioning towards digital platforms. This digitization goes beyond merely adopting new technologies; it involves reimagining business models to tap into enhanced operational efficiencies and novel revenue streams. Automation tools like robotic process automation (RPA), machine learning (ML), and artificial intelligence (AI)Continue reading “Balancing Innovation and Security: Navigating the Cyber Threat Landscape in Digital Transformation”
Author Archives: Allan Mangune
From the Trenches: Effectively Scaling Your Cloud Infrastructure and Optimizing Your Code For Speed
Domain-driven Development and CQRS
CQRS or Command and Query Responsibility Segregation is a pattern that promotes the separation of models for reading and writing data. The basic idea is that you can divide a system’s operations into two distinctively separated categories namely queries and commands. The queries are executed against the data without any side effects. The commands changeContinue reading “Domain-driven Development and CQRS”
Crafting High Quality Code
Designing Software using Domain-driven Design
Many people think that microservices architectural design pattern is the answer to software complexity. For others, it’s simply a correct evolution of service-oriented architectural design. But microservices come with a price — operational complexity. Creating monolith or microservices requires a good judgement on softare architectural design. The modularity of software applies to both monolith andContinue reading “Designing Software using Domain-driven Design”
Agile Tools
Agile tools help us increase our output by automating many tasks we perform during the development of software. Agile tools can be used to do to unit testing and performance testing. Tools can also be used for version control and automated integration.
Agile Methodologies
Agile methodologies involving iterative development and following the principles spelled out in agile manifesto. Extreme Programming and SCRUM are two of the commonly used agile Methodologies. Iterative development is a short cycle in software development that have four phases namely requirements gathering; analysis and design; testing and deployment. The software is considered as shippable toContinue reading “Agile Methodologies”
Object-oriented Analysis, Design & Programming
Object-oriented analysis, design and programming are powerful approaches when creating a software. The analysis is best done iteratively and incrementally. The models are developed based on the functional requirements. Organize the requirements around the objects and interaction among those objects. The design phase can be started in parallel with the analysis phase. Object-oriented design isContinue reading “Object-oriented Analysis, Design & Programming”