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.
The Axon framework from JTeam - an implementation of the CQRS and EDA patterns - has been released.
There is a lot of discussion about the role of enterprise architecture, and they way it should operate in the enterprise. New posts by Jason Bloomberg and JP Morgenthal are suggesting a new form of enterprise architecture.
The Rational Unified Process(RUP) was developed through the 1990's as a framework for software engineering best practices. Features such as iterations, simplicity, focus on value and regular feedback were identified as being important for Asuccessful software engineering. A number of authors have built methodologies that adapt UP to different project domains. This article examines some of them.
Gartner proposed a new approach to Enterprise Architecture (EA) during Gartner EA Summit that took place in London this month: Emergent Architecture. Mike Rollings, Burton Group, remarks that this approach is not new at all and Gartner is just waking up to see it. Dion Hinchcliffe considers the Emerging Architecture approach is about bridging the gap between the IT and business.
IBM Rational and InfoQ preent an eBook, Scaling Agile with C/ALM, "dedicated to all of the functional and dysfunctional organizations that are eager to break down the organizational and cultural silos, and become a finely tuned software delivery machine." The eBook explores the barriers to team integration and scaling and then shows, in detail, how to overcome these obstacles.
IBM announces three new ways for businesses to utilize cloud computing: standardized services on the IBM cloud, private cloud services behind the firewall (managed by the business or IBM) and Cloud burst a way to seamless incorporate secure public clouds to accommodate "overflow" demand for services.
A recent discussion on the Extreme Programming Yahoo Group explored the apparent conflict between making software reusable and the XP practice of not writing code until it is needed. Ron Jeffries and others shared insights about the costs and benefits of code reuse, as well as how and when to do it in an agile environment.
Kent Beck wrote 'First One, Then Many' to explain the application of Succession to software design. Succession is a technique for evolving the architecture of a system from 'just enough for now' to what will eventually be needed. The example given is for a system that only needs to process one transaction today, but will eventually need to process many.