Upload
ranjith-raghavan
View
227
Download
0
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.