|
|
|||||||
| Home Page |
|||||||
The OSD Development Process- a justification for doing it right the first time. Change is the only constant in life. Change defines the complex and challenging undertakings of software development. Even the ‘soft’ in software presents the misguided impression that software can be and should be easily changed. This is a reality that all project managers, team leaders, developers, clients and users must be aware of and learn to live with. This reality is especially more prevalent in offshore software development where the added challenges presented by geographic distances, cultural differences, language barriers, and domain knowledge deficits between clients and software developer makes communicating changes even harder, and more frequent. Without being accommodating change or controlling it successfully, offshore development projects will most likely run late and over budget. Refactoring is one technique that can be used to accommodate and manage change in offshore development projects. Refactoring helps to maintain the quality of software in the face of changing requirements. It is a disciplined way of restructuring source code without changing the external behavior of the software. In short, it is about cleaning code, in a way which does not introduce bugs, but improves the changeability, maintainability, and understandability of source code. Although Refactoring is a widely known discipline, it is not widely used. The impetus is due to the business pressures on project managers, CIOs and other high level technical managers. They believe that Refactoring wastes valuable time and resources, where in fact it actually is time-saving and cost-saving. Most developers understand the benefits of Refactoring, as they know that it makes their programming tasks much easier, but they don’t Refactor because they are not given the time and encouragement by their project managers, team leaders or even clients to Refactor. High-level technical managers must account for Refactoring in their effort estimates. In fact, they must go further than that and encourage and demand that Refactoring be the technique that should be used by developers to continuously improve the quality of their work. No longer must the development management team view that the developer’s job is to just add ‘new features’ to the software. Using Refactoring, the software code will see many benefits, which will ultimately lead to shorter development cycles, lower costs and improved ROI in offshore development projects. 2. The Moving Target Problem According to research by the Gartner IT consulting firm , the failure rate for offshore projects is about 50 percent. In another study, only 33 percent received a satisfaction rating. This generally poor performance manifests itself in projects being:
Although poor results are not unique to outsource projects, they are prevalent because of the challenges that outsource projects presents. Geographic dislocation, cultural differences, language barriers, and domain knowledge deficits between clients and software developer are just some of the causes of problems which when not managed and controlled appropriately will lead to these project failures. One of the primary causes of these failures is constantly changing requirements. Also known as the ‘moving target’ problem, changes in what is expected of the software while it is in development causes projects to run late and over time. If not managed and controlled in a disciplined way, and especially if under time pressures, developers and managers will adopt the management’s push to“just get the job done”. This inevitably leads to decay in the software quality and results in the software being difficult to maintain. Why do requirements constantly change?. There are a number of factors that can cause changes in the requirements of software.
o It could be because of language barriers and cultural differences that can lead to misunderstandings.
3. Refactoring to the Rescue One effective solution gaining widespread recognition to effectively manage and control ever-changing requirements in offshore development projects is to use Refactoring in an Agile development process. Refactoring uses small steps in changing code so to minimize the introduction of bugs while restructuring the code. The changes can result in small changes, such as the renaming of a method, to larger changes, such as the separation of domain code from presentation code. Essentially, Refactoring seeks to clean code by removing duplicate code, breaking-up long methods and classes, isolating changes to one area, removing dependencies in code and even removing the necessity for large comments. Refactoring aims to achieve the following benefits:
A particular recent experience we had where Refactoring was a critical factor in the success of a project was in the development of a tourism portal commissioned by a Vietnamese entrepreneur who is also a popular Vietnamese TV personality. Being the dynamic and enthusiastic client that he was, he almost daily had new ideas and requests which he would communicate with us at any time of the day or night. Knowing he wasn’t a typical client we have dealt with before, one who was not technically knowledgeable, we prepared our team early on to expect many change requests. Our team practiced, at every opportunity possible, Refactoring to ensure that the system maintained openness and flexibility. This helped to ensure that the project was delivered on time, with all the requests by the client fully satisfied. 4. Conclusion Change is an inevitable part of life. This is especially true in the life of an offshore developer where geographic disparity is more pronounced and further impacts on the challenges of managing changing user requirements. Refactoring has been proven as a valuable tool in managing and controlling user requirements. It has also been shown to produce the higher quality software that offshore providers need to compete with now that lower operating costs are no longer the only determinant in the decision to engage their services. With Refactoring, offshore software companies can face head on the winds of change and their clients can rest assure they will get the right product, when they want it, at the price they want it. 5. About Orient Software Development Corporation Orient Software Development Corporation (OSD) specializes in providing state-of-the-art software solutions and services which are cost-effective, of high-quality and exceed our customer expectations. Orient Software is a Vietnam-based company comprised of a workforce of talented, dedicated, and experienced software professionals managed by internationally experienced project managers. Orient Software provides leading-edge, yet practical solutions to its customers with the advantage they seek to succeed over their competition. Our customers are our partners, collaborating with us in the development of solutions that directly add value to their business to drive their ONGOING SUCCESS. Contact: Ms. Doanh Nguyen: Sales Email: sales@blueball.com.vn Sales Representative International Marketing Department Blue Ball Co. Ltd. Thailand 252/94 Muang Thai - Phatra Complex Tower 2, 17th floor, Ratchadapisek Rd. Huay Kwang, Bangkok, Thailand Fax: +66 2 6932941 Vietnam Quang Trung Software City
Rate this Article:
Current: 0 / 5 stars - 0 vote(s).
Article Tags: Software, Technology, Company, Website, Design, Solution, Network, Asia, Ajax, Outsourcing, Outsource, Programs, Offshoring, Outsourced Article Source: http://www.articlesbase.com/programming-articles/the-osd-development-process-509272.html About the Author:
Find IT">http://www.blueballgroup.com/html/outsourcing.html\">IT programmers and more useful information about software partner program on Information technology.
Related ArticlesHow to Choose the Best Software Development Company Microsoft Making Moves in the Desktop Virtualization Space Pointers to Designing a Successful Website Will Your Website Pull Its Own Weight? Sourcing Superstars: Pramod Bhasin, Genpact Attention Authors and Writers: Looking for Article Sites? The Web 2.0 Effect: the Characteristics of a Web2.0 Website 7 Simple Rules of Creating a Text for a Web Site Got a Question? Ask.Ask the community a question about this article:Frequently Asked Questions Joe's Dilema My friend bought a test management system just ... I have Comcast Cable internet service, can I use ... What is pc software What Kind of plan is this? What is meant by content for Inspiration softawre Latest Programming ArticlesCool Desktop Wallpapers Tips for Buying Software Online Mvc Design Pattern Advantages of Low Cost Contract Programmers in Freelance Programming A Guide to Cnc Kits A Guide to Cnc Tube Bending Machines Ways to Hire Dedicated Php Programmers Top 4 Reasons Why Addressing Web Accessibility is Important More from Tlahui CalvaOutsource Vietnam - the Emerging Software Outsourcing Destination Choosing the Right Lamp Experience With Home Decoration Blueball Company, Ltd - Advantage of Offshore Outsourcing |
|||||||
|
Article Categories
|
|||||||
|
|
|||||||