One of the main challenges when designing software architecture is the consideration of quality attributes. Not only their design turns out to be difficult, but also the specification of these attributes. Consequently, many problems in software systems are directly related to the specification and design of quality attributes such as modifiability or performance, to name just a few.
Gojko Adzic has written the book Specification by Example, explaining the set of techniques for describing the functional and behavioural aspects of a computer system in a way that they are useful to the development team (expressed ideally as executable tests), understandable by non-technical stakeholders and maintainable to remain relevant despite changing customer demands.
Unprecedented levels of change caused by the pace of innovation are stretching traditional contract models to the breaking point. As more organizations adopt Agile and Lean for the development of innovative/complex products and services, new contract models are needed that accommodate change. The Evolutionary Contract Model, based on Agile / Lean principles, offers promise as a possible solution.
Most software contracts are written with a waterfall approach in mind - fixing the scope, cost, and schedule. This article offers advice on how to write a contract for an Agile software project. 27
Roman Pichler discusses the product backlog along with techniques for grooming, applying, and scaling it on large projects. Chapter excerpt from Roman's book: Agile Product Management with Scrum. 6
The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect? 39
Simon Guest of Microsoft introduces SketchFlow as a tool for developers to create high-fidelity prototypes for their WPF or Silverlight applications. 10
Shane Hastie, Chief Knowledge Engineer at Software Education, outlines how the Business Analyst can help Agile teamwork - when properly aligned with the business, rather than the development team. 14
Developer Jay Fields draws on his experiences as a ThoughtWorks consultant to describe effective user story estimation techniques. 17
The Scrum Product Owner role is powerful, valuable and challenging to implement. It brings healthier relationships between customers and developers, and competitive advantage - if you do it right. 12
Michael Spayd tells us that both contractors & permanent employees can play a "consultant" role, and can use contracts to help create stellar results for clients while respecting their own values. 2
Agile software development, shunning up-front design, has grown up in parallel to the emergence of "user-centered design," with its detailed user research and modeling. Can these be used together? 7