BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Patterns Content on InfoQ

  • A Critical Look at CQRS

    Looking at Command Query Responsibility Segregation (CQRS) in a larger architectural context there are other architectural styles available. There are database technologies solving the same problems but in a simpler way, Udi Dahan states looking into ways of approaching CQRS. There is also a way that fulfils a lot of the CQRS goals but with fewer moving parts when CQRS is really needed.

  • Eric Evans on DDD, Microservices and Boundaries

    There is tremendous value in microservices, probably giving us the best environment we have ever had for doing Domain-Driven Design (DDD), Eric Evans stated in his keynote at this year’s DDD Exchange conference in London. Iteration is the most important key to good design and microservices is the second attempt, after SOA, to get things right.

  • Introducing CQRS and Event Sourcing with a Demo Application

    Improving on his understanding of the architecture and patterns involved in Command Query Responsibility Segregation (CQRS), Sacha Barber has created a complete CQRS demo application including event sourcing and an article with a cross examination of the inner workings.

  • Introducing IODA Architecture

    For Ralf Westphal common architectural patterns like Layered architecture, Hexagonal architecture and Clean architecture all look very similar giving a very crude idea of the structure of an application. Looking for another way of describing architecture Westphal has defined an architectural style, IODA Architecture, built on three formal responsibilities: Operation, Data and Integration.

  • Mary Poppendieck Discusses Containers, Microservices and Contract Tests

    At Craft Conference 2015 in Budapest, Mary Poppendieck discussed the ‘new software development game’ and offered advice on how best to utilise containers, microservices and consumer-based contract tests to lower friction and limit risk within software systems.

  • Defining Classes of Service in Kanban Using an Alternative Approach

    There are some alternative ways of identifying different classes of service in kanban. This post talks about these methods.

  • Playing the Fearless Journey Game

    The Fearless Journey game, designed by Deborah Hartmann Preuss, builds upon the patterns described in the book Fearless Change. It is a game that teams can play to learn how to address obstacles over which they have no authority. Martin Heider and Holger Koschek facilitated a workshop where they talked about using patterns in change and played the Fearless Journey game.

  • Aggregates, Entities and Value Objects in Domain-Driven Design

    Move as much as possible of the behaviour away from the Entities into Value Objects when working with Aggregates, As more behaviour is needed this is added as new value objects, Paul Rayner recommends in a series of blog posts covering aggregates, entities and value objects, all concepts from Domain-Driven Design (DDD).

  • Using the "Worse is Better" Concept with Agile and Lean

    Less functionality can make a better product according to the “Worse is Better” concept described 25 years ago by Richard P. Gabriel. According to Kevlin Henney and Frank Buschmann we can learn from the worse is better concept for development and architecture with agile and lean.

  • Architecture, Technology and the Lava Layer Anti-Pattern

    Successive changes to architecture and technology throughout the lifetime of an application can lead to a fragile and fragmented codebase that is hard to understand and maintain, an anti-pattern named Lava Flow or Lava Layer that Mike Hadlow often finds in enterprise software, especially in large, mission critical and long-lived software.

  • Google’s Android Performance Patterns

    The Google Developers YouTube channel has posted a set of 16 videos on Android Performance Patterns outlining a number of performance issues developers stumble across when creating applications for Android, along with advice on dealing with them which we will present in summary.

  • Decentralizing Organizations to Deal with Complexity

    Niels Pflaeging, founder of the BetaCodex Network, did the opening talk organize for complexity - how to get life back into work on the second day of the Dare Festival Antwerp 2014. He explained how decentralizing organizations is paramount to increase their performance and agility.

  • Liquefying an Organization to Increase Agility

    Organizations look for ways to increase their agility and becoming more adaptive and responsive. There a new wave of modern ways for managing organizations, supporting transparency and self-organization, taking off. LiquidO is an organizational governance model for arranging activities and decisions and giving credit, allowing everybody in an organization to take part in management activities.

  • How Spiral Dynamics Can Help To Become More Agile

    To become agile you might need to change the core values and beliefs of an organization. Applying value systems from spiral dynamics can help organizations to go from doing agile to being agile as Dajo Breddels showed in the path to agility at the XP Days Benelux 2014 conference.

  • Becoming a Continuous Learning Organization

    Software Development is often considered to be knowledge intensive, therefor organizations look for ways to enable continuous learning. “We need learning organisations and they start with learning individuals” says Marcin Floryan. Individual learning can be difficult and scaling individual learning even more challenging. What can organizations do to become a continuous learning organization?

BT