380 likes | 634 Views
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 Regional Director for the Silicon Valley Recent book
E N D
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 Regional Director for the Silicon Valley • Recent book • Programming WCF Services 3rd 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 { ; }
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 • Slips hidden from management and customers
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 for long time • Will take time to resolve
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 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 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 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 is distinct from computer science
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 • Tools • Methodologies
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 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 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 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 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 continuum
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 • 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 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 • Developers should not be technology and design experts • Architects should
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 3rd 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/IDesignCD.zip
Related Content Required Slide Speakers, please list the Breakout Sessions, Interactive Discussions, Labs, Demo Stations and Certification Exam that relate to your session. Also indicate when they can find you staffing in the TLC. • Breakout Sessions (session codes and titles) • Interactive Sessions (session codes and titles) • Hands-on Labs (session codes and titles) • Product Demo Stations (demo station title and location) • Related Certification Exam • Find Me Later At…
Track Resources Required Slide Track PMs will supply the content for this slide, which will be inserted during the final scrub. • Resource 1 • Resource 2 • Resource 3 • Resource 4
Resources • Connect. Share. Discuss. http://northamerica.msteched.com Learning • 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
Required Slide Complete an evaluation on CommNet and enter to win!
MS Tag Placeholder Slide Required Slide Your MS Tag will be inserted here during the final scrub.