BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Design Content on InfoQ

  • Non-functional Requirements in Architectural Decision Making

    In this article, authors present an empirical study based on a survey about the software architecture practices for managing non-functional requirements (NFRs) and decision making in software development process. They also discuss about how these requirements are elicited, documented, and validated at different organizations.

  • Author Q&A: Patterns of Information Management

    Mandy Chessell and Harald Smith have written a book titles Patterns of Information Management in which they present approaches to structuring and managing information assets based on their experiences across a range of customers. They use a Patterns approach to identify ways of addressing information problems which are common to many of the organisations they have worked with.

  • Design Patterns: Magic or Myth?

    In this article, author discusses the effectiveness of the usage of design patterns in software development. The analysis is based on surveys and mapping studies conducted to indicate which patterns were considered useful under what circumstances.

  • Meet Elaine: A Persona- Driven Approach to Exploring Architecturally Significant Requirements

    Often, requirements elicited from stakeholders describe a system’s functionality but fail to address qualities such as performance, reliability, & availability. Documenting these requirements is often overlooked because there are implicit assumptions that the system will perform to expected levels. This article describes a process developed on the idea of persona sketches to address this problem.

  • Interview: Adrian Cockcroft on High Availability, Best Practices, and Lessons Learned in the Cloud

    Netflix is a widely referenced case study for how to effectively operate a cloud application at scale. While their hyper-resilient approach may not be necessary at most organizations, Netflix has advanced the conversation about what it means to build modern systems. In this interview, InfoQ spoke with Adrian Cockcroft who is the Cloud Architect for the Netflix platform.

  • Interview with Sandi Metz on Practical Object-Oriented Design in Ruby

    On occasion of the second edition of her book “Practical Object-Oriented Design in Ruby: An Agile Primer”, InfoQ talked with Sandi about how her book was received, learning from open source code, making sensible use of code analysis tools and other topics.

  • There is a Cowboy in my Domain! - Implementing Domain Driven Design Review and Interview

    Implementing Domain Driven Design, has brought clarity to an important but little understood area of software design. As a measure of Software Design literature, Vaughn's work is educational and fun. With real world code samples and sage advice, IDDD guides the reader through the sometimes murky waters of DDD and helps them gain the insight required to start a DDD journey of their own.

  • Agile Software Architecture Sketches and NoUML

    Understanding the software architecture of what you're building can prevent chaos and encourage collective code ownership. In the race for agility though, many teams struggle to do this, particularly since they've abandoned UML in favour of "boxes and lines" sketches. Moving fast requires good communication, but how do you do this without resorting to big design up front and UML?

  • How Would You Build Up a City from Components?

    Aliaksei Papou explores how components and common design patterns such as the Observer and Finite State Machine make it possible to design an application such that it can grow and change according to your needs using the analogy of a house.

  • Design Pattern Automation

    Despite the high total cost of ownership of a line of code, a lot of boilerplate code still gets written every day. Much of it could be avoided if we only had smarter compilers. Indeed, most boilerplate code stems from repetitive implementation of design patterns that are so well-understood that they could be implemented automatically if we had a way to teach it to compilers.

  • Refactoring Legacy Applications: A Case Study

    To refactor legacy code, the ideal is to have a suite of unit tests to prevent regressions. However it's not always that easy. This article describes a methodology to safely refactor legacy code.

  • A Look At Elemental Design Patterns

    Jason McC. Smith speaks with InfoQ regarding his new book, "Elemental Design Patterns", and details his approach to evolving how design patterns are documented.

BT