Effect of Cultural Differences on Software Development A culture could be defined as the predominating attitudes and behaviour that characterizes the functioning of a group or organization. Through this paper we would like to address the effect of culture in the field of software development and one of the most commonly used model for development of a software Rapid Action Development (RAD). No matter what culture you are a part of; to develop software, a development model has to be followed. There are two different types of culture which affect the software development. 1.
Culture difference between countries – People from different geographies think, act and react differently. There is no scientific relation between how two different individuals think or act on a given situation or scenario. It requires careful planning and judgement when working with an individual from a different culture. Some things might be normal for us but may be offending to someone else. With the advent of IT, the world is fast turning into a global village, the distances are diminishing. In such a scenario it’s expected that our colleagues can be from any part of the world.
Hence it becomes all the more important to behave in a culturally sensitive manner. Negotiations with potential clients are more likely to succeed when concerned parties understand the reason for difference in view points. Fifty years ago, majority of the population lived in the same region they were born and employed in a single profession throughout their lives. The reality of working in a global company is almost the exact opposite. Employees of TCS interact and coordinate with colleagues in different time zones, in a foreign language and in global workgroups with members in distant countries.
In order to make cross-cultural global cooperation work, cross-cultural competencies must be strengthened. Cultural differences, which can be seen, tasted, felt, smelled or heard, are not the ones that cause difficulties. It is the invisible cultural differences that create misunderstandings – different value systems, attitudes, beliefs and expectations. To adopt a more customer centric approach, Tata Consultancy Services (TCS) is training all its employees to speak and understand at least one foreign language in a bid to become a global player in the knowledge sector.
The move is not only limited to learn a language but also to make them conversant with other soft skills like culture and etiquette of at least one foreign country. Considering the diversity in cultures, our own experience with a North American based bank can be taken as an example here. This North American bank and Tata Consultancy Services have matured processes. Though a model driven approach is followed in both the companies, certain cultural factors are observed during the Software Development Life Cycle.
Working in a multi-cultural environment for this North American bank has forced us to think about the cultural differences in software development. This bank is globalised in a true sense. We, Indians are currently working with colleagues from Greece, Sri Lanka, Russia, Romania and China. Where else would you get people of such diversity working towards one common goal of driving the business of the bank? 2. Culture of the organisation – Organisational culture lays out the values, beliefs, attitude and experience of a company. It may have been created unconsciously to align with the beliefs of the founder or top management personnel.
The organisational culture we would like to describe here is of Closed Source and Open Source software development companies. Both these streams have their own beliefs and end goals. Main objective of a Closed Source organisation is profit and that precisely is the motive that drives these organisations. There strategy revolves around expanding their customer base and increasing the value of there stocks on the contrary Open Source organisations are non commercial in nature and the developers who participate do more for creative satisfaction than anything else.
It’s just that the path they have chosen to conduct there business. Both the approaches have their own pros and cons. ? Model for Software Development The Rapid Application Development methodology was developed to respond to the need of delivering systems very quickly. Rapid Application Development, or RAD, began as a software development process developed in the 1980s. It is a methodology that involves iterative design, prototypes, and the use of CASE tools. RAD was designed as a response to previously limiting models, such as the waterfall method.
The culture of an organization is a critical success factor in its process improvement efforts. “Culture” includes a set of shared values and principles that guide the behaviors, activities, priorities, and decisions. Due to RAD’s focus on quick delivery, certain project characteristics need to exist to facilitate the RAD processes: 1. Scope – focused scope with well-defined business objectives 2. Data – data already exists and focus is on analyzing and reporting that data 3. Team Size – very small, 6 or less 4. Technical Architecture – in place and tested 5.
Technical Requirements – reasonable and within capabilities of technology being used Further, RAD requires management approval acceptance of certain tools, such as prototyping, iteration, and time boxing. Key Features of RAD RAD is composed of elements that are not new but are proven strategies. RAD differentiates itself from other systems analysis tools through its use of synergistic approaches based on the theory that the whole is greater than the sum of its parts. A. JAD – RAD utilizes facilitated workgroup sessions known as Joint Application Development sessions.
JAD sessions are crucial in that they allow impartial facilitators to become part of the design process without becoming involved in the design decisions. Further, the use of JAD sessions, within RAD atmosphere, has been shown to dramatically reduce development costs and development time JAD facilitates the ultimate communication sessions and results in increased development success. We expect that professional software developers know how to do the “thing” right. Doing the right thing, though, requires an unambiguous understanding of what your customer expects. Proficiency of the English language becomes a key for all part of the project.
Traditionally Business has been driven by market leaders like US and UK, by investing large sums of money in new ideas and emerging markets. Among India’s huge population of 1. 1 billion people, Hindi is the dominant and official language. Yet it’s important to note that, as a result of Britain’s long colonial involvement in India, an estimated 4% of the populace speaks English. This might not sound like much, but when you do the math, it turns out that you’re actually talking about 40+ million people, which makes India one of the largest English speaking countries in the world.
This is one of the major reasons for the growth of IT and the ability of software companies from India to deliver consistently on time and with acceptable quality. B. Incremental Development – Like JAD, incremental development is nothing new and was developed in the mid 1980’s. It’s believed that anything that passed 90 days of development missed the business opportunity window. The idea was to take the overall project and break it down into smaller pieces that can be analyzed, designed, and delivered incredibly faster than the original approach.
RAD uses the 80/20 rule, which says that 80% of the value can be delivered with 20% of the application. By focusing on the required 20% of the application they are able to deliver the product with lighting speed. Systems analysts take advantage of constant feedback with the use of incremental development. The incremental delivery of prototypes allows the user to easily communicate what they actually want to the analyst. Through the use of incremental development, the user and the analyst approach a level playing field in terms of system requirements.
With the growth of economies of the world, customers are aware about the complexities and with markets being opened up to globalization, the customer is able to convey his requirements to the analyst and this is translated to a solution C. Case Technology – Case technology is the third RAD element. Case has added new impetus to the JAD movement. With its emphasis on planning, analysis and design documentation capabilities, and a graphics language understood by both user and developer, Case both demands clearer communications and provides the idiom for it D. Small Teams-
The last key element of RAD is the use of small teams of highly skilled and motivated people. Common sense tells us that bright, motivated people are likely to be highly productive. The only problem is finding those people! RAD seems to be applicable to most IS environments. It is especially appropriate when requirements are not well understood or easily pre-specified, as with many so-called “front office” departmental computing applications. In contrast, applications that depend on algorithmic complexity or require significant pre-specification, such as aerospace and defence systems, probably lend themselves less well to RAD methods.
Management of RAD teams is by motivation towards achieving the optimum business solution. Those who see RAD as “seat-of-the-pants” development have missed its most critical aspects and will find themselves creating bad applications rapidly (or creating good applications without infrastructure, leading to bad systems and high maintenance overhead). RAD only makes sense after Case methods, JAD techniques and disciplined software processes have been established. 1. Effect of National Culture on Software development A. High Context Vs Low Context culture –
Tasks are broken down to a detailed level, within each project, with dependencies identified and risk associated with each of the task, Stakeholders and reviewers would come to a common platform to evaluate the tasks, the time assigned to each task, the perceived risk and the mitigation strategy to be adopted. Though this being one of the crucial aspects of the project lifecycle, the team has noticed that the discussion tends to be prolonged with some meeting attendees trying to digress the topic in hand to more trivial issues.
This is dependent on the project manager assigned to the project in guiding the team to delve into the more the tasks in hand and arriving at a logical decision point. A detailed discussion is carried out to implement any change in a truly low-context fashion. For we as Indians have a habit of assuming some things in a high context manner. This approach of targeting any issue in a detailed manner was the biggest difference in the initial days. All the stakeholders in a meeting narrate out their requirements and clearing out confusing details and finding out the real facts about something.
The first and foremost difference observed during our day to day life is the detail and model driven approach implemented in this bank. This detail driven approach tends to increase the timelines of software delivery but improves the quality a little. Quality is of utmost importance when it comes to building software’s for banking solutions, aviation, nuclear plant etc. At the start of a project itself the cost of quality should be determined as to much effort would be sufficient. An optimum level of quality if sufficient would reduce the timelines as well as save the cost of resources which could be utilised later for another initiative.
B. Personal Vs Professional life North American way of life tends to support a lifestyle to accommodate personal interests of an individual. Expanding ones hobbies, participating in cultural and outdoor activities apart from professional work. Life in the BRIC countries is more tuned to professional growth of an individual with respect to the socio-economic fabric in the society. Boom in the software and its ancillary divisions is contributing to the growth in the per capita income and has lessened the gap from the haves and the have-nots.
Job security in the BRIC countries is growing and is helping the individuals to build a life beyond their workstations. BRIC countries are now opening their market to the world, has brought in influx of capital, work culture from Multi national software companies. All said and done the economic structure of BRIC countries are still not mature enough to allow individual to look far beyond their professional boundaries. It is happening but will take some time before it becomes a part of life.
Being more inclined towards their professional life rather than personal the work force of BRIC countries delivers the same product as offered by Western country at a much reduced timeline as well as at a throw away price. This dedication though is having its toll on the work force which tend to be more unsatisfied with there job than there western counterparts. C. Income and Demographics Demography is observed to be playing an important role in the way the world is shifting work. The large impact of this change is observed on Information Systems. The average age of a professional is much more in western countries than in the BRIC countries.
Young work force in BRIC countries tend to pick up things faster, readily adapt to different situations and work environment and importantly are available at a relatively lower cost than those in developed countries The decline in working-age population and unavailability of resources on emerging technologies in developed countries is leading to a large shift of the work to the BRIC countries. A young resource in India can learn under the guided training programs and implement the emerging technologies with ease whereas the learning curve of an individual in a western country is much longer span of time.
Apart from this due to difference in the economic value of the currency of the western and BRIC countries, the companies in BRIC countries are able to provide same software solutions at a much lower cost as compared to the companies in developed countries. This is a win-win situation for both the client and the vendor, client is able to get solution at a cheaper cost and the vendor generates more revenues. D. Innovative approach The people in developed countries tend to be more innovative than the one’s in the BRIC countries. Being Innovative is encouraged and is a part of life.
With their stable economic background and sufficient fund to promote any aspiring talent they encourage a lot of research and development activities. Most of the new path breaking companies and softwares are developed by western countries. The work force of BRIC countries do not lack the talent but the problem lies in the economy of the country which still require international funds to cater to the needs of its growing population. The software companies in these countries tend to pick up service oriented assignments, as they can be easily executed and it brings in much required funds to develop the economy of the country.
Any innovation is these countries are mainly due to an inspired individual alone with little or no support from the government. We can take the example of a country like Israel which being so small in size still has a high innovation quotient. The North American bank for which we work has only two employees working in the performance test lab but still they have sanctioned a few million dollars to buy a quality centre tool. There were no long meetings or debate to discuss the viability of the adventure. Top management thought that the tool may be handy and hence they approved.
They could have done that only because they were backed by a department worth billions of dollars. 2. Organisational culture differences Since inception, Organisations have a culture where a hierarchical line of authority is maintained. These hierarchies have in fact ensured that work is done where the collective abilities the companies’ employees are harnessed and a finished product is thus deployed. Compare this against a massive online community in a virtual organization where the employees are spread across the globe, exploiting the power of communication and collaboration in a gigantic manner.
Millions of employees of a virtual organisations use blogs, wikis, chat rooms and personal broadcasting mediums to add their voice to a constructive medium of dialogue. Thanks to Internet, masses of people outside the boundaries of traditional hierarchies can innovate to produce content, goods and services. This paradigm shift in the culture of an organisation, vanishing of the hierarchies is having enormous impact on Software development as well. They contribute to this organisation thereby prepare a finished product – including cars, airplanes – which are perceived to be some of the most complex products.
Software majors in India including Tata Consultancy Services are handling the outsourced work of major aircraft manufactures. TCS has a blogosphere for its employees where more than a hundred thousand of its employees share their thoughts on various topics to guide the company to the next generation of software Development. This is a cultural shift started by the Open Source movement to challenge the monopoly of some players in the development and deployment of software. Thousands of employees of TCS collaborate in real time, exchange ideas with the CTO of the company reading and commenting on some of them.
One of the writers of this paper has more than 100 videos on the internet with three hundred thousand views so far and the number is growing day by day. Thanks to Internet, masses of people outside the boundaries of traditional hierarchies can innovate to produce content, goods and services. This paradigm shift in the culture of an organisation, vanishing of the hierarchies is having enormous impact on Software development as well. They contribute to this organisation thereby prepare a finished product – including cars, airplanes – which are perceived to be some of the most complex products.
Below we compare some of the features of an Open Source vs. Closed Source culture. A. Open Source projects TCS using Open Source Culture to its full potential The firm of the future needs to be a people-intensive firm. In the new Open Source culture, managers need to give due consideration to future threats and depend more than ever on human imagination, creativity and initiative. Twenty First Century Software majors in India including Tata Consultancy Services are handling the outsourced work of major aircraft manufactures.
This aircraft manufacturing major has taken the collaboration to a new level by engaging its peer in a real time manner. Firm of the Future The organisation that will excel in the next generation will be the one that recognises information as a major resource and knowledge as an important structure in and of itself. This organisation will use information and knowledge as efficiently as it does its other resources and assets. The difference between success and failure in an Open Culture will be about sharing enough of the right information about designs and methods.
The intellectual and knowledge management will be the toughest challenges for the firms in the coming years. Information is a resource like money and material. It has a cost and value. It is less understood because it is less tangible. The unique character of information is that its supply is useless. The future firms need to fathom this fact that information becomes more valuable with use and when properly applied can greatly enhance the use of other resources. A big chunk of the workforce for these companies will come from Generation Y (Born between 1980 and 1995).
The Gen Y associate on an average would have better exposure to emerging trends and would have a global outlook. As the Global Delivery Model for the software firms matures, the employees of such companies would increasingly find themselves working in culturally diverse distributed teams. While this is an exception today, soon this can become the norm. Collaborative Software Development platforms can become a norm and accelerate this trend. Thus the firm of the future and in particular the software firm needs to inculcate the open source culture as it is here to stay.
The changing demographics, advent of internet, the collaborative features of Web2. 0 will give way to new ways of working and collaborating. The cultural inertia has to fade off to stay in the competition. We won’t be surprised if TCS employees start introducing themselves as “I am a TCSer working in project XYZ and member of the TCS Java and oracle blogging community”. These informal affiliations can gain enterprise wide legitimacy. Advantages of the mass collaboration culture ?Reduction of Cost: One of the foremost advantages of adopting the Open culture is its monetary benefits.
The sole and whole purpose of driving this cultural change, fading off the cultural inertia and adopting new ways of developing the same thing is that it reduces cost for companies who are adopting and driving this change. For IBM alone who along with Red Hat was one of the few companies to join the Open source bandwagon, the cost reduction is $900 million annually. Self-organised Operating System like Linux marshals the efforts of thousands of scattered individuals, sometimes in miraculous ways. ?More user involvement: Let us take an example of user involvement from the Mozilla Firefox Internet browser.
After the elimination of Netscape, Microsoft has not experienced any real competition in the web browser market. But now, the introduction of Mozilla Firefox, an open source Web browser that allows users to alter the code and create plug-ins and customized extensions that the users can download. We put on our thinking hats on for the TCS web mail which we use extensively. Some of the major disadvantages observed in the web mail are that •The user interface is clunky in that it is poorly designed from a user perspective. •The UI has several unused features.
So the TCS innovation lab came up with a script which quickly put together a script that runs this into this as illustrated in the screen prints below. ? ? Not to mention this is only applicable to an Open source browser like Mozilla firefox which hinges on the user creativity and imagination. This might act as a starting point where many of the internal One might be tempted to question the whole deal behind this small example given above. The big deal is that the future of software development lies in delivering Service Oriented, semantically correct systems that allow end users to tweak their user experience.
So what else is possible for TCS like Software Development companies in the future? •Project Leader specific customizations and generation of reports. •Bringing the timesheet page on the front page of the internal website on Fridays only. •Right click Employee Number and be presented with a palette of information such as “Lowest/Highest rating received by the employee”, “Employee basic information”. This shows that if one does not stay current with the users, they invent around you, creating opportunities for competitors. ?More power to the end user
In the software industry, publishing code on the internet has enabled companies to focus the shift to applications, integration and services. By using peer production to involve way more people who are external to the organisations, a futuristic firm can develop customer solutions in a smart way. Without the Open source culture, we would just have a set of monopolies, creating what can be termed as “Feudalism in Software“. Understanding and applying this new culture to competitiveness means dispelling the cultural inertia. Collectively, these examples suggest a range of ways in which peer production creates value and competitive advantage.
Challenges to the Open Source culture: Critics of Open Source culture have always argued that it will no longer be clear who owns what or how individuals and companies will profit from their creations. The challenge lies how does a company manage its information sensitive resources in a way it does give enough freedom to the user to expand his horizons. But also keeps the essential features with the company itself so as to benefit from it. The pioneer of the Apache web server – which currently powers 70 percent of all Web sites – Brian Behlendorf did not make a dime off it!
But truly speaking, the inventors never intended to make money out of it. Thus embracing this new culture of Open Source means new ways of wealth creation, new ways to innovate and developing software at an accelerated rate. B. Proprietary or Closed Source System: Another approach for providing software solution is Closed source or proprietary system. It could be defined as “a system in which the specifications are kept proprietary or closed to prevent third party hardware of software to be used. It has a restriction on copying and modification. Restriction could be either legal or technical.
Legal restriction is like software licensing, copyrights etc. Technical restrictions are usually implemented by releasing only machine readable format instead of complete source code. “ The following below listed points lists down its various features which in turn affects software development. •Innovation driven by motivation – As opposed to an open source project a closed source initiative generates more revenues due to licensing, patents of software etc. Over a long term higher revenue implies having a dedicated team of developers motivated which otherwise becomes difficult in open source as it’s not a money spinner. Mission critical projects – Traditionally open source software are considered to be more secure as the source code is reviewed by thousands of tech savvy developers. Though this holds true in many cases but still mission and time critical projects prefer a closed source. Any tweak in that code can cost severe damage to the society and country. For example software of a jet liner or a nuclear reactor has to be a closed source. It simply cannot be risked to use an open source for them. •Stable development environment – Closed source projects are usually developed in a stable environment. It has enough potential in it o take all the variables into consideration and tie it all together so that it just acts as a piece of hardware. A closed source initiative iphone has had only one release till now whereas linux has had hundreds of upgrades. The environment is turbulent for open source initiatives to focus on its criteria •Contractual agreement – Before opting for a closed source solution a potential client has to make a decision about the money to be spent and the amount of transparency they require. A closed source will tie them with an agreement; they won’t have any access to the source code as well. Vendor support – Proprietary software provides proper vendor support, they generally have a dedicated helpdesk assigned to address public queries and issues. Proprietary solution also comes along with proper documentation as well which helps the customers to do some debugging themselves and also makes them aware of the different features and configuration of the system. The vendor is bound by contractual agreement to provide adequate documentation and support •Better life cycle – Closed source projects usually have a better development life cycle. It has a dedicated team of developers working towards a common goal.
They also have a separate test labs to ensure performance and functionality of the application. This difference becomes more glaring when the code grows to millions of lines; it becomes difficult for naked eye to identify and fix a problem and adjudicate the effect of that fix on other portions of code. It requires proper automated debugging tool. This kind of a setup is difficult for an open source company to acquire. •Security – Being transparent causes open source system to be more secured as it is reviewed by thousands of developers but being obscure provides a different kind of a security to closed source system.
It protects the codes from potential hackers. They are not able to read the code and figure out the loop holes. Take the example of an anti virus software. If the source code of that is released for everyone to review the hackers and virus programs will just paralyse the entire computer industry. •User interface requirement – A project which requires a good and intuitive interface should go for a proprietary product. Especially if the users are not that well versed with the computer culture. We can take the example of Windows or MAC OS which automatically creates a wow from the user just because of their user friendliness.
Even for a novice user they are not that hard to figure out. Now compare this to a KDE or Gnome shell which might make a new user scratch their head off. Precisely because of this UNIX is more used at the back end. •Driven by an end target – A project developed in closed source is usually with a end goal in mind. They align all there activities towards achieving the end result. For open source products there is a tendency of the developers to code keeping themselves in mind. They don’t consider that whatever is intuitive to them may not be to others. Budget constraint – A closed source initiative have a finite amount of budget, depending upon the intermediate milestones achieved, political acumen of the project lead that can vary whereas an open source initiative depends on how much time its developers can dedicate. For long running projects with no real monetary benefit it becomes difficult to keep the developers interested. •Scheduling – Closed source projects have predefined schedules which may be altered according to market conditions or to coincide with any event. Strategic marketing – A proprietary software has a separate marketing team looking in to build the hype and increasing the curiosity of the potential customers. It gives sort of a head start to such projects. •Organisational limitations – A proprietary product can suffer from organisational limitations. In a corporate environment there are a lot of senior management level people making decisions on the behalf of the developers. The framework to use, the language to code in, data base to use, architecture to be followed. The developers are stuck with the choice that has been made on their behalf. Quality of resource – A developer working on a closed source project might have been chosen for reasons other than technical skills. The reason maybe the seniority of the resource, their relationship with a top management official etc. This problem is usually not observed in a resource working on an open source project as most of the resources themselves have self volunteered for work. It mostly consists of motivated workforce who works for fame rather than money. •User limitations – Commercial or closed source products tends to balance the demand of its user base with the goal of increasing shareholders value.
They tend to view things from the profit perspective. Their end motive is to generate revenue for the company whereas open source developers are free from this restriction and can concentrate on satisfying the needs of its user base. Their approach is non-commercial in nature. •Market limitations – Being profit minded; closed source organisations tend to include a lot of features on their product just to attract potential client. With time, the point of interest can shift towards those additional features which may not necessarily be part of original requirement. This may incur additional time and money. External factors affecting the end goal – There maybe other external factors apart from the user requirement which may change the features or the way a product is supposed to work. There might be constraint to be backward compatible or to be compatible from other applications from the same stable or a top management thinks otherwise of the way the software is supposed to work. ? 3. References 1. Wikinomics – Dan Tapscott and Anthony Williams 2. The IT Revolution in India – F. C. Kohli 3. The World is Flat – Thomas L. Friedman 4. Dreaming with BRICs: The path to 2050. A Global Economics paper by Roopa Purushottam and Dominic Wilson