UML Aids in Offshore Model Communication

Embed Size (px)

Citation preview

  • 8/6/2019 UML Aids in Offshore Model Communication

    1/12

    Offshore Model Communication made Efficient with Strong SE Concepts and UML

    P: Current Industry Demands-Agile Development and Offshore Model Challenges

    V: UML Aids in Offshore Model Communication.

    C: From Challenges to Solutions, Some real time proven results.

    Purpose: Current Industry Demands-Agile Development and Offshore Model Challenges

    Back ground and motivation:

    Two of the hottest recent trends in the software development community are agile development and internationally

    distributed teams. Are these two trends compatible with one another, or are organizations going to be faced with a choice

    between "going agile" and "going offshore"?

    How Agile Concepts Make Offshore Harder

    At first glance, it may seem as though agile methods, with their reliance on face-to-face communication and emphasis on

    collaboration, would be nearly impossible to implement with an onshore/offshore development team.

    V: UML Aids in Offshore Model Communication.

    How to Succeed at Offshore Development:

    In practice, very few teams attempt to achieve that "pure" form of customer/developer collaboration. Instead, many work

    on a daily basis with some type of proxy customersoften referred to as business analysts orsoftware analysts who

    interface with the customer and the Engineers.

    Good Documentation at every stage of a Project Life Cycle serves as one of the important factors for the Success of any

    Project, especially with the Offshore Model where it becomes essential.

    And Business/Software Analysts are required to be empowered with Good Documentation skills and UML knowledge and

    tools like Microsoft Visio.

    Systems Engineering is a Standard focusing on Moving from Document Centric Approach to a Model Centric

    Approach for any Documentation.

    RFI Results from Industry:- Standards available- Agile methodology

    - Increased use of UML for SE across broad range of industry (automotive, aerospace,telecom)

    - Positive indicators and results from the use of Good Documentation techniques andtools (e.g., improved communications, precision, ..)

    - Broad interest from tool vendors to provide SE modeling capability tools

    - Experience with my Real time in- house projects

  • 8/6/2019 UML Aids in Offshore Model Communication

    2/12

    Solution:MODEL Based Approach:

    Improved communications

    Reduced ambiguity

    Reduced errors

    More complete representation

    Enhanced knowledge capture

    Context: From Challenges to Solutions, Some real time proven results:

    UML for Offshore model:

    Onsite Project Implementation Challenges- Making it more difficult for Offshore.

    Why Many Projects Fail? (Onsite)

    There are many reasons why projects fail.

    If Onsite Projects can fail due to Poor Communication, the Offshore ModelCommunication Challenges are more.

    Insufficient resource/ Right talent

    Impossible deadlines

    Poor communication

    Communication is critical in any project. Communication Need to be enhanced by goodDocumentation.

    Lack of focusLow morale

    Sponsor support

    Scope creepLengthy timeframes

    Lack of tools

    Stakeholder involvement

    Advantages of UML over Other VML : De-facto standard within the software community Robust and extensible language to adapt to SE needs

    OMG Infrastructure Broad international and industry representation

    Defined adoption process to evolve UML

    Availability of tool vendor and training support

    My Focus is: How to ImproveCommunication between

    Onsite and Offshore

  • 8/6/2019 UML Aids in Offshore Model Communication

    3/12

    What is UML?

    Unified Modeling Language (UML) is a standardized general-purpose modeling language inthe field of software engineering being extended to Systems Engineering.

    Standard language for specifying, visualizing, constructing and documenting the artifacts of

    software systems.The standard is managed, and was created by, the Object Management Group.

    UML includes a set of graphic notation techniques to create visual models of software-intensive

    systems.Collection of best engineering practices that have proven successful in modeling largeand complex systems

    UML Background

    1970 Object-oriented modeling languages began to appear.

    1996 Release of UML 0.9 by by Grady Booch, Jim Rumbaugh of Rational Software

    Corporation, Ivar Jacobson of Objectory company. 1996 Release of UML 1.0 by Digital Equipment, HP, ILogix,

    IntelliCorp, IBM, ICON, MCI, Microsoft, Oracle, Rational, TI and Unisys.

    1997 Release of UML 1.1 by IBM, ObjecTime, Platinum, Ptech, Taskon, Reich and

    Softeam

    2001 Work on UML 2.0 specifications.

    UML-Goals:

    Provide users with a ready-to-use, expressive visual modeling language so they candevelop and exchange meaningful models.

    Provide extensibility and specialization mechanisms to extend the core concepts.

    Be independent of particular programming languages and development processes.

    Provide a formal basis for understanding the modeling language.

    Encourage the growth of the OO tools market.

    Support higher-level development concepts such as collaborations, frameworks, patternsand components.

    Integrate best practices

    Why Use UML?

    Helps to reduce cost and time-to-market.

    Helps managing a complex project architecture.

    Helps to clearly communicate ideas between developers\designers\etc.

    Tools for UML:

    RATIONAL ROSE

    MS Visio

  • 8/6/2019 UML Aids in Offshore Model Communication

    4/12

    UML Diagrams:

    Diagram

    Structural

    Diagram

    Behavioral

    Diagram

    Component

    Diagram

    Package

    Diagram

    Class

    Diagram

    Deployment

    Diagram

    Object

    Diagram

    Composite

    Structure Diagram

    Interaction

    Diagram

    Use-Case

    Diagram

    Activity

    Diagram

    Stat

    D

    Prot

    M

    Communication

    SequenceDiagram

    Interaction

    Overview DiagramD

    Why Offshore Development Model:

    Competitive advantages of the onsite/offshore model:

    Significant Financial Savings

    Top-Quality Work

    Strict Quality Control Procedures-Full Rational Suite

    Speed to Market

    24 Hour Availability

  • 8/6/2019 UML Aids in Offshore Model Communication

    5/12

    What is the Offshore Delivery Model?

    In Offshore Delivery Model:

    - The entire project is accomplished at the service providers offshore development center, which

    is located in a different country.

    -The client will be dealing directly with the offshore team.

    - Once the initial interaction with the client regarding their requirements and expectations is over

    the service provider will have no face-to-face interaction with the client during the entire

    process.

    - But as the project progresses, both the parties will be communicating regularly through othermeans of communication so as to clear off any doubts that may arise.

    Off Shore Model:

    Offshore

    Team

    Offshore

    Analyst

    Onsite Team

    Delivery

    Manager

    Onsite

    Customer

    Communication

    MediaWebcam,

    Webex, IM,

    Video

    Recording.

    Communication

    Media

    Face to Face

    Discussion

    Requirements

    Deliverables Sign-off

    Deliverables

    Review

    Relationship

    Management

    alysis,

    search, Re

    gineering,

    cumentati

    Up-Keep.

  • 8/6/2019 UML Aids in Offshore Model Communication

    6/12

    The Challenges of Offshore Development

    Much has been written about the pitfalls of offshore software development.

    These are some of the most significant challenges to overcome:

    Decreased communication bandwidth. Due to time zone differences between western

    business centers and many of the major offshore development sites in India and China, thereare very few hours in the day when project participants are in both office locations at the

    same time. This factor, as well as the current cost and quality of telecommunications, serves

    to significantly decrease the volume of communication between offshore and onshore teams.

    Decreased visibility into project status. It's often difficult for project managers and

    business sponsors to get an accurate sense of project progress and status. Many of them have

    been unpleasantly surprised at late stages of a project to find that their sense of "percentage

    complete" was radically incorrect. Measuring project progress is a problem when the project

    team is co located and onshore, and is only made worse when the project is on the other sideof the world.

    Configuration management. "Bringing it all together" for implementation in the

    production environment is one of the most difficult parts of any software project. Many

    teams that have built components offshore have been beset by problems when the time came

    to integrate the offshore and onshore pieces into a working system.

    Disconnection on project estimation. Anyone who has been involved in a software

    project knows that customers, managers, and developers all estimate projects differently,each using their own "fudge factor" based on what the other groups tell them. In an offshore

    situation, where it is entirely likely that the development team will never meet the project

    manager or customers, the standard deviation of traditional project estimates can vary wildly.

    Additionally, it can be very difficult to assess the accuracy or reasonability of estimates as

    the project progresses.

    Being the Top Challenges:The more pressing need on

    Enhanced Documentation Method

  • 8/6/2019 UML Aids in Offshore Model Communication

    7/12

    How Using UML Can Improve one of the main Challenges of Offshore Communication?

    Positive indicators and results from the use of UML for IT Offshore Model (e.g., improvedCommunications, precision ..)

    Industry Data:

    How to Succeed at Offshore Agile Development?

    We seem to have a situation in which agile methods mitigate some challenges of offshore development and

    exacerbate others. With RPD at Low Cost requiring iterative development and delivery from Offshore Teams, we

    need to find a way to address those characteristics about agile development that make offshore development moredifficult.

    Documentation:

    The distinguishing characteristic of agile development that poses the largest challenge for distributed teams is the

    nature of "project knowledge." Things such as detailed system requirements, design specifications, and system

    structure and behavior at any point in time are stored almost solely in the minds of the project's team members. If thesystem under development needs to be well defined ONSITE before it is sent to Offshore team during the "handoff

    points". (Some typical handoff points include the iteration kickoff meeting, delivery to the customer, and transition

    of system technical support.)

    Document the features that are queued up for the upcoming iterationto a level of detail that will enable yourdevelopment team to understand the features enough to break them into tasks, estimate them, and get started.

    Prepare documentation to accompany delivery to your client allowing the client to understand what has been

    completed (and what was expected but hasn't yet been completed). When the system is mature enough to transition

    technical support to another group, document as much as the new group requires being successful.

    The solution to the challenge ofsuccessful documentation on agile projects, is adapting to a Model Centric

    Approach!

    Key Characteristic of McFadyens Onsite/Offshore Service Model:

    Stable Infrastructure

    Strong Onsite-Offshore Communications

    Use of the Industys Best ToolsRational Software

    Global Delivery Methodology Based on RUP

    Strategic Location

  • 8/6/2019 UML Aids in Offshore Model Communication

    8/12

    Use of the Industys Best Tools - Rational Software

    McFadyen uses the full suite of industry-leading IBM Rational Software tools to ensure the India operations

    efficiently build what the US client wants. These tools are designed to support globally distributed projects -attempting development without them is a risky venture. Rational Rose and RequisitePro are used to capture

    requirements and designs. Rational ClearCase is used to manage the source code across multiple development

    centers. All these tools have web accessible front-ends that allow client access to real-time information.

    Global Delivery Methodology Based on RUP

    For many years McFadyen has closely followed the Rational Unified Process (RUP) and has recently adopted it as a

    global delivery methodology. Integrating our modified RUP methodology with the full suite of Rational toolsprovides the optimal process for global software development projects.

    RFI Analysis from my Real time Project (Data Migration- Quantros Inc.)

    Example of Document Centric Approach:Data Migration Business Workflow:

    - Client provide requirements-Mapping Specs- Source Data Fields mapped to destination Fields as per Specs.

    - Analyzing the Source / Destination system and their structure- Analyzing the requirements / mapping specification and Data files.

    - Necessary Communication/ Follow-up with Quantros regarding Issues/ Clarification on the

    specifications- Apply ETL(Extract, Transform and Load) Processes: Currently this involves preparing

    reference table for Department, Event, Nature, Reasons, effects, additional event

    - Developing the XML mapping document to map source and destination systems(In house

    developed tool or methodology)- Developing necessary Oracle SQL constructs, PL/SQL constructs and JavaScript constructs to

    integrate or Interface with Kettle Tool.(Open source tool)

    - Unit Tests on Migrated Data with GUI Environment- Statistics on Migrated Records- Preparing the build and send to QA team.

    Issues Faced:

    - Several miss-assumptions by Onsite team.

    - Offshore team and Onsite team would get disconnected often.- Any new member had to be educated about the process several times

    - Explanation to Clients or Upper Management on the Details of the Process was not thateffective.

    Visual Representation Using Microsoft Visio to Explain the Business Work Flow:

    - More Clear Representation

    - Removes Ambiguity

    - Removes Errors

  • 8/6/2019 UML Aids in Offshore Model Communication

    9/12

    This is equivalent to the State Diagram of UML.

  • 8/6/2019 UML Aids in Offshore Model Communication

    10/12

    ClientProject(ORM,

    RPM, External)

    Obtain Data Extract fromClient

    Mapping Docs - Conceptualand Department Mapping -Reviewed by Client and

    Frozen

    MappingSpecialist Analyzethe Data Extractagainst Mapping

    AnyDiscrpancies

    Fix the gapand verifywith Client

    Dev Team analysethe data extract forspecial characters

    and formatting

    Any Issues

    Discuss with Clieand get clean extror fix at our end a

    Client notice

    Kick-off meeting with Devteam.

    Review the Mapping ,Application and Identify

    timelines

    Gather allrequired docsfrom Client

    Develop the XMLmapping and

    Scripts

    EnhanceApplication /Create

    new fields ifrequired

    CreateDepartment

    Mapping for Pilotfacility

    Migrate Pilot

    Facility to StageEnvironment

    Migration Specialist toprepare Audit Reports on

    Actual Data Migrated versusExpected

    ClientVerificaion

    Passed

    Migration Specialist toprepare Audit Reports on

    Actual Data Migratedversus Expected

    ClientVerificaion

    Passed

    Repeat abovesteps for

    each Facilityor batches offacilities

    Project Sign -off/Closure after all

    facilities aremigrated

    Yes

    NoNo

    Yes

    Yes

    No

    No

    Yes

  • 8/6/2019 UML Aids in Offshore Model Communication

    11/12

    Benefits Seen Immediately:- Assumptions by Onsite team Reduced and Saved lot of time.- Offshore team and Onsite team started getting connected well and was easy to bring them back

    during deviations.

    -Explanation to Clients or Upper Management on the Details of the Process was VERYEffective.

    Similarly Using the Use Case and Class Diagrams provided by UML increased effectiveness

    and showed very good results though could not be extensively used at our Organization due

    to Time and Resource Constraints.

    Summary:

    Project success means: If your customer is truly satisfied only then your project iscalled as successful project!

    Overcome Time and Communication Constraints involved in Offshore Model- Using

    UML Being one of the Major advantages these days.. Need extensive and diligent use of system modeling language to address system

    complexity and bridge Onsite and Offshore Communication gap.

    Extending UML offers a potential solution to provide robust system modeling

    capability

    Limitations/ Challenges:

    More Time consuming than Documentation

    Requiring Resources who have Knowledge of UML and the Tools that supportUML. Increasing Resource Cost to a Company.

    Increasing Infrastructure Costs. Offshore model- requiring Business Analysts Onsite

    The evolution of model based methodologies

    Acceptance of the model based approach by the Offshore Teams and customers

    Ability to integrate the SE models with other discipline-specific models (i.e.software, hardware, simulation and analysis, etc) Ensuring adequate infrastructure to support the use of models, including tools and

    training

    Continued adaptation and evolution of the modeling language.

    Conclusions:

    Moving from Document Centric to Model centric presented Advantages immediately: Ease of Understanding Better Understanding,

    Saved Time & Energy- Very critical for the Onsite team who need to OverlapWork times with Offshore team- performing Night shifts.

    UML provides a common language for describing software projects (Not just

    for

    developers).

  • 8/6/2019 UML Aids in Offshore Model Communication

    12/12

    Helps to define and understand the system. Increases efficiency and thus reduces costs and time-to-market.