InfoQ Homepage Design Content on InfoQ
-
How Agile and Architecture Parted and Finally Became Friends
People stopped seeing the need to define the architecture or do software design due to incorrect interpretation of the agile manifesto, argued Simon Brown. Many software developers don’t seem to have a sufficient toolbox of practices and the software industry lacks a common vocabulary for architecture. A good architecture enables agility with just enough up front design to create firm foundations.
-
Experiences with Behaviour-Driven Development
Behaviour-Driven Development (BDD) recognizes that software development is fundamental to businesses of today and helps to improve how business stakeholders and software developers communicate with each other, Kevin Smith claims in a recent blog post about his experiences working with BDD.
-
Design for Continuous Evolution: Immutable Model Is Key for Robustness
At QCon New York, Eric Brewer described how advancing from continuous delivery to fast and stable continuous evolution requires a discrete construction step to define an immutable model of the system. Brewer’s compute infrastructure design team uses Helm to construct and safely validate new deployment models, prior to attempting real deployment, although the concepts are technology agnostic.
-
How to Effectively Debug Software
InfoQ interviewed Diomidis Spinellis, author of the books Code Reading and Code Quality, about finding and fixing errors in software, principles for debugging software and how to improve the effectiveness of debugging, how to write code that requires less debugging, and what managers can do to support error prevention and handling.
-
Collision: Online Harassment and Machine Learning
Online harassment is a serious issue, one that the engineers and designers behind the keyboard don't always think about when building software. Machine learning is become more prevalent but as more technology companies take advantage of it, they risk alienating their users even more by presenting content that isn't actually relevant.
-
-
Redux: An Architectural Style Inspired by Flux
Redux uses a unidirectional data flow similar to Flux, but it has a single store which is changed by cloning the original store and applying some functions without side effects. There is no Dispatcher.
-
Atomic: A UI Designer for Android, iOS and the Web
Atomic is a user interface designer that runs in the browser. Without writing any code, application designers can use it to show how the interface of an application should look like and behave when certain commands are executed.
-
What is API Developer Experience and Why It Matters
API developer experience is a relatively novel focus aimed to improve API design so it provides a seamless experience to developers when writing software. It can help increase programmers’ efficience and make it easier for developers to achieve goals on behalf of end users.
-
Internet of Things Design Manifesto 1.0 Released
IOT Design Manifesto 1.0 has been recently released. This manifesto serves as a code of conduct for everyone involved in developing the Internet of Things, outlining 10 principles to help create balanced and honest products in a burgeoning field with many unknowns.
-
Software – Is it "Engineering" Yet?
At the GOTO Amsterdam 2015 conference Mary Shaw talked about progress towards an engineering discipline of software. She explored what it means to have an engineering discipline, how far we have progressed toward having one for software, and what can be the next steps.
-
Agile Architecture: Reversibility, Communication and Collaboration
At the inaugural O’Reilly Software Architecture conference, Molly Dishman and Martin Fowler discussed the role of architecture within agile software development. Key takeaways included; architects must remain ‘hands on’; architecture should focus on reducing irreversibility; adaptable documentation is essential; and architecture is a collaborative effort across the business and technical team.
-
Designing Systems for Testability
Testability must be explicitly designed in the system said Peter Zimmerer from Siemens AG. Test architects should drive testability and collaborate with architects, designers and testers in using good design and engineering practices. At the QA&Test 2014 conference Peter gave a tutorial about design for testability for embedded software systems.
-
Alan Cooper Talks About Face 4 and Issues in UX Design
Alan Cooper shares his views on the state of UX Design and how the fourth edition of his book, About Face, helps designers address challenges such as flat design, wearable devices, and implementing goal-directed design.
-
Heroku’s HTTP API Design Guide
Wesley Beary, a member of the API team at Heroku, has compiled a list of guidelines for creating HTTP+JSON APIs presented in a condensed form here.