The Architect Juval Lowy IDesign www idesign net

  • Slides: 33
Download presentation
The Architect Juval Lowy IDesign www. idesign. net © 2011 IDesign Inc. All rights

The Architect Juval Lowy IDesign www. idesign. net © 2011 IDesign Inc. All rights reserved

About Juval Löwy Software architect Consults and trains on. NET architecture and technology Microsoft's

About Juval Löwy Software architect Consults and trains on. NET architecture and technology Microsoft's Regional Director for the Silicon Valley Recent book Programming WCF Services 3 rd Edition (2010 O’Reilly) Participates in the. NET/WCF design reviews Publishes at MSDN and other magazines Recognized Software Legend by Microsoft Contact at www. idesign. net

No Design No Technology { ; }

No Design No Technology { ; }

Software Development Crisis The software industry is in a deep crisis Multi-dimensional crisis Cost

Software Development Crisis The software industry is in a deep crisis Multi-dimensional crisis Cost Initial development Overall ownership Unacceptable cost of changes leads to "clean slate" syndrome Schedule Time to market Time to feature Slips hidden from management and customers

Software Development Crisis Requirements Solving the wrong problems Unmet requirements System obsolete by release

Software Development Crisis Requirements Solving the wrong problems Unmet requirements System obsolete by release time due to requirements change Too much gold plating Not enough core functionality Staffing Un-maintainable by new staff Burnout

Software Development Crisis Quality Up to unusable systems Customer satisfaction Long-term problem Been around

Software Development Crisis Quality Up to unusable systems Customer satisfaction Long-term problem Been around for long time Will take time to resolve

Software Development Crisis Most organization are utterly chaotic Mob-rule-like methodologies No repeatability No productive

Software Development Crisis Most organization are utterly chaotic Mob-rule-like methodologies No repeatability No productive process No structured knowledge retention No development standard Threatening our industry longevity and viability Or at least our livelihood

Software Development Crisis It is possible to develop good software Plenty of examples of

Software Development Crisis It is possible to develop good software Plenty of examples of both high quality products and well-managed companies Within adequate limits of budget and time-to-market Unlike almost any other engineering discipline No regulated licensing process or industry standards No requirement for studying software engineering/CS in order to practice

Software Development Crisis Today software development is not practiced as engineering discipline Dark ages

Software Development Crisis Today software development is not practiced as engineering discipline Dark ages or pre-industrialized Software is not perceived as a profession 'geeks' 'hackers' Akin to low-level manufacturing that should be off shored Lacks high added-value Can be commoditized

Software Development Crisis Huge skill gap What many developers should know and what actually

Software Development Crisis Huge skill gap What many developers should know and what actually know What most managers should practice and what is practiced Death marches and lucky strikes

Software Development Crisis Hardly any university teaches software engineering Not computer science Software engineering

Software Development Crisis Hardly any university teaches software engineering Not computer science Software engineering is distinct from computer science

Software Development Crisis Engineering The application of scientific principals towards practical ends Responsible for

Software Development Crisis Engineering The application of scientific principals towards practical ends Responsible for delivering something that meets given requirements Reports to the general public of customers Science Systematic knowledge of the physical or abstract world gained through observation and experimentation Responsible to add to the body of knowledge Reposts to other scientists

Software Development Crisis Despite massive and sufficient core body of knowledge Architecture Process Technology

Software Development Crisis Despite massive and sufficient core body of knowledge Architecture Process Technology Tools Methodologies

Software Development Crisis Inflation in terminology Software architect is actually an engineer Software engineer

Software Development Crisis Inflation in terminology Software architect is actually an engineer Software engineer is a programmer/developer Software developer/programmer is a code technician Software architecture is engineering Software development is manufacturing

Software Development Crisis Key to resolving crisis is practicing software development as an engineering

Software Development Crisis Key to resolving crisis is practicing software development as an engineering discipline Engineering discipline elements Core body of knowledge of design best practices Technology or science foundation Supporting process Analysis methodology Supporting assumptions Software engineering is the realm of the software architect

Types of Architects Enterprise architect Sometimes called corporate architect or chief architect Utilizes economy

Types of Architects Enterprise architect Sometimes called corporate architect or chief architect Utilizes economy of scale Responsibilities Corporate-level frameworks Direction and guidance Managing other architects

Types of Architects Solution architect Sometimes called architect or lead developer Application-specific Responsibilities Application

Types of Architects Solution architect Sometimes called architect or lead developer Application-specific Responsibilities Application top-level design Occasionally detailed design Technical leadership What and not how Reduce complexity and provide infrastructure Collaboration with product and project manager Project planning But not tracking

Types of Architects Key skills required of architects Development process and project leadership Architecture

Types of Architects Key skills required of architects Development process and project leadership Architecture and modern design patterns As reflected by the technology at hand Analysis Modeling and notations Architecture validation

Types of Architects Solution architect is Process lead Technical lead Design lead As a

Types of Architects Solution architect is Process lead Technical lead Design lead As a continuum

Architect's Evolution Early 1990's Technical leads Late 1990's Architects Late 2000's Technical managers Individual

Architect's Evolution Early 1990's Technical leads Late 1990's Architects Late 2000's Technical managers Individual architect's career path often reflects the industry's evolution

Architecture and Technology Architecture is not detached from technology No point in designing something

Architecture and Technology Architecture is not detached from technology No point in designing something The technology provides already Developers cannot build Design methodology must align with development methodology Development methodology is derived from tools and supporting platforms New technology often deprecates existing design In civil engineering, 90% of architecture is building codes

Architecture and Domain Architecture is detached from the domain-specifics Design best practices and patterns

Architecture and Domain Architecture is detached from the domain-specifics Design best practices and patterns transcend specific applications Across industries Across products Across team sizes Avoid doing more of the same Architects should not be the domain experts Developers should not be technology and design experts Architects should

Architecture and Domain Developers add the most value by understanding the domain Architects add

Architecture and Domain Developers add the most value by understanding the domain Architects add the most value by decoupling the system Architects should rely on domain experts System experts Developers Analysts

Resources Programming WCF Services 3 rd Edition Juval Löwy, O'Reilly 2010 www. idesign. net

Resources Programming WCF Services 3 rd Edition Juval Löwy, O'Reilly 2010 www. idesign. net Code library Coding standard Sample architecture report IDesign Method™ Architect’s Master Class November 2011 http: //www. idesign. net/idesign/download/IDesign. CD. zip

Resources Connect. Share. Discuss. http: //northamerica. msteched. com Sessions On-Demand & Community Microsoft Certification

Resources Connect. Share. Discuss. http: //northamerica. msteched. com Sessions On-Demand & Community Microsoft Certification & Training Resources www. microsoft. com/teched www. microsoft. com/learning Resources for IT Professionals Resources for Developers http: //microsoft. com/technet http: //microsoft. com/msdn