Architecting For Agility


Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Architecting For Agility

    1. 1. Architecting for Agility Subu Goparaju – Vice President SETLabs, Infosys
    2. 2. The World is Flattening… Loyalty through good service Loyalty through faster innovation Spending money on information Making money from information Dreading the “China Price” Being the “China Price” Winning in the straightway Winning in the turns Shift From Shift To To compete in the flattening world… Several forces began to level the playing field Structural shifts in global demographics Ubiquity of technology Accountability regulation Opening of emerging economies
    3. 3. The Flat World has made it imperative to innovate ‘rapidly’ Customers expect high degree of personalization, choice, and 24/7 service. Most companies are struggling to consistently exceed these rising expectations and earn customer loyalty. To earn customers’ loyalty, smart companies will focus on rapid innovation cycles that get their customers involved in co-creation.
    4. 4. Hence Agility <ul><li>Scale </li></ul><ul><li>Ease of Integration (For eg. M&A) </li></ul><ul><li>Ease of Business Process Change (for eg. Compliance) </li></ul><ul><li>New Products Development </li></ul><ul><li>Collaboration </li></ul><ul><li>Flexibility (for eg. On-demand usage) </li></ul><ul><li>Re-distribution of processes in a flat world </li></ul><ul><li>An Engineering Model that helps build Agile Systems </li></ul><ul><ul><li>Automation; Collaboration; Services integration </li></ul></ul>
    5. 5. Agility - Guiding Principles <ul><li>Ease of business process change and enhancement - possibly by end users </li></ul><ul><li>Ease of applications integration – preferably services assembly </li></ul><ul><li>Efficient Knowledge Management for reuse, de-skilling and faster development </li></ul><ul><li>Use of tools for faster development and maintenance </li></ul>
    6. 6. Agile IT: Essential for Faster Innovation <ul><li>Pervasive Infrastructure Services characterized by mobility, wireless connectivity, context awareness, implicit inputs, smart spaces, and natural interfaces for human-device interaction. </li></ul><ul><li>Dynamic processes Flexibility in analysis and re-design of business processes </li></ul><ul><li>Malleable Architecture Building interoperability in a changing technology and business landscape </li></ul><ul><li>Personalized Information Management Providing unified corporate wide information personalized to individual stakeholders </li></ul><ul><li>Transformational IT Management Cost-effective adaptability to change focused on ecosystem value maximization </li></ul>Research projects employ a variety of technologies to realize this vision Source: Infosys Research AGILE IT
    7. 7. Some enabling technologies that realize Agile IT IT organization Research Low cost Devices Legacy Systems RTOS, Embedded Systems Solution Methodologies RFID Knowledge Management Grid Computing Knowledge Engineering/ Ontology .Net IT Management Sensor Networks Data warehousing Open Source Enterprise Collaboration J2EE IT Strategy Convergent Technologies Business Intelligence Software Architecture Intelligent Systems Linux Outsourcing Mobile Computing Enterprise Content Management Web Services SOA Business Process Management Software Engineering ( Engineering Methodologies, Performance Engineering , QoS, Platform Engineering ) Regulatory compliance Transformational IT Management Maintenance COE Peer to Peer Networks Security, Infrastructure Multi-processor architectures High availability systems Technology Platforms Pervasive Infrastructure Personalized Information Malleable Architecture Dynamic Processes
    8. 8. Key enabling technologies for Agility and Faster Innovation <ul><li>A “ business process centric service oriented ” architecture </li></ul><ul><ul><li>Business Process Management </li></ul></ul><ul><ul><li>SOA </li></ul></ul><ul><ul><li>Grid Computing (enabling utility computing and virtualization) </li></ul></ul><ul><li>Enabling a proactive “ sense and respond ” capability </li></ul><ul><ul><li>Wireless Technologies </li></ul></ul><ul><ul><li>Information Management </li></ul></ul><ul><li>Over an “ automated”, “collaborative ” </li></ul><ul><ul><li>Software Engineering paradigm </li></ul></ul>
    9. 9. Leveraging BPM for Agility <ul><li>Agile Processes: Ability to change processes ‘faster’, with reduced dependence on ‘skill’, with minimal disruption to existing operations and systems </li></ul><ul><ul><li>Collaborative Modeling environments (involving both Business & IT) </li></ul></ul><ul><ul><li>Simulation capabilities to envisage benefits from new processes </li></ul></ul><ul><ul><ul><li>BPMS execution engines capable of changing processes in near real-time fashion </li></ul></ul></ul><ul><li>Increased control for business over process change </li></ul><ul><li>Process Visibility: Visibility into Process Execution / Adherence; Visibility into Process Performance / Metrics </li></ul><ul><ul><li>Eg, BAM systems </li></ul></ul><ul><li>Delivering agility leveraging the SOA paradigm: Reuse of the existing IT application infrastructure through services </li></ul><ul><li>Enabling an agile IT organization: </li></ul><ul><ul><li>Faster response by IT to need for process changes on IT systems </li></ul></ul><ul><ul><li>Reduced overheads for making process changes on IT </li></ul></ul>
    10. 10. Solutions and Challenges in BPM <ul><li>Current Solutions </li></ul><ul><li>Research and development of process orchestration or execution server which can execute BPML/BPEL based processes </li></ul><ul><li>Research and development of business modeling languages and tools </li></ul><ul><li>Developing methods and techniques for Business process query languages & process level transaction support </li></ul><ul><li>Bringing Software agents techniques and technology into BPM infrastructure </li></ul><ul><li>BPM for Solution Blueprint </li></ul><ul><li>Taking BPM Forward- Challenges </li></ul><ul><li>Changing Process mindset </li></ul><ul><li>Challenge in enforcing standardization and consistency </li></ul><ul><ul><li>business modeling languages and tools </li></ul></ul><ul><ul><li>methodology </li></ul></ul><ul><li>Alignment with existing Architecture </li></ul><ul><ul><li>Proper BPM/SOA roadmap </li></ul></ul><ul><li>Integration with existing applications </li></ul><ul><li>Scalability and Performance challenges </li></ul>
    11. 11. How SOA can bring agility <ul><li>Basic loose coupling in SOA allows for faster response to change </li></ul><ul><li>Independence of service interface from implementation enables dynamic change of service providers while keeping consuming applications intact (smart sourcing) </li></ul><ul><li>SOA in conjunction with BPM enables flexible business processes </li></ul><ul><li>Architecture in SOA enables extensibility for future needs – e.g. – new partner, new channel , new product, new customer </li></ul><ul><li>SOA principles allow virtualization and standardization and hence cost savings </li></ul><ul><li>Legacy systems reuse and revitalization via services brings agility and cost savings </li></ul>
    12. 12. Solutions and Challenges in SOA <ul><li>Current Solutions </li></ul><ul><li>Service Lifecycle Management methodologies and tools </li></ul><ul><li>Research and development of Service description (semantics) </li></ul><ul><li>SOA at data tier via shared data services platform </li></ul><ul><li>Non-functional requirements adoption in Services </li></ul><ul><li>Service Orchestration in BPM </li></ul><ul><li>Web 2.0 for rich service ecosystems </li></ul><ul><li>Taking SOA forward - challenges </li></ul><ul><li>Going from SOA to SOSE – service oriented software engineering </li></ul><ul><li>Performance Constraints in SOA </li></ul><ul><ul><li>Optimization via XML compression </li></ul></ul><ul><ul><li>Leveraging concurrency </li></ul></ul><ul><li>Identification of services from processes </li></ul><ul><li>Rich Service Contract defn.-Semantic SOA </li></ul><ul><li>SOA Governance – organizational, design time and run time dimensions </li></ul><ul><li>Web 2.0 based web Re-engineering from a service consumer perspective </li></ul>
    13. 13. Grid for Infrastructure Agility <ul><li>The infrastructure needs to be agile, virtualized, should have capacity-on-demand. </li></ul><ul><li>The infrastructure should allow proper utilization balancing, policy-based management, scalability, availability and redundancy. </li></ul><ul><li>The ownership model of infrastructure should change into a pay-per-usage basis with proper metering and chargeback. </li></ul><ul><li>Grid computing and virtualization allows the twin benefits of scalability and flexibility and promises the vision of Next Generation Data Center (NGDC) </li></ul>Source: SETLabs Research 2005 2012
    14. 14. Solution Approach and challenges <ul><li>Challenges </li></ul><ul><li>How do we create an effective data replication strategy for large-scale distributed data management problem using P2P and Grid? </li></ul><ul><li>How do we achieve application / process migration across virtual machine environments (say, between Xen hypervisor and full-system virtualization platform like VMWare)? </li></ul><ul><li>How do we transform a legacy monolithic code into optimized message passing (MP) or distributed shared memory (DSM) code for Grid? </li></ul><ul><li>How do we build an effective dynamic database query partitioning and scheduling framework to do Adaptive Query Processing (AQP) over Grid nodes? </li></ul><ul><li>Virtualization Solution </li></ul><ul><li>Container Service - Provides Grid execution container for better isolation and resource guarantees to meet SLA </li></ul><ul><li>Virtual Machine Manager - Provides Generic Virtualization Management tool to aid in virtual infrastructure management. </li></ul><ul><li>Distributed Resource Manager - Provide standard and policy based management of virtual infrastructure for Next Generation Data Center </li></ul><ul><li>Workflow Manager - Provide business process workflow management over Grid Infrastructure </li></ul>
    15. 15. Distributed Software Development and Maintenance <ul><ul><li>How can the engineering productivity be improved- accuracy, faster turn around time? </li></ul></ul><ul><ul><li>How can the collaboration among people, computing resources can be made structured, precise and effective? </li></ul></ul><ul><ul><li>How can the development/maintenance be made assembly line and less dependent on human expert? </li></ul></ul><ul><ul><li>How can one ensure various quality traits like performance, security, modularity..? </li></ul></ul><ul><ul><li>How can one improve application re-engineering – program comprehension, modularization, service-orientation..? </li></ul></ul>Location A Location B Location C Location D <ul><li>Distributed locations </li></ul><ul><li>Delivering projects with less cost </li></ul><ul><li>Shortage of talent </li></ul><ul><li>Delivering projects with less staff </li></ul><ul><li>Delivering with limited expertise </li></ul><ul><li>Productivity increase </li></ul><ul><li>Delivering by spending less effort </li></ul><ul><li>Successive team handovers </li></ul><ul><li>Retaining knowledge across team transitions </li></ul>
    16. 16. Software Engineering Solutions <ul><li>Automation; Collaboration; Services oriented engineering </li></ul><ul><li>Model Driven Design </li></ul><ul><ul><li>Use of higher order languages - Architecture Modeling </li></ul></ul><ul><ul><li>Model Driven Testing </li></ul></ul><ul><li>Software Quality Assurance </li></ul><ul><ul><li>Capacity Analysis and Performance Assessment </li></ul></ul><ul><ul><li>Application Security </li></ul></ul><ul><li>Large System Development, Comprehension, Modernization </li></ul><ul><ul><li>Metric driven approach to measure the work-product quality </li></ul></ul><ul><ul><li>Fast Comprehension </li></ul></ul><ul><li>Collaboration Platform for community based requirement analysis </li></ul><ul><li>Virtualization </li></ul><ul><ul><li>Environments, test-beds that can be accessed uniformly everywhere and enable location-independence of many activities </li></ul></ul>
    17. 17. Software Engineering Challenges <ul><li>Quality Attribute Driven Software Development </li></ul><ul><ul><li>How can the metrics detect the root cause for a problem in software? </li></ul></ul><ul><ul><li>How can the metrics prescribe a solution for a problem? </li></ul></ul><ul><ul><li>How can the software quality metric be integrated with the delivery process? </li></ul></ul><ul><li>Code Comprehension </li></ul><ul><ul><li>How can a maintainer understand a large code base with little documentation, and without availability of the original authors </li></ul></ul><ul><ul><li>How does a maintainer know whether a modification in the code is not deteriorating the code </li></ul></ul><ul><li>Collaboration during Development and Maintenance </li></ul>
    18. 18. <ul><li>Thank You </li></ul>