Download - Oop 2014 sw architekt v3
![Page 1: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/1.jpg)
Everything You Always Wanted to Know Everything You Always Wanted to Know About About Software Architects* but Software Architects* but Were Were Afraid to Ask Afraid to Ask
© 2014, Prof. Dr. Michael Stal
![Page 2: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/2.jpg)
Why do we need Architects?Why do we need Architects?„We use an agile process where architecture is built by community“„Architecture is being created in one small design step“„Our application is so small; architecture design is a waste of resources“„We always use the same reference architecture“
Houdini
Get rid of the architectural chains and
get rid of architects
![Page 3: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/3.jpg)
Because Architecture is the Because Architecture is the Backbone of any SystemBackbone of any System
Architecture design comprises the whole lifecycleArchitects have many responsibilities that are not related to design Almost all design-by-community efforts result in bad products (see Frederick P. Brooks‘ The Design of Design)Architecting and implementation need different sets of skillsArchitectural flaws cause substantial costs and risks (i.e., accidental complexity as opposed to inherent complexity)
![Page 4: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/4.jpg)
Becoming an Architect seems to be Becoming an Architect seems to be incredibly easyincredibly easy
Just read the right books ...and obtain some mathematical skills
![Page 5: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/5.jpg)
Just shift your ShapeJust shift your Shape
Developer Architect
Some Miracle
![Page 6: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/6.jpg)
BirthBirth ofof ArchitectsArchitects
In some organizations architects are those who have the label „Architect“ (on their business card)
![Page 7: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/7.jpg)
BirthBirth ofof ArchitectsArchitects ((cont‘dcont‘d))
Some other organizations may use sophisticated questionaires
![Page 8: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/8.jpg)
BirthBirth ofof ArchitectsArchitects ((cont‘dcont‘d))
Advanced organizations may even have a job profile ...
... that is insufficient (e.g. RUP)
![Page 9: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/9.jpg)
Design Design errorserrors maymay causecause expensive expensive andand lethallethal failuresfailures
Architecture as the backbone of allsystems:
Architectures with lack of quality are doomed to fail
Architecture design should happen in a planned and systematic way, not ad-hoc
Skilled & experienced architects needed across the whole product lifecycle, not just in one short project phase
Tacoma Narrows Bridge (1940) collapsed due to neglectingresonance forces
Radiation Therapy System Therac-25: lack of quality andsoftware failure caused 3 deaths
![Page 10: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/10.jpg)
Lousy Architects create lousy Lousy Architects create lousy Architectures ...Architectures ...
Intempo Skyscaper, Spain:Architects forgot elevators between 21st and 47th level – Maybe for health reasons
Tower of Pisa: structural engineering did not work very well
Airport BER: No compliance with safety regulations led to a
very large delay
![Page 11: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/11.jpg)
... ... aand Lousy Architectures cause nd Lousy Architectures cause DisastersDisasters
„Even God himself could not sink this ship“
Challenger Disaster caused by bad rocket booster design
Ariane 5 explosion due to overflow exception
![Page 12: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/12.jpg)
And all of this reduces Customer And all of this reduces Customer HappinessHappiness
![Page 13: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/13.jpg)
HHow can we find good Architects?ow can we find good Architects?
Only with the help of wizards?
Or by chasing this rare species in its habitats?
Or by assigning the role to some unfortunate developers?
Architects in quest for good design
Architecture as the Holy Grail
![Page 14: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/14.jpg)
Architects Habitat Architects Habitat -- TheoryTheory
What we want:
![Page 15: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/15.jpg)
Architects Habitat Architects Habitat -- PracticePractice
What we often get:
![Page 16: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/16.jpg)
Failure has many RootsFailure has many RootsWe can‘t forbid failure, but we can enforce learning from failure!
Cemetery for past/passed projects
![Page 17: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/17.jpg)
Real Architects need Skills, Real Architects need Skills, Knowledge & ExperienceKnowledge & Experience
RequirementsEngineering
Software Architect
![Page 18: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/18.jpg)
Responsibilities and Involvements of Responsibilities and Involvements of ArchitectsArchitects
(c) Siemens AG
![Page 19: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/19.jpg)
ArchitectureArchitecture & Design Skills& Design SkillsArchitects need deep knowledge and skills such as:
Development Processes
Architecture Design and Implementation incl. Scoping, Modelling, Prototyping
Architecture Evolution & Improvement
Product Line & Platform Engineering
Architecture Assessment + CQM
Assessment of Internal Architecture Quality
System and Application Integration
Relevant Technologies, Methods and Tools
Relevant Best Practices (e.g., Design Tactics, Patterns & Architecture Styles)
Usability & Habitability
Project management skills are optional but very useful (e.g. for effort planning)
![Page 20: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/20.jpg)
Knowledge of Business and StrategyKnowledge of Business and StrategyTo help achieve business goals andmake projects succeed it isnecessary for architects to know:
Business Strategy of own organizationProduct RoadmapTechnology RoadmapsVendor ManagementTarget Markets & CustomersLegal Issues, Patents, Licensing Standards and Regulations (i.e., TÜV, DIN, FDA, …)Product Line & Platform Engineering
Otherwise, they cannot makeappropriate design decisions
![Page 21: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/21.jpg)
RequirementsRequirements Engineering SkillsEngineering SkillsArchitects must know thedomain(s) (i.e. problemdomain and solutiondomain)They need to understand requirements, assess their quality, feasibility & sufficiency, and give feedbackPrioritization is typically conducted by business AND architects
![Page 22: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/22.jpg)
Testing & Quality SkillsTesting & Quality SkillsArchitects need in-breadthknowledge about
Test PlansTest MethodsFlavors of testing (integrationtests, system tests, componenttests, acceptance tests, loadtests, …)
… and in-depth knowledgeabout
Design for TestabilityTDDTest Strategies
![Page 23: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/23.jpg)
Soft SkillsSoft Skills
… are essential for architects, e.g.:Stakeholder-specific communication
(Giving and receiving) feedback, Mentoring
Listening
Conflict resolution
Understanding different personalities
Leading and convincing others without line function
Typically, Architects are leaders without power. Their only means is to convince with arguments
![Page 24: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/24.jpg)
Cooperation, not ConfrontationCooperation, not ConfrontationArchitecture design requires many contributors: testers, customers, developers, product managers, ...Architecture is the result of joint workJoint work requires close and effective cooperation
The day, when the architect died
![Page 25: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/25.jpg)
Domain KnowledgeDomain KnowledgeIt is important for architects to understand the relevant domains:
Solution Domain: important concepts, technologies, methods, tools, trends, ...Problem Domain: Domain-specific concepts, standards, regulations, markets, products, competitors, trends, ...
They should know essential aspects in-depth, other aspects in-breadth
![Page 26: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/26.jpg)
Experiences in Software EngineeringExperiences in Software EngineeringArchitects of small systems should have
at least 3 years experience as software engineer
experience as a key developer or subsystem architect
For mission-critical Systemsat least 6 years experience as software/systems engineer
3 years experience as architect in small to medium projects
![Page 27: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/27.jpg)
Uncertainty PrincipleUncertainty PrincipleArchitects are facing the Uncertainty Principle in their daily work. They must be able to deal with uncertainty.
![Page 28: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/28.jpg)
Architecture ProcessArchitecture ProcessNot-iterative, non-incremental development process models don‘t work for strategic and tactical designWe require a risk-driven and test-driven feedback loop to address uncertaintyArchitecture must be built using piecemeal growth -even within more „traditional“ processes
![Page 29: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/29.jpg)
Activities of an ArchitectActivities of an ArchitectArchitecting does not only involve creation of architectures but also:
Monitoring the development process by CQM (Code quality Management) toolsReviewing architecturesImproving and extending architecturesConducting Architecture Archeology
You need to foster architectures as if they were your children
![Page 30: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/30.jpg)
Unchartered TerritoriesUnchartered TerritoriesNo technology is a panacea – you can even loose all of the benefits by bad designWe cannot predict how new and innovative, sometimes disruptive technologies will influence the architecture (e.g. quality attributes)This is even worse for the combination of technologies, and is usually not addressed very wellArchitects should leverage feasibility prototypes, at least for the most crucial qualitiesMethods for Architecture Assessment are applicable as well Some Prototypes
![Page 31: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/31.jpg)
TipTip ofof thethe IcebergIcebergThere are many forces architects have to balanceE.g., architects are actually facing additional non-technical and non-architectural responsibilities and involvements
Design
All the rest
![Page 32: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/32.jpg)
Decision MakingDecision MakingArchitecting is about decision making and risk mitigationSometimes, architects are anxious to make a wrong decision or don‘t have the courage to enforce a decisionExperience tells us to be courageous. In most cases is almost always better to go the wrong way than being stuck Power stealing in India
![Page 33: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/33.jpg)
Essence of Good CollaborationEssence of Good Collaboration
Software Development is a collaborative game [Alistair Cockburn]
Thus, communication skills are probably the most important skills in software/system engineering
Hence:
NO! YES!
![Page 34: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/34.jpg)
Network of CommunicationNetwork of CommunicationLeadership, Communication and Interaction with other roles in software development, are probably the most time-intensive and most important responsibilities
Software Project Manager –in a meeting with the CEO
SoftwareArchitect
Requirements Engineer
Test Manager
Software Developer
Other Roles ?
Product line Manager
Head of R&D
![Page 35: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/35.jpg)
Be aware Be aware ofof Conway‘sConway‘s LawLawOne important consideration isConway‘s law:
“organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations”
Complex decision processes
Corperate Spam
Meeting Overkill
Unclear or overlapping Responsibilities
![Page 36: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/36.jpg)
Systems EngineeringSystems EngineeringIn systems engineering the architect needs to closely cooperate with the systems architect
Software Architects must understand
the contribution of different disciplines (Electronics, Mechatronics, Software, ...) and their „orchestration“,
the additional development phases such as commissioning,
the pitfalls and traps (developing software when the rest is only partially available, relation of unit costs and software architecture, ...).
Systems engineer
Software Architect
Electrial Engineering
Project Manager
![Page 37: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/37.jpg)
Stay UpStay Up--ToTo--DateDateTechnologies & methods appear and evolve veryfrequentlyConsequently, architects need to stay in sync withrelevant technologies and methods
„Architect always implements“
Active Networking
Mutual Architecture Assessments
Attending events such as Conferences
Collecting & digesting news in (practioner) magazines, web sites
CloudsSustainabilityMobile Devices, ...
![Page 38: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/38.jpg)
The The otherother Side Side ofof thethe CoinCoin --Working as an Working as an ArchitectArchitect
... can be extremely exhausting,even dangerous.
![Page 39: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/39.jpg)
TenTen ReasonsReasons notnot to be an Architect*to be an Architect*1. The gene pool that is your social life will not have a lot of diversity
2. The pay and benefits are not as good as they could be
3. The hours you work are long and under-valued
4. Your ideals don’t really matter
5. If your ideals are important to you, you will lose work
6. Not all architects have fun jobs
7. The systems you use will depress you
8. You will live with terrible decisions
9. Architecture requires a lot of work and dedication
10. You probably won’t be a designer
* source: http://www.lifeofanarchitect.com/top-ten-reasons-not-to-be-an-architect/
Interestingly this is what building architects think
![Page 40: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/40.jpg)
Avoid Design HellAvoid Design Hell
How to create a bad architect
Ingredients:Spaghetti DesignDesign Erosion
Architecture DriftDesign Flaw
UMLFailure,
New Requirements....
![Page 41: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/41.jpg)
If you are still not terrified ...If you are still not terrified ...
How can you systematically achieve or increase architecture skills?
![Page 42: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/42.jpg)
Let us take the long & dangerous Let us take the long & dangerous Route to Architect‘s ParadiseRoute to Architect‘s Paradise
![Page 43: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/43.jpg)
Step 1: ProfilingStep 1: ProfilingDevelop a set of skills, knowledge and experience you need as an architect (in your organization)
Compare your current profile with this target profile
Don‘t do this alone but ask other colleagues and roles to give you feedback about your current profile and their expectations
![Page 44: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/44.jpg)
Step 2: ReflectionStep 2: ReflectionElaborate and prioritize your gaps
Or as they say in the London Underground: Mind the gap!
Make a detailed and prioritized plan how to systematically fill these gaps, e.g. by
certifications
seminars
books, web casts
coaches, mentors
opportunities to practice
...
![Page 45: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/45.jpg)
Step 3: DoingStep 3: DoingPerform the aforementioned stepsIn our fast moving industry this process should be repeated regularlyIn addition, active networking with other architects is highly recommended
![Page 46: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/46.jpg)
Piecemeal GrowthPiecemeal GrowthThe gaps might be terrifying, but don‘tpanic!Be patient and improve step by step, the same way your architectures should be createdYour education as an architect will never end, since methods andtechnologies evolvequickly
![Page 47: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/47.jpg)
Mission Accomplished Mission Accomplished
Be relaxed: You‘ll eventually become a cool architect, ... if you start early enough
![Page 48: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/48.jpg)
ArchitectsArchitects CertificationCertificationDevelopment of company-internal education programBenefits:
customized for specific needscontinuous improvementnot limited to architecture (may also teach in testing, business, …)
Liabilities:requires large cost
Certification by 3rd party organisationssuch as iSAQB, IASA, CMU Software Engineering InstituteBenefits:
usually less expensiveLiabilities:
more „generic“ to suit all kinds of participantsArchitecture & Design onlydifferent trainings lead to education patchwork
Hybrid approach (Best-of-Breed)use option 1, but fill gaps with option 2 (Best-of-Breed)
![Page 49: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/49.jpg)
ExampleExample: Siemens Education : Siemens Education Programs Programs forfor (Senior) (Senior) ArchitectsArchitects
Introduced in 2007Main Constituents of Senior ArchitectsProgram
Proposal of Candidates by Sector CEOs Interviews with each Candidate => Acceptance4 Workshops with 2-3 month breaksCertification Gates after each workshopCandidates work on topics (optional) andhomework (mandatory) within their actualproject (no toy projects!)Education areas: Architecture, Business & Strategy, Requirements/Product Line Engineering, Testing & Quality, Soft Skills
Network of Siemens Architects whomeet regularly and work jointly on important topicsSo far, excellent feedback and highacceptance in Top Management
Content not carved in stone. Feedback ofparticipants helps improveand evolve the material continuously
![Page 50: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/50.jpg)
Learning Learning fromfrom FailureFailure
![Page 51: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/51.jpg)
Senior Senior ArchitectArchitect CertificationCertification @ @ SiemensSiemens
Goal: share good practices, be aware of pitfalls and eliminate the potential for failure in software development at Siemens!
© SIEMENS AG
![Page 52: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/52.jpg)
Workshop 1: Workshop 1: EstablishEstablish ArchitectureArchitectureVisionVision
© SIEMENS AG
![Page 53: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/53.jpg)
Workshop 2: Workshop 2: RealizeRealize ArchitectureArchitecture
© SIEMENS AG
![Page 54: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/54.jpg)
Workshop 3: Workshop 3: SustainSustain ArchitectureArchitecture
© SIEMENS AG
![Page 55: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/55.jpg)
Don‘tDon‘t ignoreignore Work Life BalanceWork Life BalanceIf you want to be successful, balance work & lifeThis aspect is commonly underestimatedIn my experience architects with work overload cause more harm than good. Exhausted, unfocused architects are a common root of design flaws
![Page 56: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/56.jpg)
SummarySummaryBecoming and being a good architect is a continuous and sometimes hard process, not a one-way street Architects need expertise, skills and knowledge - not only in Engineering but also in Communication, Testing, Requirements Engineering, Business & Strategy, ...Architecting is also about decision making and learning from failureIf not reviewed regularly, design flaws will erode the architecture. Thus, Test/Risk-Driven-Design, Architecture Assessments, Refactoring should considered mandatoryReflect continuously about the capabilities you need and where you should increase or improve your knowledge
Stairway to Heaven (for Software Architects)
![Page 57: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/57.jpg)
The EndThe End
Source: starush, flickr.com
![Page 58: Oop 2014 sw architekt v3](https://reader034.vdocument.in/reader034/viewer/2022052315/554f4327b4c90572088b5448/html5/thumbnails/58.jpg)
Just kiddingJust kidding
This is the real Happy End