EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture

Slides:



Advertisements
Similar presentations
Connected Health Framework
Advertisements

Testing Workflow Purpose
Domain Engineering Silvio Romero de Lemos Meira
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
SQL Server 2005: Analysis Services and DTS Tim Sneath Architectural Engineer, Microsoft
Tom Hollander Solution Architect Solutions Development Centre Microsoft Australia ARC308.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Domain-Specific Software Engineering Alex Adamec.
Tools for Architects and Future Directions in Modeling Beat Schwegler Architect, Enterprise Team Microsoft EMEA D&PE blogs.msdn.com/beatsch Arvindra Sehmi.
Microsoft Architects Forum 1 Software Factories : Assembling Applications with Patterns, Models, Frameworks and Tools Steve Cook Software Architect Enterprise.
Visit our Focus Rooms Evaluation of Implementation Proposals by Dynamics AX R&D Solution Architecture & Industry Experts Gain further insights on Dynamics.
Problems with reuse – Increased maintenance costs; lack of tool support; not-invented- here syndrome; creating, maintaining, and using a component library.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
DEV334 Creating Application Starting Points & Sharing Best Practices with Enterprise Templates Marc Gusmano Director of Emerging Technologies The Information.
MSF Requirements Envisioning Phase Planning Phase.
Business Solutions Using Microsoft ® Office SharePoint ® Server ROADSHOW.
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
Requirements Engineering Requirements Elicitation Process Lecture-8.
DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.
Testing Workflow In the Unified Process and Agile/Scrum processes.
DEV 303 Visual Studio "Whidbey" Enterprise Tools: Source Control and Work Item Tracking Brian Harry Product Unit Manager Microsoft Visual Studio.
DEV337 Modeling Distributed Enterprise Applications Using UML in Visual Studio.NET David Keogh Program Manager Visual Studio Enterprise Tools.
Visual Studio 2005 Team System Winning the testing space with advanced testing tools Eric Adams Program Manager Visual Studio 2005 Team System Microsoft.
1 Introduction to Software Engineering Lecture 1.
L8 - March 28, 2006copyright Thomas Pole , all rights reserved 1 Lecture 8: Software Asset Management and Text Ch. 5: Software Factories, (Review)
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Rational Unified Process Fundamentals Module 5: Implementing RUP.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
L9 - April 5, 2006copyright Thomas Pole , all rights reserved 1 Lecture 9: Reuse Driven Processes and Text Ch. 7: Programming with Models.
ARCH-2: UML From Design to Implementation using UML Frank Beusenberg Senior Technical Consultant.
Visual Studio 2005 Team Edition for Software Architects: Developing Service-Oriented Systems Bill Gibson Senior Program Manager Enterprise Tools Microsoft.
Test Management Provides a rich and configurable global web platform for implementing a software development life cycle process with collaboration.
Visit our Focus Rooms Evaluation of Implementation Proposals by Dynamics AX R&D Solution Architecture & Industry Experts Gain further insights on Dynamics.
Building More Reliable And Better Performing Web Applications With Visual Studio 2005 Team System Gabriel Marius TLN312 Program Manager Microsoft Corporation.
Rational Unified Process Fundamentals Module 7: Process for e-Business Development Rational Unified Process Fundamentals Module 7: Process for e-Business.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
Software Factories : Assembling Applications with Patterns, Models, Frameworks and Tools Steve Cook Architect Visual Studio.
Solution Supply Chains Jack Greenfield. Overview Learning from Other Industries Mass Customization in Software Development Implementing Supply Chains.
Hosting Websites and Web Applications with Microsoft ® SQL Server ® 2008.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2004 Session 5 Lecture # 4 – October 5, 2004.
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2000 Session 4 Lecture # 3 - September 28, 2004.
CS223: Software Engineering Lecture 4: Software Development Models.
Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311 Program Manager Microsoft Corporation.
L6 - March 1, 2006copyright Thomas Pole , all rights reserved 1 Lecture 7: Dynamically Integrable Autonomously Executable Components and Text.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
Software Factories: Assembling Applications with Patterns, Models, Frameworks and Tools Jack Greenfield Architect Enterprise Tools Microsoft Corporation.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
Software Factories Steve Cook Architect Enterprise Tools, Visual Studio Microsoft Corporation.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
Building Enterprise Applications Using Visual Studio®
Deliver business insights with Microsoft Dynamics AX and Power BI
CIM Modeling for E&U - (Short Version)
Microsoft /23/2018 1:11 AM BRK3180 Migrate CRM OnPremise organizations to CRM Online cloud using Dynamics Lifecycle Services (LCS) Aditya Varma Ganapathy.
Software Factories - Today and Tomorrow
An Introduction to Software Factories
Chapter 25: Architecture and Product Lines
Performance Point Services in SP2013
Matt Masson Software Development Engineer Microsoft Corporation
DAT381 Team Development with SQL Server 2005
Jochen Seemann Program Manager Enterprise Tools Microsoft Corporation
2010 Microsoft BI Conference
From Development to Production: Optimizing for Continuous Delivery
Mark Quirk Head of Technology Developer & Platform Group
9/14/2019 6:51 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Presentation transcript:

EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture Software Factories - Today and Tomorrow

1st February, Praha Software Factories Vision Software Factories Today A Software Factory to Build Factories Using a Software Factory Defining and Building a Software Factory Q&A session

Marx had a vision of the pianist as a performer who produced something that couldn't be commoditized. John Markoff Then along came the recording, a commoditization of the pianist's art.

Bad Stuff Happens We need to capture the “method” in the madness of software development

Typical Development Issues Solution Structure Designer Design Application Platform Expert Define Technology Standards Business Analyst Capture Business Process Coder Code Application Core Component Builder Build Core Components

The Real World is Complex Solution Structure Designer Design Application Platform Expert Define Technology Standards Business Analyst Capture Business Process Coder Code Application Core Component Builder Build Core Components Data Architect Create Data Model DBA/OpsMaintainInfrastructure Senior User Represent Users Project Manager Deliver to Schedule Graphic Designer Design look + feel Interaction or Experience Manager Web Developer Implement look + feel Policies and restrictions Users Description of Application - Flow diagram - Prototype Description of Process Status Reports Estimates Requirements (often new) Domain Info Domain Info Visual spec Spec Feedback Description of Application - Flow diagram - Prototype Feedback Spec Work items Requirements (QoS) Logical/physicalarchitecture Possible solutions Data access API Database specs Feedback on errors/intent DB scripts Feedback on DB scripts Feedback on errors/intent Path to physical DB Advice and designs for Tricky parts of app Policies and restrictions Status Reports Estimates Hard to tell if application design correctly reflects business process Requirements often vague, incomplete Expensive to do this for every project PM has to trust these estimates No way to guarantee that spec is followed Too much hand holding Too much hand holding

Software Development as Craftsmanship Labor Intensive Generic Tools Generic Processes One off applications Hand stitched from scratch Minimal reuse Overruns, defects, security holes, project failures

Exploiting Commonality We already exploit economies of scale to automate production Stamping out many identical copies of a prototype Used to produce CDs/DVDs Does nothing to help development

Exploiting Commonality We can also exploit economies of scope Reuse designs & components Build many similar but distinct prototypes Key is supporting variability Define only the unique pieces of each system

Software Factories Domain-specific process Domain-specific tools & languages Domain-specific content Automate rote and menial tasks General-purpose IDEs become domain-specific software factories

Software Product Lines Build new solutions by assembling partial solutions and/or configuring general ones Specify only the unique features of each solution and assume the common ones Variations in requirements map predictably to variations in artifacts and processes Reduce custom development by 40% to 80% for the typical solution

Another Development Process Tools, Process, Content creates uses Requirements, Defects uses creates creates Product Development Asset Development Business createsuses Products uses Requirements, Defects creates

How Product Lines Form Variants of a system e.g. CRM system Mine assets from variants Adapt assets for new variants Customize and apply tools, process and content for each variant System 1 System 2 copy/paste Assets {1,2} generalize System 3 Assets {1,2,3} adapt customize System 4 customize System 5 Assets {1..5} adapt customize

Feature Models Payment FrequentFlyer PayOnDelivery mandatory feature optional feature alternative features No decision regarding the mechanism for implementing variability! CreditCard PayByBill OrderCapture Tax Invoice OnlinePrinted ShipmentCost ApprovalFulfillment OrderManagement ShippingElectronicDelivery PackageTrackingNoPackageSlip «implies» Used by permission from Krzysztof Czarnecki

Using A Feature Model Payment FrequentFlyer PayOnDelivery CreditCard PayByBill OrderCapture Tax Invoice OnlinePrinted ShipmentCost ApprovalFulfillment OrderManagement ShippingElectronicDelivery PackageTrackingNoPackageSlip Used by permission from Krzysztof Czarnecki

Using A Feature Model Payment ElectronicCheck PayOnDelivery CreditCard PayByBill OrderCapture Tax Invoice OnlinePrinted ShipmentCost ApprovalFulfillment OrderManagement ShippingElectronicDelivery PackageTrackingNoPackageSlip Used by permission from Krzysztof Czarnecki

Using A Feature Model Payment ElectronicCheck CreditCard OrderCapture Tax Invoice OnlinePrinted ShipmentCost ApprovalFulfillment OrderManagement Shipping PackageSlip Used by permission from Krzysztof Czarnecki

Industrializing Software Development Improve productivity and predictability across the software life cycle Make it easy to deliver a wide range of tailored solutions Software Product Lines Architecture Frameworks Model Driven Development Guidance In Context

© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.