/
Ian  Barnett Collaborating to Obtain Architectural Vision Ian  Barnett Collaborating to Obtain Architectural Vision

Ian Barnett Collaborating to Obtain Architectural Vision - PowerPoint Presentation

cheryl-pisano
cheryl-pisano . @cheryl-pisano
Follow
342 views
Uploaded On 2019-11-20

Ian Barnett Collaborating to Obtain Architectural Vision - PPT Presentation

Ian Barnett Collaborating to Obtain Architectural Vision A software architect and thus the architecture creates the overall vision and design for the software Dr Richard N Taylor Professor of Information and Computer Sciences ID: 765831

software architecture design system architecture software system design architectural success complexity vision team understanding collaborative mookerjee chiang helps dashofy

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Ian Barnett Collaborating to Obtain Arc..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Ian Barnett Collaborating to Obtain Architectural Vision

A software architect [and thus the architecture] creates the overall vision and design for the software Dr. Richard N. Taylor, Professor of Information and Computer Sciences at the University of California, Irvine Dr. Nenad Medvidovic , Director of the USC CSSE Dr. Eric M. Dashofy , Senior member of Computer Systems Research, The Aerospace Corporation

Importance of Architecture S oftware architecture can be thought of as: a map through the jungle blueprints for a building Essential to establish the vision, and how to accomplish it Provides greater understanding of the software system to be designed Helps overcome complexity “Good architecture makes construction easy, ” (McConnell 44) Coordinates work of developers Ensures software vision from top to bottom Provides evidence to all stakeholders that the software system is feasible.

Architectural Success is essential for project success

What does a software architect do? How should he or she do this?

Architectural Collaboration To achieve this overall understanding of the system as a whole and to obtain this shared vision , all stakeholders need to own the architecture . “ Quality of architecture determines conceptual integrity of the system. A well thought-out architecture provides the structure needed to maintain a system’s conceptual integrity from the top levels down to the bottom,” (Code Complete, 44). Collaboration with all the stakeholders is essential for architectural success

Architectural Complexity “. . . the principle of deciding the form of the whole before the details have been explored outside the mind of the chief designer does not work in novel situations for which the necessary experience cannot be contained within the mind of one person,” ( Taylor, Medvidović , and Dashofy 86 ). Too much complexity for one individual. This leads to lack of sufficient understanding of the problem and solution.“The designer of today’s state-of-the-art artifact needs help from masters of various crafts,” (Brooks).Complexity leads to probable misinterpretation, but which can be circumvented by collaborative design (Blair, Watt, and Cull 28).

Explore the Trade-Space More cases explored can lead to greater understanding of the problem and greater evidence that the best solution was chosen “ By describing the … alternatives, the architecture provides the rationale for system organization and shows that each class has been carefully considered,” (McConnell 45) “Don’t close the trade-space too fast,” Neil Siegel This allows for more fact-based decisions A team working toward creating the architecture will be able to explore a larger trade-space

Promote Stakeholder Commitment Architecture itself contributes to feasibility evidence that the system can be built which can increase stakeholder commitment If the system is built according to the architecture, it will meet all requirements and operational concepts. Architecture, if understood by customers, convinces them that their requested system has a way forward Collaborative design helps all to feel like winners, so they will fight to make it a success All understand the software solution better Tangible

Effective Collaboration Neil Siegel , Effective teams come from: E xploring the trade-space Listening M aking the success of the project ‘ our’ success Collaborate early and often, (Chiang and Mookerjee 91).“Exactly one person per area of architectural concern (that is, availability, deployability, auditability, and so on)”Make each contributor to the architecture accountableArchitect works as a facilitator instead of façade (i.e. helps customers communicate to developers, encouraging direct interaction) (Blair, Watt, and Cull 29).Team communication integrated into process, every phase Scheduled walkthroughs, peer reviews, of code and architecture, project meetings, win-win sessions (Chiang and Mookerjee 90)

Interactions in Collaborative Design “Programmers realize and refine the architects vision… If an architectural design decision has unforeseen consequences, a programmer likely will be the first to notice,” (Taylor, Medvidović , and Dashofy 670). System engineers need to understand how the software will fit with the rest of the system. Management needs to support and drive the team toward that architectural goal. Architects help them think of the consequences of their decisions. Customers present vision. Architecture convinces them that their requirements are being met. “The higher the system complexity, the more intense coordination should be,” (Chiang and Mookerjee 92).

CS577 Frederick Brooks suggested two main reasons to use collaborative design in software Complexity of system/unfamiliarity with software technologies S hort development time Collaborative design and architecture promotes learning Helps bring a team unfamiliar with the technologies up to speed more quicklyMore considerations can be addressedBecause of the improved understanding by all, the construction of the software can be expedited and improved.Improve success of CS577 projects

References Blair, Stuart, Richard Watt, and Tim Cull. “Responsibility Driven Architecture.” IEEE Software March/April (2010): 26-32 . Brooks, Frederick P. The Design of Design . Boston: Addison-Wesley, 2010 . Chiang, I. Robert, and Vijay S. Mookerjee. “Improving Software Team Productivity.” Communications of the ACM 47 (2004): 89-93.Covey, Stephen R. The 7 Habits of Highly Effective People. New York: Fireside, 1990.McConnell, Steve Code Complete. 2nd ed. Redmond: Microsoft Press, 2004 .Smolander, Kari, Matti Rossi, and Sandeep Purao “Software Architectures: Blueprint, Literature, Language or Decision?” European Journal of Information Systems 17 (2008): 575-589 Taylor, Richard N., Nenad Medvidović , and Eric M. Dashofy . Software Architecture: Foundations, Theory, and Practice . Hoboken: John Wiley and Sons, 2010. Jungle images obtained from http:// writingday.wikispaces.com/group13 and http://www.costaricafuntravel.com/Tours-Caribbean-Costa-Rica.html