Вы находитесь на странице: 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 or software 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 and tools (e.g., improved communications, precision, ..) - Broad interest from tool vendors to provide SE modeling capability tools - Experience with my Real time in- house projects

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 Model Communication Challenges are more. My Focus is: How to Improve Insufficient resource/ Right talent Communication between Impossible deadlines Onsite and Offshore Poor communication Communication is critical in any project. Communication Need to be enhanced by good Documentation. Lack of focus Low morale Sponsor support Scope creep Lengthy 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

What is UML? Unified Modeling Language (UML) is a standardized general-purpose modeling language in the 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 large and 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 can develop 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, patterns and 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

UML Diagrams:
Diagram

Structural Diagram

Behavioral Diagram

Class Diagram

Package Diagram

Composite Structure Diagram

Activity Diagram

Use-Case Diagram

State-Machine Diagram

Object Diagram

Component Diagram

Deployment Diagram

Interaction Diagram

Protocol States Machines

Interaction Overview Diagram

Sequence Diagram

Timing Diagram

Communication Diagram

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

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 other means of communication so as to clear off any doubts that may arise. Off Shore Model:

Offshore Team Offshore Analyst

Communication Media Webcam, Webex, IM,


Deliverables Review

Communication Media Onsite Team Delivery Manager Face to Face Discussion Onsite Customer

Relationship Management

Analysis, Research, Re Engineering, Documentati on Up-Keep.

Video Recording.
Requirements Deliverables Sign-off

Being the Top Challenges: The more pressing need on Enhanced Documentation Methods 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, there are 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 side of 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.

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., improved Communications, 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 more difficult.

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 the system 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 your development 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 of successful 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

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 tools provides 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 that effective. Visual Representation Using Microsoft Visio to Explain the Business Work Flow: - More Clear Representation - Removes Ambiguity - Removes Errors

This is equivalent to the State Diagram of UML.

Client Project (ORM, RPM, External )

Gather all required docs from Client

Obtain Data Extract from Client

Mapping Specialist Analyze the Data Extract against Mapping Fix the gap and verify with Client Any Discrpancies No

Dev Team analyse the data extract for special characters and formatting Discuss with Client and get clean extract or fix at our end after Client notice Yes No

Any Issues

Yes

Mapping Docs - Conceptual and Department Mapping Reviewed by Client and Frozen

Kick -off meeting with Dev team. Review the Mapping , Application and Identify timelines

Migration Specialist to prepare Audit Reports on Actual Data Migrated versus Expected

Develop the XML mapping and Scripts Enhance Application /Create new fields if required No Create Department Mapping for Pilot facility Migrate Pilot Facility to Stage Environment Migration Specialist to prepare Audit Reports on Actual Data Migrated versus Expected Client Verificaion Passed Yes Migrate Pilot Facility to Production No

Client Verificaion Passed Yes Repeat above steps for each Facility or batches of facilities

Project Sign -off/ Closure after all facilities are migrated

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 VERY Effective. 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 is called 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 support UML. 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 Overlap Work times with Offshore team- performing Night shifts. UML provides a common language for describing software projects (Not just for developers).

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

Вам также может понравиться