"±â¾÷" Á¾·ù¸¦ À§ÇÑ ±â·Ï º¸°ü¼Ò

¼ÒÇÁÆ®¿þ¾î °³¹ßÀ» ¿ÜºÎ¿¡¼­ Á¶´ÞÇÒ °æ¿ì ¿äÇÏ´Â º¸´Ù´Â ÀÌÀ¯ ´õ

-->

À§¿¡ ¾îÁ¦ Æ÷½ºÆ® ¶³¾îÁ® ½Å¼±ÇÑ oDesk´Â Åë°è¸¦ ¿ÜºÎ¿¡¼­ Á¶´ÞÇÑ´Ù ¶Ç ´Ù¸¥ Àç¹ÌÀÖ´Â ±â»ç´Â ¿©±â¿¡¼­ ÄÑÁ® ÀÖ´Ù ÇÏûÇÔÀÇ Áø½ÇÇÑ ÀáÀç·ÂÀ» ±ú´ÝÁö ¾Ê±â:

`´Â ÇÏûÇÔÀÇ Áø½ÇÇÑ ÀáÀç·Â ´Þ¼ºµÇ°í ÀÖÁö ¾Ê´Ù ±×¸®°í ¿ì¸®´Â ¾ÆÁ÷µµ ³ëµ¿ ½Ã¼¼Â÷¸¦ ÀÌ¿ëÇÑ µÇ³Ñ±â±â °Å·¡ ¹× °¡°Ý ÇÒÀÎÀÇ Á¼Àº ¼Û±Ý¿¡ ÃÊÁ¡À» º¸°í ÀÖ´Ù. Àü¹ÝÀûÀÎ ¿ì¸®ÀÇ Á¶»ç´Â ³³Ç°¾÷ÀÚÀÇ ¼÷·Ã°ø¿¡°Ô °¡°Ý ÇÒÀÎ ±×¸®°í Á¢±Ù¿¡ °­Á¶°¡ ÇÏûÇÔ °ü°èÀÇ ÀáÀçÀûÀÎ À̵æÀÇ Á¼Àº ÀǰßÀ» °¡Áö´Â Á¶´Þ µ¿ÂÊÀ¸·Î ÇâÇÏ°Ô ÇÑ »ç°í ¹æ½ÄÀ» °è½ÃÇѤ¤´Ù´Â °ÍÀ» º¸¿©ÁØ´Ù. ÇѸ¶µð·Î ¸»Çϸé, ȸ»ç´Â ³Ê¹« ³·°Ô Á¶ÁØÇϰí ÀÖ´Ù.'

³ª´Â ÀÌ »ý°¢À» ¹ÝÇâÇÑ´Ù.  ³ªÀÇ °æÇè¿¡¼­´Â, ´ç½ÅÀº ¸¦ ¿ä±¸Çϰí ÀÖ´Ù ±ä ±â°£ headaches when the outsourcing strategy is based solely on costing costs.


±ÙÇØ ¼ÒÇÁÆ®¿þ¾î °³¹ßÀ» ó¸®ÇÏ´Â °ÍÀ» µµ¿ï °ÍÀÌ´Ù °ø±¸

¾î¶² ¼ÒÇÁÆ®¿þ¾î ÇÁ·ÎÁ§Æ®µçÁö¿¡¼­´Â, ¼ÒÇÁÆ®¿þ¾î °³¹ß ³ëµ¿ ºÐ´ë´Â ´ÜÁö 30%¿¡¼­ ÃѰæºñÀÇ 50%¸¦ ´ëÇ¥ÇÑ´Ù. As for the total cost, it is taken away by project management, analysis and design, testing, and ancillary activities, such as, management and environment preparation. This is why the cost savings on offshore projects are not more than 15% to 25% of the total project cost. You will never find a return of 100% to 200% on such projects, unless the project has been well defined and specified, and the design has been prepared with details. You will often find the offshore software development organization claiming such returns on projects outsourced to them. Never-the-less, the 25% saving on your cost of the total project can be quite a significant amount.

To achieve success in offshore software development projects, the most vital part is the requirement of a failsafe communication system. It is very important that the communication is kept alive between you and your offshore partner(s), so that information can be exchanged and related matters are sorted out. If this synchronized effort is not ensured at first, the success of the project will be doubtful. Your communication strategy needs to be well defined, and such strategies should include communication tools, such as conference calls, video conferencing, wikis, bug tracking, and continuous integration build servers and a source control repository. Here we will have a brief look at some of these tools:

Conference calls/Video Conferencing - There should be a routine conference call set up between your team and the team from your offshore company. In here too a schedule needs to be set up, ensuring that conferences start and end at specified time. The issues discussed should be well documented to be referred to later.

If you have an access to a video conferencing system, it would become a highly desired facility in such scenarios. However, true video conferencing equipment would require high bandwidth, unlike the $100 web cams which are increasingly used for such conferencing. Setting up video conferencing and its operation is costly, and this conferencing could perhaps be scheduled once a week.

Wiki/Whiteboard/RSS - You would need collaborative development effort in any project outsourced offshore. Ideally the ¡°white-board¡± solution is quite effective in solving different kinds of technical issues. This allows both the parties to work on a common document structure, hence following the same method of representing their status regarding the project.

Continuous Integration and Bug Tracking – You need to a way for all team members to immediately, at any time, know the status of the project from the code perspective.   Two ways this can be facilitated is through a continuous integration build server and the implementation and diligent maintenance of bug tracking/automated test results.

Source Control Repository - A document repository is a part of an important tool for providing communication between the onsite and offshore teams. This repository should be accessible by both the teams 24 hours, 7 days a week, remembering that your offshore team will be working when you will have nights. The repository should preferably have a secured access, with each identified members having their own username and password.

You probably noticed the exclusion of email and instant messenger (IM) as tools?  Of course, I do not suggest you remove these applications entirely.  But offshore software development teams tend to quickly rely on them too much.  When information is exchanged across email or IM, the knowledge contained in the communication is buried.  Using these tools appears to be a time saver on the surface.  However, in the longer term, in the exchange of emails/IM becomes a burden and time waster when attempting to reference previous communication dialog.


True Benefits of Outsourcing Software Development

The turning point for many companies to start outsourcing their work was the current competitive trend of delivering professional world class quality, on time, work at cost effective prices. Many firms prefer to outsource their software projects offshore. There are many ideal benefits to suit your specific process-centric requirements.

True Benefits of outsourcing software development :

B2B & B2C¡¯s growing momentum has quickened the pace for more powerful world class, streamlined comprehensive, off shore software outsourcing. Benefits of out sourcing software development:

  • Customer-centric approach of delivery.
  • World class professional skills and expertise to suit your process-centric requirements.
  • Establishment of both or either a technical or call centre.
  • Internet promotion and advertisement with SEO services at cost effective prices.
  • Feature-rich one stop process-centric service centre.
  • Variety of domains of highly skilled personnel with quicker time to market innovative techniques.
  • Flexible websites with free periodical updates using only the latest technology.

Why India?

An annual Asia-Pacific survey of more than 500 companies, according to Hewitt Associates, reported that India had gains of 12.8% & 13.7% last year for positions labeled IT solutions provider & software development. It has also been proved that around 80% of the offshore outsourcing work is done in India.

Why do many of the American & UK companies come to India than its competitors China & Romania?

  • India has a larger English speaking population.
  • India also has a lot of historical ties to the western countries, which ensures better interactive and prompt technical delivery to suit your customer-centric needs.
  • Labor costs are relatively lower.
  • Due to the economic vitality, the standard as well as the cost of living was on the increase with the new offshore software outsourcing projects.
  • It has also helped in the rapid creation of a technological market.
  • The demand for more IT Professionals was meet in a streamlined approach.

India is currently considered the hub when it comes to offshore outsourcing in all the various spheres of a growing as well as a developed economy. Its feature-rich innovative techniques ensure credibility and a definite boost for their company profile in the market.


What is Agile Software Development?

Agile software development is a framework utilized software development projects. It was born out of frustration within traditional project management activities. According to Wikipedia:

The modern definition of agile software development evolved in the mid 1990s as part of a reaction against ¡°heavyweight¡± methods, as typified by a heavily regulated, regimented, micro-managed use of the waterfall model of development. The processes originating from this use of the waterfall model were seen as bureaucratic, slow, demeaning, and inconsistent with the ways that software engineers actually perform effective work.

The objective when implementing an agile methodology is to minimize risks in software development. Within all agile software development methodologies, there are common principles. The Agile Alliance lists the following principles in the Agile Manifesto:

* Customer satisfaction by rapid, continuous delivery of useful software
* Working software is delivered frequently (weeks rather than months)
* Working software is the principal measure of progress
* Even late changes in requirements are welcomed
* Close, daily, cooperation between business people and developers
* Face-to-face conversation is the best form of communication
* Projects are built around motivated individuals, who should be trusted
* Continuous attention to technical excellence and good design
* Simplicity
* Self-organizing teams
* Regular adaptation to changing circumstances

There are many disciplines that fall within the agile software development umbrella. Some well known agile software development methodologies include Scrum, Crystal Clear, Lean, Extreme Programming (XP), Adaptive Software Development, Feature Driven Development, and DSDM.

Agile Software Development Status
Agile Software Development is often contrasted to the most prevalent software development model: Waterfall. According to a study from ACM:

¡°It is both surprising and disappointing, then, that in a survey of almost 200 practitioners, accounting for several thousands of projects over the past five years, the dominant process model reported was the Waterfall, with more than a third claiming its use.5 This result raises a question: Do practicing professionals know the Waterfall when they see it? Perhaps they are confusing it with other process models. This seems unlikely, but so does its dominance. It¡¯s more likely that in many circumstances, doing the wrong thing is easier than doing the right thing—and this is not a recipe for success¡±

Where to Learn More

AgileAlliance
Using Agile in Offshore Development
Agile Software Development Articles

Recommended Books

Agile Software Development (Wikipedia)


SCJP 5.0 Certification Preparation

by Ganesan

SCJP 5.0 - Carving a well qualified Java Tiger ProgrammerSun Microsystems offers many certifications starting from programmer level to architect level. The latest version of programmer (SCJP) exam is SCJP 5.0 - Sun Certified Programmer for the Java 2 Platform, Standard Edition 5.0 (CX-310-055). Sun started calling SCJP 5.0 instead SCJP 1.5 from this new version.

Achieving this certification provides clear evidence that a programmer understands the basic syntax and structure of the Java programming language based on new syntax introduced in SCJP 5.0. The certified programmer can create Java technology applications that run on server and desktop systems using J2SE 5.0 ( Java Tiger). Java Tiger is the another name of J2SE 5.0.

NOTE: The external version number of this release is 5.0 and its internal version number is 1.5.0.

What is new in Java Tiger ? Changes include generic types, metadata, autoboxing, an enhanced for loop, enumerated types, static import, C style formatted input/output, variable arguments, concurrency utilities, and simpler RMI interface generation.

Wow ! Thanks to Sun Microsystems for providing such a valuable features for Java Programmers. So, if you decided to take Sun Java Programmer certification (SCJP) go ahead with SCJP 5.0 and be a Java Tiger Certified Programmer and enjoy the benefits of new features.

Changes in Exam Objectives from SCJP 1.4 to SCJP 5.0

SCJP 1.4 Section 1: Declarations and Access Control Section 2: Flow control, Assertions, and Exception Handling Section 3: Garbage Collection Section 4: Language Fundamentals Section 5: Operators and Assignments Section 6: Overloading, Overriding, Runtime Type and Object Orientation Section 7: Threads Section 8: Fundamental Classes in the java.lang Package Section 9: The Collections Framework SCJP 5.0 Section 1: Declarations, Initialization and Scoping Section 2: Flow Control Section 3: API Contents Section 4: Concurrency Section 5: OO Concepts Section 6: Collections / Generics Section 7: Fundamentals Is SCJP 5.0 easy compared to SCJP 1.4 as it has limited number of sections? No, most of the concepts are new in SCJP 5.0. Some of them are not related with SCJP 1.4.

SCJP 5.0 Exam Details Delivered at: Authorized Worldwide Prometric Testing Centers Prerequisites: None Other exams/assignments required for this certification: None Exam type: Multiple choice and drag and drop Number of questions: 72 Pass score: 59% (43 of 72 questions) Time limit: 175 minutes

After completion of SCJP 5.0 exam you are familiar with Java Tiger concepts like generic types, metadata, auto boxing, an enhanced for loop, enumerated types, static import, variable arguments, etc.

How long I need to prepare for this exam? The answer is it depends on your current knowledge in Java programming and OO Concepts. You may get an approximate estimation from EPractize Labs SCJP 5.0 Preparation Time Calculator.

How to start? Where to start? First go to Sun¡¯s website and understand the exam objectives. http://www.sun.com/training/catalog/courses/CX-310-055.xml Plan for your preparation. If needed calculate an estimation from EPractize Labs SCJP 5.0 Preparation Time Calculator. Identify your weak areas based on the exam objectives. Set more focus on those topics. Study and workout the program examples. Practice with mock exams and see where you are. Continue your practice till you achieve your goal. Achieve your SCJP 5.0 certificate and share your success WITH YOUR FRIENDS AND COLLEAGUES! Recommended SCJP 5.0 Exam Preparation Kit

Use SCJP 5.0 Exam EPractize Labs - Personal Edition for empowering your preparation by PPA-1(Plan, Practize, Achieve) methodology.

SCJP 5.0 Certification Benefits

For the Individual Clear evidence that you are a Java Tiger programmer. The certification empowers in driving Java Programming based on J2SE 5.0. SCJP 5.0 certified programmers can easily design and develop the code based on J2SE 5.0. Being a SCJP 5.0 certified programmer helps you to improve your career potential, gain more respect, boost up your job security and opportunities. With SCJP 5.0 certified programmer, you become more competitive in the job market.

For the organization Enables management to distinguish SCJP 5.0 certified programmer as Java professionals who can develop quality code efficiently and effectively. Helps in deciding the best development APIs or Java Components based on latest J2SE APIs. More confidence to work on Java Code technical decisions with business partners. Enables project team to get best coding practices and guidance from a qualified Java Programmer.

Good Luck !

About the Author

Ganesan - CEO & CTO, EPractize Labs Software. Has more than 7 years of experience in architecting and designing small scale to high scale enterprise applications in various domains using Java/J2EE Technologies.