Seven Secrets Every Architect Should Know
Frank Buschmann’s secrets: User Tasks-based Design, Be Minimalist, Ensure Visibility of Domain Concepts, Use Uncertainty as a Driver, Design Between Things, Check Assumptions, Eat Your Own Dog Food.
Frank Buschmann’s secrets: User Tasks-based Design, Be Minimalist, Ensure Visibility of Domain Concepts, Use Uncertainty as a Driver, Design Between Things, Check Assumptions, Eat Your Own Dog Food.
Software Architecture is one of the important topics for software engineers, because many failures of software development projects are caused by inadequate design. Thus, it is essential to learn more about architectural issues in theory and practice. Interesting new books that have been published recently or in the near future could be very helpful
Software Craftsmanship has been a hot topic as of late. Joshua Kerievsky posits a possible counter-perspective to the underlying "code must always be clean!" ethos of the craftsmanship movement; something he calls "Sufficient Design". Learn about what Joshua means, and hear thoughts also from Bob Martin and Ron Jeffries on Kerievsky's ideas.
A number of commentators have been talking about the perceived dichotomy between Agile techniques and architectural thinking. This post investigates some of the tensions between Big Up Front Design (BDUF) and You Aint Gonna Need It (YAGNI) thinking and looks at how the two approaches can in fact work together in complimentary ways.
In addition to well established principles and anti-principles, Steve Jones’ new post introduces the notion of non-principles of an SOA implementation and explains why they are important.

A review of Frederick P. Brooks' latest book, The Design of Design. Few individuals have had as much influence on the 'practice' of software development and this book of loosely coupled essays on the essence of design, design process, and the development and nurturing of great designers extends and enhances previous contributions to the field. The review is enhanced with an interview and excerpt.

In this article, Jim Webber, Savas Parastatidis and Ian Robinson show how to drive an application's flow through the use of hypermedia in a RESTful application, using the well-known example from Gregor Hohpe's "Starbucks does not use Two-Phase-Commit" to illustrate how the Web's concepts can be used for integration purposes.

Eric discusses the need for strategic thinking an how early design decisions have major impact on the organization and the entire development process. He uses the lens of DDD Strategic Design principles (emphasizing "Context Mapping" and "Distilling the Core Domain") to show how to avoid strategic failures and achieve strategic successes. Winning strategy starts with the domain.

Purpose and intent are just as important as skill in effective software development. Skill allows you to deliver value in difficult technical circumstances. Clear purpose and positive intent allow you to deliver value in difficult social and business circumstances. Kent Beck shares his design technique which involves both intent and a small set of strategies he uses when designing.

This session addresses abstract notion of simplicity, looks at why it is critical in modern UI design and answers questions: Why does simplicity matter? Is there a meaningful definition of simplicity? Why do design processes and good intentions undermine simplicity? What processes and techniques can software developers use to achieve simplicity?

John Davies discusses technology problems and solutions encountered in the investment banking domain. Issues covered include: transport and data integration, protocols, XML, complex validation, persistence, and scaling via distributed systems. SWIFT MT to MX migration is also discussed.