Listly by Dow Liang
This is a list of articles on software architecture practices.
The following site provides good online resources on how to become an agile architect. http://www.agilearchitect.org/agile/principles.htm Based on this article, the key objectives for an Agile Architect are: Deliver working solutions Maximise stakeholder value Find solutions which meet the goals of all stakeholders Enable the next effort Manage change and complexity The Architect's primary objective is a working solution.
Software development progresses have been evolved from waterfall into agile practices. During this process, the role of architect has evolved as well. Understanding this change may allow us to better adapt to the new demand for this role.
In his blog, http://www.codingthearchitecture.com/2013/09/18/the_software_architecture_role_from_a_non_technical_point_of_view.html, Simon Brown mentioned a list of things that the business side would like from the role of a software architect. Here are some of them that I found to resonate with my own experiences: Aligned with business through collaboration to define business vision and requirements.
Most of us working in agile software development are interacting with the same development team. Therefore, we are very intimate with the twists and turns of the flow within this team. However, when you look at it from the enterprise level, you would notice a lot of questions that may not have answers from the traditional agile teachings.
Service-oriented architecture is a way of thinking when building a large software system. In such an architecture style, functionalities are captured as services that can be developed, tested, deployed, and maintained separately from the rest of the system. A client of a service can discover and invoke operations on the service dynamically at runtime.
In a traditional IT shop, OPs are responsible of setting up network and servers, installing and patching operating systems, and deploying software into the servers. By its nature, many of these steps are manual with the support of ad hoc automation scripts.
Software architecture design is a critical activity in the construction of large and complex systems. In his article, Scott Ambler provided a tutorial on how the architecture fits into agile development practices.
Software architecture and design generate a lot of conversational heat but not much light. To start a new conversation about alternative ways to think about them, this article launches theEvolutionary architecture and emergent design series. Evolutionary architecture and emergent design are agile techniques for deferring important decisions until the last responsible moment.