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”

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 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”

Product Backlog Ordering

Product Backlog (PB) is a list of product features that must be turned into software functionalities through a series of interations called Sprints.  Product Backlog Items (PMI), which are sometimes referred to as Stories, are typically listed by the Product Owner (PO) in the PB based on the priorities determined by the PO. There is no problemContinue reading “Product Backlog Ordering”