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.
After working with many different teams, Greg Young has found that they often are drastically over-engineeringing in their projects. Teams start to work on 9 month projects, but by thinking on the problem from another perspective they may be able to deliver 95% of the value in just a few weeks, Young claimed in his keynote at the recent DDD eXchange conference in London.
The first principle of Evolutionary architecture is support for incremental non-breaking changes. Microservices architecture is one great example of such an architecture, Rebecca Parsons and Neal Ford from Thoughtworks claims when describing characteristics and principles of Evolutionary architectures.
Kevin Goldsmith talked about how Spotify uses microservices to break down architectures and be innovative at the GOTO Berlin 2015 conference. He argues that Microservices are easier to test, deploy and monitor than monolithic applications. Spotify also aims to have as few as possible dependencies in their product, and microservices are very helpful for that.
Where many organizations use agile to develop IT products, agile principles and practices can also be applied for maintaining landscapes of commercial products. Gert Florijn and Eelco Rommes will talk about directing complex IT-landscapes in public sectors such as healthcare and local and national government organizations at the Agile and Software Architecture Symposium 2015.
At the Agile Singapore conference last year Steve Freeman spoke about the way TDD has been misinterpreted and frequently misapplied in many adoptions and how the SOLID architectural principles are still important, perhaps more important now than in the past.
This post describes the minimum viable architecture for developing minimum viable product. It includes the architecture specification in different phases of startup.
Management can get the feeling of losing control when their enterprise adopts agile and starts deploying self-organizing teams. Procedures, review boards and consultation bodies can become superfluous when switching to an agile approach, but they may not realize that, says Marcel Heijmans. Trying to regain control with additional planning can make things worse, causing "death by planning".
To incrementally develop and deliver products using agile software development, requirements are gathered and organized into a product backlog. A requirement technique that is used in agile software development is use cases. Some techniques to apply use cases for managing product requirements in agile are use case 2.0, slicing and laminating.
Russ Miles recently shared some thoughts and ideas about the needs for adaptability in a system and how his implementation of the Hexagonal Architecture can help in achieving this. He used a Java and Spring based application to exemplify how such a system can be implemented.
In his recent blog post “Build one to throw away” Udi Dahan is addressing the chicken-and-egg problem software developers often face. On one hand, customers don’t exactly like what they want so that they need to closely interact with software engineers. On the other hand, building product-ready solutions for this interaction might lead to high costs.
The British Computing Society has awarded its Lovelace Medal 2012 to Grady Booch for his “innovative work in software architecture, software engineering and collaborative environments.”
ThoughtWorks recently published the latest update to its Technology Radar; a report produced to help technology decision makers understand emerging trends in software development techniques, tools, languages and platforms. There are some interesting observations of interest to Agile software development teams.
On January 4th, IBM announced it is going to acquire the cloud and SOA integration service company Green Hat. Testing is one of the main challenges when developing cloud or SOA based applications. Buying Green Hat IBM hopes to offer more productive testing approaches and other benefits for such types of large scale software systems. Green Hat will be integrated into IBM Rational Solution.
Keeping up-to-date with software architecture can be a tough endeavor. Information is normally available within thick books or somewhere hidden in the Web. Another more entertaining way can be to watch clips available at video sites such as YouTube and Vimeo.