Having worked for two startups I was not surprised to see glass enclosed server room positioned prominently to the side of the main work area. After all this a customer centric facility where select Microsoft customers are invited to spend time with the best and the brightest Microsoft hands-on technologists.
But it was not the stacks of the latest hardware with its neatly tucked cables in dust free racks that impressed me. Not even the myriad gizmos such as a touch screen HP's desktop and a Microsoft Surface. What impressed me are the people who worked at the Microsoft Technology Center in Silicon Valley on my recent trip in July 2009.
For the duration of the weeklong stay the hosts ensured that all our activities stayed within the scope of the business problem we defined on day one. And that's the key. The hosts took time to understand the business and concrete problems in the context of an end-to-end scenario. They adapted quickly to our team's terminology and collectively the whole team defined the agenda and measureable goals for the week.
When iteratively defining architecture for a solution it's imperative to define a core scenario that represents the essence of the solution. Structure your scenario in such way that you can bolt-on complexity as discussion progresses. For a proof of concept solution that we built at Microsoft Labs we were able to see how various degrees of complexity could be addressed as solution concept evolved. These "complexities" can be classified as either constraints, functional requirements, or quality attributes.
In our case the goal was to capture the overall wholeness of the solution at the expense of not implementing all organization's constraints and all desired quality attributes. However seeing all segments of a solution in action as part of an end-to-end scenario is a huge achievement itself. And that's worth the trip to a Microsoft Technology Center (in Silicon Valley).
I wrote this post to document my learning path of blockchain concepts and Ethereum technologies while keeping my “new to blockchain” collea...
Great blog post by Agile Journeyman about Martin Fowler's Design Stamina Hypothesis & the Technical Debt Quadrant. Constantin K...
Agile processes give you an ability to do something faster. Often agile approaches give you an ability to deliver smaller chunks of software...
From the SEI podcast series: "We know from existing SEI work on attribute-driven design, Quality Attribute Workshops, and the Ar...