Академический Документы
Профессиональный Документы
Культура Документы
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"?
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.
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
Activity Diagram
Use-Case Diagram
State-Machine Diagram
Object Diagram
Component Diagram
Deployment Diagram
Interaction Diagram
Sequence Diagram
Timing Diagram
Communication Diagram
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:
Communication Media Onsite Team Delivery Manager Face to Face Discussion Onsite Customer
Relationship Management
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
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
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
Helps to define and understand the system. Increases efficiency and thus reduces costs and time-to-market.