Free Essay

Article on Software Development

In:

Submitted By aizat890801
Words 534
Pages 3
If anyone knows the joys and sorrows of managing software development projects, it would be Linus Torvalds, creator of the world's most popular open-source software program: the Linux operating system. For more than 20 years, Torvalds has been directing thousands of developers to improve the open source OS. He and I sat down to talk about effective techniques in running large-scale distributed programming teams – and the things that don’t work, too.

LinusPortland-560.gif Torvalds says there are two things that people very commonly get completely wrong, both at an individual developer level and at companies.

“The first thing is thinking that you can throw things out there and ask people to help,” when it comes to open-source software development, he says. “That's not how it works. You make it public, and then you assume that you'll have to do all the work, and ask people to come up with suggestions of what you should do, not what they should do. Maybe they'll start helping eventually, but you should start off with the assumption that you're going to be the one maintaining it and ready to do all the work.”

Torvalds continues, “If you start off with some ‘kumba-ya feeling’ where you think people from all the world are going to come together to make a better world by working together on your project, you probably won't be going very far.”

“The other thing—and it's kind of related—that people seem to get wrong is to think that the code they write is what matters,” says Torvalds. Most software development managers have seen this one. “No, even if you wrote 100% of the code, and even if you are the best programmer in the world and will never need any help with the project at all, the thing that really matters is the users of the code. The code itself is unimportant; the project is only as useful as people actually find it.”

I'll add at this point that this isn't just a programmer problem. I've seen entire companies get locked into the idea that “perfecting” the program was everything. They then neglected what the users wanted from the program, supporting the users and so on. Most of us who've been in the business for a while have seen this cycle play out over and over again.

Expanding on that second point, Torvalds says that's why the Linux kernel team is “so very anal about the whole ‘no regressions’ thing, for example. Breaking the user experience in order to ‘fix’ something is a totally broken concept; you cannot do it. If you break the user experience, you may feel that you have ‘fixed’ something in the code, but if you fixed it by breaking the user, you just violated that second point; you thought the code was more important than the user. Which is not true.”

Torvalds concludes, “Way too many projects seem to think that the code is more important than the user, and they break things left and right, and they don't apologize for it, because they feel that they are ‘fixing’ the code and doing the right thing.”

To that I can only add “Amen!”

Similar Documents

Premium Essay

Computer-Aided Software Development Process Design

...precisely Computer Software Development which is the process of writing and coding a software or application for a business or corporation. I chose to do some research on new topics and methods introduced to successfully finish a software project. Here is the outcome of my research on the “Computer-Aided Software Development Process Design”. To begin, the software development process faces many problems such as; the project manager providing insufficient time and resources, changes in the customers’ requirements for the software, and lower than expected productivity by the project staff. The objective is to develop a computerized intelligent tool that project managers can use in effective planning and management of the development process. This tool will provide day-to-day updates on the actual data generated for the project. Dr. Yau and Dr.Tsai presented this as an approach to facilitate the validity and integrity checking of the interconnection among software components during software development or modification. Afterwards, Dr. Matsumura proposed the CASDS, or computer-aided software design system, which uses three structural modeling methods to determine a software design from software requirements. Another system was introduced later in the article by Horowitz and Williamson, named SODOS, which supports the manipulation of documents used in developing software. This system permits traceability through all phases of the software life. I found this article very fascinating...

Words: 326 - Pages: 2

Free Essay

Tqm in Software World

...Quality Management in the Software World Abstract This paper examines total quality management (TQM) against the backdrop of the software world. First an overview of the background and evolution of total quality management will be detailed, then an article will be examined that discusses total quality management on an organizational level, and how it can be beneficial. After that an empirical study is reviewed that discusses the relationship between TQM and software quality. Finally this paper is wrapped up with a look at how TQM development methods should be introduced and the different ways in which is benefits both the employee and customer. Keywords: tqm, total quality management, software total quality management, tqm software methodologies Total Quality Management in the Software World According to Dale, Dewhurst, and Martínez-Lorente (1998), Total quality management is now being applied by a considerable number of companies and the topic itself is now a popular subject of many books and papers. While total quality management began to be used in the mid 1980’s (Dale et. al., 1998) it wasn’t until the late 1980’s it became a part of quality related language and even later still until it was put to use in the world of software and I.T. (information technology). This paper will examine the following total quality management topics: 1. What is the background and history of total quality management? 2. What value does TQM add to software quality? 3. What,...

Words: 2125 - Pages: 9

Free Essay

Software Engineering for Computer Games

...LITERATURE REVIEW ON SOFTWARE ENGINEERING FOR COMPUTER GAMES Name: Course: Date Page 1 Abstract Games have often been very common in the past period of time, but with the discovery of computer games, they have penetrated. In spite of the third vista to computer games which is verifiable, it pertains to investigating what characteristics those who play such games anticipate from the gaming using the computer. Permit us state the meaning of a computer game as a play which is undertaken with an aid of a computer program. This meaning still leaves behind some flexibility because it does not imply that the whole game happens in the computer. For instance, Chess may be played on the computer screen and on a true-globe board, heedless to whether the one who objects to the play is a computer application. Huizinga in his classic work defined play as ``an activity which proceeds within certain limits of time and space, in a visible order, according to rules freely accepted, and outside the sphere of necessity or material utility. The play mood is one of rapture and enthusiasm, and is sacred or festive in accordance with the occasion. A feeling of exaltation and tension accompanies the action, mirth and relaxation follow``. A lexicon likewise states the meaning of game as `‘a universal form of recreation generally including any activity engaged in for diversion or amusement and often establishing a situation that involves a contest or rivalry’`. Besides, Elliot...

Words: 8674 - Pages: 35

Premium Essay

Indian Streams Research Journals

...ISSN:-2230-7850 SOFTWARE DEVELOPMENT TECHNIQUES Asst. Prof. Rajani Kota Dept. of Computer Science A.R.Burla Womens' College, Solapur. Abstract Software development is the set of activities and processes for programmers that will eventually result in a software product. This may include requirement analysis, software design, implementation, testing, documentation, maintenance and then describing computer programs that meet user requirements within the constraints of the environment. It is a structure imposed on the development of software product. Software development is the most important process in developing a Software/tool. The successful execution of the project highly depends on the techniques used to develop the model. Software development technology has an under the model-explicit or implicit-of the development process. In order to understand more about the development process and the methodologies, we abstract from these. The perspective chosen for the abstraction include models developed during the process and the kind of abstraction involved in the techniques of the process. I .INTRODUCTION Software is a one kind of system or we can say the package which is used in many organization. It is a general term for the various kinds of programs used to operate computers and related devices. It can be thought of as the variable part of a computer and hardware the invariable part Software is often divided into two categories: System Software and application software. There are...

Words: 3338 - Pages: 14

Premium Essay

Indian Streams Research Journals

...ISSN:-2230-7850 SOFTWARE DEVELOPMENT TECHNIQUES Asst. Prof. Rajani Kota Dept. of Computer Science A.R.Burla Womens' College, Solapur. Abstract Software development is the set of activities and processes for programmers that will eventually result in a software product. This may include requirement analysis, software design, implementation, testing, documentation, maintenance and then describing computer programs that meet user requirements within the constraints of the environment. It is a structure imposed on the development of software product. Software development is the most important process in developing a Software/tool. The successful execution of the project highly depends on the techniques used to develop the model. Software development technology has an under the model-explicit or implicit-of the development process. In order to understand more about the development process and the methodologies, we abstract from these. The perspective chosen for the abstraction include models developed during the process and the kind of abstraction involved in the techniques of the process. I .INTRODUCTION Software is a one kind of system or we can say the package which is used in many organization. It is a general term for the various kinds of programs used to operate computers and related devices. It can be thought of as the variable part of a computer and hardware the invariable part Software is often divided into two categories: System Software and application software. There are...

Words: 3338 - Pages: 14

Premium Essay

The Paper

...leaders with the proper trainings are in place to be able to utilize each individual’s skills and abilities to create a good working environment. In this study, aspects of individual differences including: Heredity factors, abilities and skills, different aspects of individual’s attitudes, and individual personalities and behaviors will be observed to test my theory of why individuals of different diversities are an asset in the workplace. The study objective is intended to determine just how individual differences are an asset in the workplace. The article that influenced my question the most was the article titled “Investigating Cultural Differences in Virtual Software Teams”. This particular articles title actually caught my eye much due to the fact that I work in a similar environment on a software development team. I thought that comparing an actual virtual software team to a traditional in-house software team would be interesting mainly because virtual teams operate under a networked structure and need structured communication which they execute primarily through an...

Words: 1056 - Pages: 5

Premium Essay

En1320 Lab 4.2

...Lab 4.2 Vance Pope EN1320 02/07/16 References: n.a. (2016). Software Engineers and Designers. Retrieved from Studentscholarships.org: https://www.studentscholarships.org/salary_ca/7/software_engineers_and_designers.php Shaw, M. (2000, May). Software Engineering Education: A Roadmap. Proceeedings of the conference on The future of Software Engineering, pp. 371-380. Reference #1: This website shows aspiring students what a software engineer does, the median of what could be earned in that field, and also breaks down all the different types of factors a student would want to know before they have begun studying in that field. It also shows students where current software engineers are employed. Those industries include computer systems design related services, electronic product manufacturing, wholesale trade, architectural engineering, public administration, and scientific research and development studies. Though this source is not an article with an author or from a university, I believe this is a good source to use. The reason I feel like it is a good source is because while I was searching on the website I noticed that their website has been mentioned and used on many school websites such as Cal Poly Pomona. The website gives students a great deal of information that other sources found on Google.com do not provide. This source has confirmed what I have seen while searching for software engineering jobs on the internet. It will allow me to provide more information...

Words: 835 - Pages: 4

Free Essay

Off Shoring

...long term and short term. One benefit of off shoring application development is the cheaper labor costs. At the inception of off shoring and outsourcing, supporters of this concept have always noted that lower labor costs will benefit a company with a higher profit margin. Countries that provide off shoring services to the United Stated do not have the higher over- head costs to operate because their employee labor market is significantly lower at cost per hour than employees in the United States are. Keeping in mind the lower labor costs, many companies see that software developers can utilize the same benefits of cheaper labor as other service areas to maximize profit and minimize costs. Another benefit of off shoring application development provided by Clarety Consulting is the less production down time. In this article it is explains off shoring software development allows employees to work on site for 24 hours a day (Advantages & Disadvantages Sotware Developoment Outsourcing). The concept behind this approach to outsourcing is that with access to employees in various countries production on software never has to stop because in every country there is another time zone to begin and start the workday, thus allowing a faster production of products in this case the faster production of software. Along with the many advantages of off shoring product development there is also a down side to off shoring software including the lack of skills produced by foreign workers. In many...

Words: 618 - Pages: 3

Premium Essay

Computer Software

...Computer software From Wikipedia, the free encyclopedia Jump to: navigation, search "Software" redirects here. For other uses, see Software (disambiguation). Computer software, or just software, is a collection of computer programs and related data that provide the instructions for telling a computer what to do and how to do it. In other words, software is a conceptual entity which is a set of computer programs, procedures, and associated documentation concerned with the operation of a data processing system. We can also say software refers to one or more computer programs and data held in the storage of the computer for some purposes. In other words software is a set of programs, procedures, algorithms and its documentation. Program software performs the function of the program it implements, either by directly providing instructions to the computer hardware or by serving as input to another piece of software. The term was coined to contrast to the old term hardware (meaning physical devices). In contrast to hardware, software is intangible, meaning it "cannot be touched".[1] Software is also sometimes used in a more narrow sense, meaning application software only. Sometimes the term includes data that has not traditionally been associated with computers, such as film, tapes, and records.[2] Examples of computer software include: * Application software includes end-user applications of computers such as word processors or video games, and ERP software for groups of...

Words: 3223 - Pages: 13

Free Essay

Final Project Report

...Final Project Report for Media Tracking System Version 2.0 approved [pic] Table of Contents Table of Contents i Revision History iii Group Members iii 1. Final Project Summary i 1.1. Content Summary i 1.2. Lessons Learned ii 1.3. Learning Outcomes Summary ii 1.3.1 Communications iii 1.3.2 Critical Thinking v 1.3.3 Network Design v 1.3.4 Management Information Systems v 1.3.5 Systems Administration and Scripting vi 1.3.6 Security vi 1.3.7 Employability vi 2. Future directions vii 3. Annotated Bibliography viii 4. Appendix A: Vision and Scope viii 5. Appendix B: Status Report 1 15 6. Appendix D: Presentation Slides 27 7. Appendix E: Other Deliverables/Artifacts 27 Revision History |Name |Date |Reason For Changes |Version | |Kenneth Wright |07/01/2010 |Initial Draft |1.0 | |Kenneth Wright, et al |07/15/2010 |With contributions and edits from all team members, we |1.5 | | | |refined the document | | |Kenneth Wright, et al |07/23/2010 |Style, editing, additional information from all team |1.6 ...

Words: 3643 - Pages: 15

Free Essay

Research

...Reverse-Engineering A number of recent court cases have ruled against the use of reverse engineering, but critics say this will hurt U.S. software development and - ultimately- users. * Ann Harrison , 05/08/2000 * App Development * Feature FEATURE Battle brews over reverse engineering A number of recent court cases have ruled against the use of reverse engineering, a move critics say will hurt U.S. software development and, ultimately, users. * Ann Harrison , 05/04/2000 * * Feature FEATURE Contract case could hurt reverse engineering The Supreme Court's lack of action could embolden software companies to ban reverse engineering or take away other fair-use rights already allowed by including such prohibitions in a license agreement.” ((Schwartz, 2001) As the articles above are describing. Reverse Engineering can be excellent in some ways, but, also shows the flaws of a program in many ways making it very vulnerable to those who are out to hurt the development of software companies. Key Features | “Understand your source code faster and more accurately, through software visualization and analysis. * UML Class Diagrams * Control Flow Graphs * Variable Data Flow Graphs * Template Support * Function Pointer Support” (Imagix. Reverse Engineering your software.) | These are the key features of the software engineering tool Imagix. References Imagix. Reverse Engineering Your Softwarwe. (ND) http://www.imagix.com/a/reverse-engineering.html...

Words: 265 - Pages: 2

Premium Essay

System Development

...Administrator * Adds articles * Updates articles * Deletes articles * Disables user * Verify user details * Set user restrictions * Address user complaints * Assistant Librarian * Cataloging articles * View reports of viewed articles from system * Update Article Status Core features for student * Create user account * Update user account * login * Search for an article on the system * Accept to conform to copyright law protecting article * Access article * Log complain or feedback * Unsubscribe b. System features * Database storage * User account details * Student details * Staff details * Information on articles – title, author, fees, source * Copyright laws of each country associated with an article * Search engine for searching for articles * Link to other university libraries * Reports on user activity * Stimulus and response activities * Require conformity to copyright law for each article searched * Assign privileges to various users per role * Check for account validity upon login Question 1 1.1. Prototyping Prototyping allows the systems developer access to a quick and promptly built working version of the system being developed. It involves a continuous process of analyzing, designing, modeling, and testing to achieve an ideal prototype. It is very crucial to include users actively at every stage of the development life cycle. User...

Words: 1878 - Pages: 8

Premium Essay

Club It Part 2

...Photographs | |Document Type: |Article | |Subject Terms: |SCRUM (Computer software development) | | |METHODOLOGY | | |COMPUTER software development | | |COMPUTER programming | | |PROJECT management | | |BECK, Kent | | |ROBERTSON, Struan | | |INTELLECTUAL property | | |COMPUTER software industry ...

Words: 2314 - Pages: 10

Premium Essay

Copyright Law in India

...Introduction During the early days of computer industry, the software came integrated with hardware. The issue of intellectual property remained confined to hardware only. All this changed during the sixties when software was unbundled from hardware. This gave rise to independent software vendors (ISVs) and the production of standard and custom operating systems, as well as independent applications software’s. Rapid diffusion of low-cost desktop or personnel computer (PC) in late seventies and eighties opened up huge opportunities for ISVs. The software industry gradually increased in terms of overall trade, production and consumption. In 1990s, the widespread diffusion of the Internet created new channels for low-cost distribution and marketing of packaged software, reducing the barriers to entry into the packaged software industry. It also expanded the possibilities for rapid penetration of markets by packaged software products. This rapid increase in consumption of software and easy penetration of market through Internet resulted in increased software piracy, creating a big market in pirated software. According to estimates the global rate of piracy was 59.9% in the year 2010 that means out of the total software sold worldwide 59.9% was fake. Piracy causes huge losses of revenues to software companies every year. This has made the issue of intellectual property protection for software all the more important. The software is a complex product, which has given rise to a totally different...

Words: 7384 - Pages: 30

Premium Essay

Agile Development for Non Software Industries

...Youssef Hautier, Topic: Are Agile development / Scrum approaches applicable to other product domain than the software development? 1. Introduction The development of a new product is key for a company. The products can be very simple (a new fork in the Ikea assortment) to extremely complex (let’s think about a new airplane for Airbus), their development still requires a multidisciplinary approach, implies a lot of risks, a lot of uncertainties and usually involves a large amount of resources and cash. But what is exactly product development? We define it as the set of processes that will bring a concept or an idea to product that is used by the final customer, in volume. Other definitions can be found in the literature. We should note that Product Development can be applied to very different domain. Physical (or hardware) products (like the two examples stated above) are the first to come to mind. This category also encompasses products like a new molecule in the biotech industry or a new aliment for the pet-food industry. Millions of new products are launched every year. The time to market, the quality, the fit with the customer need, the integration with the other parts of the company (Customer Service, Manufacturing) are all critical to the success of this new product. It is no surprise that both the academic and industry world committed to develop better processes to handle Product Development. Until the mid-eighties, the usual development paradigm was the phase gate concept...

Words: 3724 - Pages: 15