480 likes | 665 Views
SESSION CODE: DPR202. The Case for Custom Development. David Chappell Principal Chappell & Associates. Agenda. Custom Applications and Business Strategy Examining ALM ALM and Business Processes Build or Buy?. Two Assertions.
E N D
SESSION CODE: DPR202 The Case for Custom Development David Chappell Principal Chappell & Associates
Agenda • Custom Applications and Business Strategy • Examining ALM • ALM and Business Processes • Build or Buy?
Two Assertions • All of the value that information technology provides flows through application software • Applications (and the data they use) are why IT exists • Any leading-edge organization today must be good at writing custom apps
Business Strategy and ITThe importance of being different • A primary goal of business strategy is to create competitive advantage • The essence of that advantage is being different • Virtually all business strategies today have an IT component • Which commonly depends on custom applications
First firm in an industry implements innovation Second firm in the industry implements innovation Third firm in the industry implements innovation Business Benefit of an InnovationFrom competitive advantage to cost of doing business Competitive Advantage to Firm Time
Categorizing IT SpendingStrategic vs. utility Window of differentiation Competitive Advantage to Firm Strategic IT Utility IT
How CIOs SucceedGetting more than a passing grade CIOs can get an A if they focus here Competitive Advantage to Firm CIOs can at best get a C if they focus here Strategic IT Utility IT
Strategy and SoftwareMaking the connection • Summarizing the story: • Business strategy means being different from the competition • Being different relies on strategic IT investments to support that differentiation • Strategic IT investments are most often custom applications • Any leading-edge organization today must be good at writing custom apps • Custom applications are created through application lifecycle management (ALM) • Being good at ALM is essential to creating strategic value
What is ALM?A perspective • ALM is more than the software development lifecycle (SDLC) • It includes the entire time during which an organization is spending money on this asset • ALM can be viewed as having three aspects: • Governance: Making decisions about the application • Development: Creating and updating the application • Operations: Running and managing the application This is an idiosyncratic definition of ALM
Illustrating ALM Governance Development Operations Idea Deployment End of Life
Aspects of ALMGovernance Business case development Project Portfolio Management (PPM) Application Portfolio Management (APM) Application removed from service Project approved Governance Development Operations
GovernanceWho decides, and how are decisions made? • Some key decisions: • Which custom apps should be created? • How should resources for maintaining custom apps be distributed? • When should an application be removed from service? • These are critically important decisions • IT people shouldn’t make them on their own • To a large extent, they’re business decisions
GovernanceInfrastructure and applications: Who leads? Decisions made jointly by IT and business Decisions led by business Existing Apps New Apps Decisions led by IT ApplicationInfrastructure
GovernanceThe value of standardized infrastructure • Organizations tend to evolve diverse application infrastructures • Often because the business chooses apps that require this • Pros of diversity: • Lets the business adopt whatever packaged apps are best for them • Cons of diversity: • Complex to operate • Expensive to run • Can impede innovation with custom apps • Because making connections across diverse infrastructures is hard
GovernanceThe case for credibility • The more credibility a development organization has with its business sponsors, the more custom apps it will be asked to create • The only way to create long-term credibility is to be successful • Which means delivering custom apps with the right functions on time and within budget • This implies that an effective and repeatable development process is an essential foundation for creating custom apps
Aspects of ALMDevelopment SDLC, v1 SDLC, v2 Maintenance Governance Development Operations
DevelopmentWhat’s happening now • Two big improvements have appeared: • Iterative development processes that lower the risks of custom development • Integrated development tools that help optimize the end-to-end process • Both improve the odds of creating a successful application • And neither is ubiquitous yet
Development Iterative processes Requirements Requirements Requirements Iteration 1 Iteration 2 Iteration N . . . SDLC ALM
DevelopmentWhat is an agile development process? • The Agile Manifesto • Scrum, with • Sprints • Self-organizing teams • … • Scrum, plus key engineering practices such as: • Continuous integration • Test-driven development Consensus appears to be building for this Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan
DevelopmentWhy agile processes matter • They’re more likely to create the right software • And so they lower the risk of failure • Self-organizing teams (as in Scrum) are a more inspiring way to work • They’re part of shaking off our industrial-era work mindset • Team members can be more creative and motivated • The organization will likely get more out of them • You can attract (and keep) better people
Development Integrated tools: The idea Development Tools Architecture Tools Testing Tools Design Documents Version Control/ Build Mgmt Test Cases Requirements Project Statistics Reporting and Tracking Tools Requirements Tools Shared Server, e.g., Microsoft Team Foundation Server IBM Jazz Team Server
Development Integrated tools: What they allow • Handoffs between functions are simpler and faster • Something that’s especially important with agile processes • Everybody can have better visibility into the project status Development Testing Architecture Shared Server Requirements Project Tracking
Aspects of ALMOperations Deploy the application Monitor the application Deploy application updates Governance Development Operations
OperationsThe case for credibility (again) • Running custom apps successfully is essential to IT’s credibility • If your firm can’t do this, you won’t be trusted to create them • This matters more than ever today: • IT outsourcing is common • The cloud provides another alternative to in-house IT • Cloud platforms can allow immediate app deployment This can be a big win for some business strategies
ToolsExamples from Microsoft Microsoft Test Manager Governance Development Operations System Center Operations Manager System Center Configuration Manager Project Portfolio Manager Visual Studio 2010 IDE Expression Studio System Center Service Manager Microsoft Project Visual Studio Team Foundation Server (TFS) Microsoft Excel Configuration Management Database (CMDB) SharePoint
ALM and Business ProcessesTwo ways they’re connected • ALM can be used to improve business processes • ALM is itself a business process
Improving Business Processes with ALMEmbedding processes in software • The ability to embed a better business process in a custom app, then replicate it across an organization, is a primary way to create competitive advantage with IT • See Andrew McAfee and Erik Brynjolfsson, “Investing in the IT That Makes a Competitive Difference”, Harvard Business Review, July-August 2008 • To get better at process innovation, get better at creating custom apps
Improving Business Processes with ALMDeciding where to invest • Characteristics of processes for which software provides the most benefits (from McAfee and Brynjolfsson): • Apply across a large part of the company • Are consistent and precise • Have built-in enforceability • Can be monitored • A business process with one or more of these characteristics that also provides competitive differentiation is a great candidate for a custom app
ALM as a Business Process How ALM relates to other business processes Business Process X Business Process Y Steps supported by custom applications ALM
ALM as a Business ProcessThe importance of custom apps • ALM is itself a critical business process • One that supports many other business processes • Any organization that creates custom software should take the ALM process at least as seriously as it does any other important business process • Does your CEO understand this?
ALM as a Business Process What the development process is not • Software development is different from many other business processes • It’s not an identically repeatable process like manufacturing • The term “software factory” is deeply misleading • Custom development always involves innovation • If not, you shouldn’t be doing it
Custom Apps vs. Packaged AppsA continuum • The less standard the task, the more custom code is required Standard task Unique task SaaS CRM implementation Microsoft Word ERP package implementation App supporting proprietary process Purchased business logic Custom business logic
Custom Apps vs. Packaged AppsThe upgrade challenge for customized packages SaaS CRM implementation Microsoft Word ERP package implementation App supporting proprietary process To upgrade: Replace purchased business logic To upgrade: Replace purchased business logic and modify custom business logic To upgrade: Modify custom business logic Purchased business logic Custom business logic
Build or Buy?The connection with business strategy Window of differentiation Create custom application Create custom software or heavily customize a packaged application Buy a packaged application
Build or Buy?Some things to keep in mind • Write as little custom code as possible • Buy a package whenever it makes sense • But don’t ignore the potential upgrade challenges • Make the amount of custom code written proportional to the amount of competitive advantage that code provides • Don’t blindly replicate existing business processes, for example • Making the build-or-buy decision rests heavily on an organization’s ALM capacity • Being better at ALM improves your ability to differentiate with custom software
Conclusion • Custom applications are a foundation for an organization’s strategy • Being good at ALM is fundamental to being good at innovation • The odds of succeeding with a custom app are better than ever • Better approaches to development, e.g., agile processes, help • Integrated tools can also help • Organizations should treat ALM as a critical business process • Because it is
For Further Reading • What is Application Lifecycle Management? http://www.davidchappell.com/WhatIsALM--Chappell.pdf • Application Lifecycle Management and Business Strategy http://www.davidchappell.com/ALMandBusinessStrategy--Chappell.pdf • Application Lifecycle Management as a Business Process http://www.davidchappell.com/ALMasABusinessProcess--Chappell.pdf • Tools for Team Development: Why Vendors are Finally Getting It Right http://www.davidchappell.com/ALMToolEvolution--Chappell.pdf
About the Speaker David Chappell is Principal of Chappell & Associates (www.davidchappell.com) in San Francisco, California. Through his speaking, writing, and consulting, he helps people around the world understand, use, and make better decisions about new technology. David has been the keynote speaker for many events and conferences on five continents, and his seminars have been attended by tens of thousands of IT leaders, architects, and developers in more than forty countries. His books have been published in a dozen languages and used regularly in courses at MIT, ETH Zurich, and other universities. In his consulting practice, he has helped clients such as Hewlett-Packard, IBM, Microsoft, Stanford University, and Target Corporation adopt new technologies, market new products, train their sales staffs, and create business plans. Earlier in his career, David wrote networking software, chaired a U.S. national standards working group, and played keyboards with the Peabody-award-winning Children’s Radio Theater. He holds a B.S. in Economics and an M.S. in Computer Science, both from the University of Wisconsin-Madison.
Required Slide Resources 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!
Sign up for Tech·Ed 2011 and save $500 starting June 8 – June 31st http://northamerica.msteched.com/registration You can also register at the North America 2011 kiosk located at registrationJoin us in Atlanta next year
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.