700 likes | 727 Views
From Software Engineering To Service Science. LING Zong, Ph. D. IBM Software Group San Jose, California, U.S.A. Review the past, Optimize the Present, Prepare the Future. 2020/1/1. http://software.nju.edu.cn/lingzong. About Speaker. LING Zong ( 凌棕 ), Ph. D. Senior Engineer / Scientist
E N D
From Software EngineeringTo Service Science LING Zong, Ph. D. IBM Software Group San Jose, California, U.S.A. Review the past, Optimize the Present, Prepare the Future 2020/1/1
http://software.nju.edu.cn/lingzong About Speaker LING Zong (凌棕), Ph. D. Senior Engineer / Scientist IBM Almaden Research Center / Software Group San Jose, California, U.S.A. • Routine Work (Engineering and Services): • (60%) Research and Development • On E-Business Data Storage Management • (25%) Critical Customer Service • For Special Weapon Attack Team (SWAT) • (10%) Global Training and Academic Lecture • As a Technical Evangelist and University Ambassador • (5%) Technical Consultation • To Venture Capital Investment in the Silicon Valley
Topics • Motivations • Software Engineering • Service Science • Challenges
Motivations • Why study Services? • Why is IT Service important? • What is IBM doing?
Percentage employment in service jobs US employment as % of total Services vs Manufacturing 2010
Rise of the Service Economy Japan United States Germany China Russia India
Why study Services? • Service-based economies • Service as a business imperative in manufacturing and IT • Deregulated industries and professional service needs • Services marketing/management is different • Service equals profits – follow the money • It’s where the jobs are!!!
Motivations • Why study Services? • Why is IT Service important? • What is IBM doing?
IT field: Software Industry Services Engineering • Innovation • Technology • Product • Market • Customer • Support Separation Integration Virtualization
Key challenges facing software engineering Software engineering in the 21st century faces three key challenges: Legacy systems Old, valuable systems must be maintained and updated Heterogeneity Systems are distributed and include a mix of hardware and software Delivery There is increasing pressure for faster delivery of software
Software myths Management myths Standards and procedures for building software Add more programmers if behind the schedule Customer myths A general description of objectives enough to start coding Requirements may change as the software is flexible Practitioner myths Task accomplished when the program works Quality assessment when the program is running
Computer Science vs Software Engineering • the practicalities of developing • delivering useful software • SE deals with practical problems in • complex software products • theory • fundamentals • Algorithms, date structures, complexity theory, numerical methods Computer Science Software Engineering is concerned with Computer science theories are currently insufficient to act as a complete underpinning for software engineering, BUT it is a foundation for practical aspects of software engineering
Evolution of marketing thought Market With (Collaborate with Customers and Partners to Create and Sustain Value) Market To (Management of Customers and Markets) To Market (Matter on Motion) 2010+ Through 1950 1950-2010 • Marketing in the goods economy: financial optimization and the 4P’s -Product, Price, Placement, Promotion • Marketing in the services economy: communication across organizational boundaries • From manufacturing (make and sell) to marketing (resource utilization for service provision) Source: Stephen L. Vargo “From Goods to Service(s)”, Presentation at UC Berkeley, Jan 30, 2007
Paths to Increase Profits Traditional path: employee-centered Service path: customer-centered
Evolution of Systems Industry Eco-SystemsGlobal Digital Economy Marketplace Solutions People, Processes, Information “End-to-End” Enterprise IT Infrastructure, Applications, Data, . . . Data Center, Business Unit, Department, . . . System Complex Computer Storage, Printers, Network, . . .
Business Applications Products Technology Evolution of Visions Market Facing Systems People and Services Knowledge Economy Back Office Systems Machines and Products Industrial Economy
Innovation of Services Science Evolution of Food Chain Carnivores Services Business Value/Profit Chain Natural Food Chain Pyramid Herbivores Engineering
Why is IT SERVICE important? • The world is becoming networked, dependent on information and information technology -- IT • Science will provide tools and methods to study services and develop solutions to problems that span multiple disciplines • Less Programming, More Managing – Computer jobs are changing in nature
Motivations • Why study Services? • Why is IT Service important? • What is IBM doing?
About History • 1940s (70 years ago!) • IBM's first research lab was at Columbia University and Columbia's first Computer Science course was co-taught by an IBMer. • Then, Computer Science appeared • 2004 => Now! • IBM hosted a worldwide conference on SSME education for the 21st century • Yes, Service Science emerged
Services in IBM Business OperationsPercent of IBM’s Total Revenue in 2009 • Two professional services segments: • Global Technology Services, primarily reflects IT Infrastructure Services • Global Business Services, primarily reflects professional services delivering solutions which leverage industry and business-process expertise. Source: 2009 IBM Annual Report
IBM Mission We strive to lead in the invention, development and manufacture of the industry’s most advanced information technologies. Engineering We translate these advanced technologies into value for our customers through our professional solutions, services and consulting businesses worldwide. Services
Topics • Motivations • Software Engineering • Service Science • Challenges
Why Software Engineering ? The problem is complexity Many sources, but size is key: UNIX contains 4 million lines of code Windows 2000 contains 108 lines of code Software engineering is about managing this complexity.
Software Engineering Body of Knowledge • Computing Fundamentals • Algorithms and Data Structures • Computer Architecture • Mathematical Foundations • Operating Systems • Programming Languages • Software Product Engineering • Requirements Engineering • Software Design • Software Coding • Software Testing • Software Operations & Maintenances • Software Management • Project Process Management • Risk Management • Quality Management • Configuration Management • Dev. Process Management • Acquisition Management • Software Domains • Artificial Intelligence • Database Systems • Human-Computer Interaction • Numerical & Symbolic Comp. • Computer Simulation • Real-Time Systems Source: http://www.sei.cmu.edu/pub/documents/99.reports/pdf/99tr004.pdf
Hot Software Engineering SkillsToday and Tomorrow • Visual Basic -- Programming Language • Microsoft Access – Relational Database (small applications) • PowerBuilder application development tools – RAD Database Tool • C and C++ programming -- Programming Languages • SAP – Enterprise Wide Application Software (financial, manufacturing, product data management) • MVS, Unix and Windows NT – Host Operating Systems (IBM, Sun, HP, Microsoft) • Microsoft Exchange – E-Mail Server • Lotus Notes – Web Based Publishing/Management Application Software • Database management, administration and development -Oracle and Sybase to a lesser extent. – Oracle dominates the DBMS market • Internet/World Wide Web: Web-related skills; e.g., Java, ActiveX, CGI and Internet Security – Definitely – look at explosion in web and e-commerce • Object-oriented skills -- Analysis, design, development
Software Engineering Today • Software Engineering • – An engineering discipline that includes these processes and products: • – Software Engineering Management • – Software Requirements Analysis • – Software Configuration Management • – Software Design • – Software Construction • – Software Testing • – Software Engineering Infrastructure • – Software Engineering Process • – Software Evolution and Maintenance • – Software Quality Analysis 少壮不努力 老大干IT 中关村 唐家岭公交车上 Source: SWEBOK – http://www.swebok.org
Software Engineering Jobs/Roles • Systems Analyst -- analyzes requirements for an application, may also do business case analysis • Software Architect – designs the overall structure of the application • Software Systems Administrator – administers user accounts, technology refreshment, software deployment to users, software problem solvers • Customer Support Engineer – solves customer, end-user problems with computer applications, configuration • Webmaster – designs, implements, and maintains a web site • Software Project Manager –plan, organize, direct, coordinate, control a software project • Software Configuration Manager – identify, change control, status accounting, audits and reviews • Software Quality Manager/Engineer – software reliability modeling, statistical quality control, defect analysis • Software Network Specialist – LAN/WAN Network design, installation, maintenance • Software Programmer – implements the design using software development tools, COTS software products, and computer languages • Software Database Administrator – administers the database (installation, maintenance, backup • Software Security Engineer – identification, authorization, authentication, data protection, data integrity • Software Tester (independent verification and validation)
Software Engineering Summary • Software Engineering has a bright future • Job opportunities • Web will be a major driver of software engineering growth • Successful software engineers will constantly learn and adapt new technologies • Learn how to solve problems • Learn how to communicate (verbal and written) • Learn how to provide services Knowledge is Power!
Three ways to acquire IT capabilities Software, hardware and services Pre-integrated systems and appliances Provided as services Cloud computing is a new delivery and consumption model or methodology spanning all 3 ways.
What’s different about cloud computing? Without cloud computing With cloud computing • Virtualized resources • Automated service management • Standardized services • Location independent • Rapid scalability • Self-service • Software • Hardware • Storage • Networking • Software • Hardware • Storage • Networking • Software • Hardware • Storage • Networking Note: Elements of cloud computing taken from NIST, Gartner, Forrester and IDC cloud computing definitions
Future Evolution of Cloud Computing Drivers • Virtualization • High-Speed Network • Web 2.0 • SaaS Present Drivers Re-centralized Shared Infrastructure Transparent delivery of services Ubiquitous access with high bandwidth, low latency • Standard hardware • Client-Server • Internet • e-business Past Distributed Dedicated Infrastructure Explosion of Applications Ubiquitous Access Islands of Computing Centralized Shared processes Limited applications Limited access
Software as a service (SaaS) Traditional Software On-DemandUtility Plug In, SubscribePay-per-Use Build Your Own
Topics • Motivations • Software Engineering • Service Science • Challenges
What is a service? Service サービス 服务 Per Wikipedia (2006): In economics and marketing, a service is the non-material equivalent of a good. It is claimed to be a process that creates benefits by facilitating either a change in customers, a change in their physical possessions, or a change in their intangible assets. By supplying some level of skill, ingenuity, and experience, providers of a service participate in an economy without the restrictions of carrying stock (inventory) or the need to concern themselves with bulky raw materials. On the other hand, their investment in expertise does require marketing and upgrading in the face of competition which has equally few physical restrictions.
Definition of Services • Loosely coupled software components that interact with one another dynamically via standard Internet technologies (Gartner). • A software application identified by a URI, whose interfaces and binding are capable of being defined, described, and discovered by XML artifacts and supports direct interactions with other software applications using XML-based messages via Internet-based protocols (W3C). • A piece of business logic accessible via the Internet using open standards (Microsoft). • Services are self-contained, reusable software modules that are independent of applications and the computing platforms on which they run. Services have with well-defined interfaces and allow a 1:1 mapping between business tasks and the exact IT components needed to execute the task. (IBM)
Key points of Services • Two sides: provider and consumer • Interaction • May happened in real-time or off-line • At least one provider and one consumer • Provider provides a valuable service Service Provider Customer Service Experience
What are some everyday services? • Financial • Banking, investments • Entertainment • Television, movies, concerts • Professional Services • Doctors, lawyers, skilled craftspeople, project management • Educational Services • Colleges, kindergartens • Transportation • Trains, planes, delivery • Hospitality • Hotels, restaurants • Infrastructure • Communications, electricity, water • Government • Police, fire, mail
Everyday IT Service Lifecycle Example Incident ==== Resolution
Goods-centered logic Exchange of goods Customer receives goods; marketers appeal to them Value determined by producer Wealth is created by owning, controlling, and producing goods Service-centered logic Exchange of knowledge and skills (Intangibility) Customer is co-producer of service (Inseparability) Value determined in use by customer (Perishability) Wealth is obtained through application and exchange of specialized knowledge and skills (Heterogeneity) Goods versus Services
Distinguishing services from goods • Intangibility • Services are ideas and concepts that are part of a process • The client typically relies on the service providers’ reputation and the trust they have with them to help predict quality-of-service and make service choices • Regulations and governance are means to assuring some acceptable level of quality-of-service • Inseparability • Services are created and consumed at the same time • Services cannot be inventoried • Demand fluctuations cannot be solved by inventory processes • Quality control cannot be achieved before consumption • Heterogeneity • From the client’s perspective, there is typically a wide variation in service offerings • Personalization of services increases their heterogeneous nature • Perceived quality-of-service varies from one client to the next • Perishability • Any service capacity that goes unused is perished • Services cannot be stored so that when not used to maximum capacity the service provider is losing opportunities • Service capability estimation and planning are key aspects for service management
Information as a good • Information about goods becomes a good. • e.g. bar codes, RFID tags, etc. • As information about location and movement of goods is increasingly available, the boundary between physical and virtual worlds blurs: • Inventory and information are equivalent. • New services from aggregation of information about business transactions. • When digitized, information is: • Easily stored and processed – databank, data warehouse, data mining • Easily customized, enriched, accumulated, transformed - even across great distances • Easily distributed - infinitely scalable
Growing information content of services • Web-based platforms and reusable software components transform services as well as goods: eBay, Google • Information systems allow separation of production and consumption of services: global supply chain management, remote medical screening
Service process matrix Degree of labor intensity • the ratio of labor cost to capital cost Degree of interaction and customization • ability of the client to affect specialization (Adapted from Lovelock (1983) and Fitzsimmons & Fitzsimmons (2003))
Toward Services Science •Services depend critically on people, technology, and co-production of value. People work together and with technology to provide value for clients •So a service system is a complex socio-techno-economic system. And growth requires innovation that combines people, technology, value, clients
Can there really be a science of services? “Wherever there are phenomena, there can be a science to describe and explain those phenomena. Thus, the simplest (and correct) answer to “What is botany?” is, “Botany is the study of plants.” And zoology is the study of animals, astronomy the study of stars, and so on. Phenomena breed sciences.” - Newell, A., Perlis, A. & Simon, H. A. (1967). Computer Science, Science,157, 1373-1374.
Computer Science vs. Service Science • Only natural phenomena breed sciences • The term “service” is not well defined • Service Science is the study of work, not services • Services are performances, not phenomena • Service Science is a branch of another science • Services belong to engineering (or management), not science • With apologies to Newell, Perlis, & Simon (1967) • Only natural phenomena breed sciences • The term “computer” is not well defined • Computer Science is the study of algorithms, not computers • Computers are instruments, not phenomena • Computer Science is a branch of another science • Computers belong to engineering, not science • Newell, Perlis, & Simon (1967)