InfoQ Homepage Agile Architecture Content on InfoQ
-
How Functional Programming Can Help You Write Efficient, Elegant Web Applications
Many things can make software more challenging to understand and, consequently, to maintain. One of the most complex and problematic causes is managing internal mutable states. When the internal state is poorly managed, the software behaves unexpectedly, leading to bugs and fixing, which introduces unnecessary complexity. FP solves this problem by providing immutability mechanisms and more.
-
9 Steps towards an Agile Architecture
Just as a Minimum-Viable Architecture (MVA) approach does not create a system’s architecture in a single step, adopting an MVA approach takes a series of incremental steps as well. These organizational changes start with a single development team and use feedback to evolve the process as more teams are brought in.
-
Rules of Thumb & Traps When Approaching Tech Stack Decisions
At the MVP stage - do only the stuff you would do in a hackathon. Scalability and processes will become important once we have predictable revenue streams. Where are you generating your unique value proposition? Outsource all aspects of the tech solution which are not in a relationship with your competitive advantage. Follow a general tech directive but balance it with the team's autonomy.
-
Adaptive Architecture: a Bridge between Fashion and Technology
Adaptive architecture is a feature of agile software development and is also a source of competitive advantage in the fashion industry. Nike's collaboration with Virgil Abloh on "The Ten" is an example of how these principles play out.
-
Categorise Unsolved Problems in Agile Development: Premature & Foreseeable
Productivity decline and technical debt, as often seen in agile development, can be prevented by separating unsolved problems into premature and foreseeable. It shifts the discussion about unsolved problems from importance to likelihood. With small but essential adjustments, agile can be kept sustainable. With this insight, developer-architect differences and team psychology gaps can be bridged.
-
The Agile Manifesto: A Software Architect's Perspective
While the role and responsibilities of a software architect can be seen as contradictory to the values of the Manifesto for Agile Software Development, a good architect finds techniques that support an agile development team.
-
Towards an Agile Software Architecture
Boyan Mihaylov covers his experience when working with both traditional waterfall software architectures and agile ones. He depicts the similarities and differences between these with a focus on three areas: the specifics of the software architect role, the timespan of the software architecture, and the output of the software architecture.
-
Kevlin Henney on Worse is Better and Programming with GUTS
At the recent Agile Singapore conference Kevlin Henney gave two talks focusing on the importance of simplicity in architecture and implementation and on programming with Good Unit Tests (GUTS). He spoke to InfoQ about the thinking behind his talks and how they can be implemented.
-
HaMIS: One 24/7 Product and Four Scrum Teams, Four Years Later
This is a story about four cross-functional scrum/DevOps/feature teams delivering and managing a business-critical 24/7 system used by vessel-traffic services operators and many other users, a compendium of topics that derive from our more than four years of agile and scrum practices at the Port of Rotterdam, one of the world's busiest ports.
-
Agile Architecture Applied
Agile is adaptive. When and how to apply architecture depends on the context. This article first explains why this is the case and then how you can still give proper attention to architecture in an agile setting. Adaptability and conversation are the essentials.
-
Interview and Book Review of The Technical and Social History of Software Engineering
Capers Jones wrote the book The Technical and Social History of Software Engineering in which he provides an overview of the evolution of information technology and software development. InfoQ interviewed Capers about advancements and events in software engineering and the effects that they have had on our society.
-
Evaluating Agile and Scrum with Other Software Methodologies
Historical data is a key resource for judging the effectiveness of software process improvement methods and also for calibrating software estimation accuracy. In this article, Capers Jones compares Agile and Scrum with a sample of contemporary software development methods using several standard metrics.