Software architecture is a process; a sequence of strategic design decisions mapping specification and business goals to architecture design, and a thing; a set of views produced by the process that address different stakeholders, Michael Stal states describing how to define a software architecture.
This article contains advice written for web developers by two engineers, one recommending useful tools and techniques while the other providing suggestions on addressing some of the challenges faced writing for the browser.
Olaf Lewitz gave a keynote about Integral Quality at the Agile Testing Day Netherlands 2015. InfoQ asked Lewitz about quality attributes, what causes poor quality software, the relationship between the structure and culture of the organization and software quality and about clarifying intent and increasing trust.
For an organization to be data-driven, it's not enough to just dump mountains of data. That data needs to be accurate and meaningful. Julianna Göbölös-Szabó, data engineer at Prezi shared how they improved the quality of its log data. Their solution involved moving from unstructured to structured data with a lightweight, contract-based approach to nudge all teams in the right direction.
Hans van Wezep, software architect at Philips Healthcare, talked about model-based migration at the Bits&Chips Software Engineering conference. InfoQ did an interview with van Wezep about the challenges in maintaining legacy software, why manual refactoring is error prone, using models to refactor and migrate a codebase, and the benefits of using models when maintaining legacy software.
Total Cost of Ownership (TCO) can be used for investment decisions and financial benefit analysis. When applied to software it covers the initial development costs and subsequent maintenance costs until phase out of a product. TCO can support architectural decisions and management of technical debt.
Steve Blank,talks about the organizational debt which is similar to technical debt. He says that growing companies need to understand how to recognize and refactor the organizational debt.
Computer-checked models can be used to prove that core communications and state management in a software program are 100% logically correct. Such models can also be used to generate 100% correct source code. The usage of formal methods can reduce costs and time to market and help to deliver highly reliable software products.
InfoQ interviewed Hans Aerts, vice president software development and agile coach at TomTom, about why they decided to adopt SAFe and how it was introduced and used to simplify the organizational structure and stop doing projects, why they focus on throughput rather than output, how they modified SAFe for Custom Systems, and what using SAFe has brought TomTom.
At Unruly teams have been applying eXtreme Programming (XP) since being founded in 2006. Teams take a test-first approach to developing code and invest in automated checks that can be run in live environments. InfoQ interviewed Rachel Davies about the importance of a continuous approach to testing, how this has evolved over the years and the business advantage that it delivers to Unruly.
The OnAgile virtual conference is running on May 14, 2015. It will examine the impact and value of technical practices in agile transformations. A wide range of speakers will explore aspects covering microservices, continuous delivery, functional programming, exploratory testing and software craftsmanship. InfoQ spoke to conference chair Declan Whelan about the event.
Doing pair programming when working remote helps to increase interaction between developers and build relationships in teams, it makes knowledge flow and can prevent developers from drifting away. You can experiment with tooling to find a setup that works for you. Empathy and egolessness can emerge organically when doing pairing in a distributed team. Read about experiences with remote pairing.
You can increase the quality of products by constantly increasing the level of automation of the delivery process and working with DevOps teams who constantly deliver small features to get quick customer feedback. A case story from ING Lease explaining the problems they had, experiences from the first steps of their agile and DevOps journey and exploring what they want to achieve in the future.
Technique of "value points" to determine the value delivered by any software project.
Tester should go beyond their testing discipline and go into the organization. By asking questions they can start a movement that increases product quality and helps organizations to become more successful as Mike Sutton explained in his closing keynote at the Agile Testing Day Netherlands 2015 about test beyond quality – beyond software.