Computer software, or just software, is a collection of computer programs and related data that provides the instructions for telling a computer what to do and how to do it.

learn more… | top users | synonyms

52
votes
6answers
5k views

How to manage accidental complexity in software projects

When Murray Gell-Mann was asked how Richard Feynman managed to solve so many hard problems Gell-Mann responded that Feynman had an algorithm: Write down the problem. Think real hard. Write down the ...
50
votes
23answers
4k views

Why is it so hard to get people to pay for software? [closed]

Where I come from software is considered something you can get for free (same goes for movies, etc.) The willingness not to pay for software is quite strong. It is putting me off, that people would ...
48
votes
6answers
5k views

How would I implement a “self-destruct” feature into the free trial version of my software?

There is the ongoing argument of free trial versus a freemium model (that is, a free-for-life version of their software with restricted and/or stripped down features) for allowing potential customers ...
41
votes
11answers
3k views

As a software architect, am I supposed to focus that much on analysing the logs and fixing other's bugs?

Since my graduation (late 2005) I was working for the same company as a c++ software engineer. A year ago I was promoted as a software architect but I have found myself involved more and more in ...
37
votes
7answers
3k views

Are small amounts of functional programming understandable by non-FP people?

Case: I'm working at a company, writing an application in Python that is handling a lot of data in arrays. I'm the only developer of this program at the moment, but it will probably be ...
32
votes
6answers
2k views

My software is hosted on a “bad” website. Can I do anything about it?

Edit: Thanks for all of the answers, guys! I think I'm just going to include some kind of text on my webpage telling users to only download from the links provided. The thing is that there have been ...
29
votes
8answers
894 views

Should software patents be legal? [closed]

A really big issue that a lot of people have problems with is software patents. According to Wikipedia, some of the big issues with software patents include: Where the boundary between patentable ...
27
votes
4answers
3k views

What is the origin of the negative term “legacy code”

Everyone talks about legacy code in software development and I have heard the term over the last ten years used to paint any codebase as being bad. Where did this term, which has such powerful ...
20
votes
8answers
1k views

How to justify rewriting/revamping legacy software in a business case? [duplicate]

I work for a great little software company which makes good revenue from our main software package. The problem for me is that it's almost unmaintainable. It's written in Delphi 7 (has upgraded ...
18
votes
6answers
889 views

Development methodologies when hundred of developers are working on one single solution?

We are an organisation consisting of around 200 developers that are working continuously on one single product (using the revision control Git) which is planned to be released at a certain date. Due ...
17
votes
5answers
1k views

Fighting technical debt as the “lowest developer”?

Let's say you work for a company and what you do is develop software for them. You have no idea of the big picture or maybe slight. What you do have are tasks assigned to you via issue tracking ...
16
votes
12answers
5k views

Is it possible to reach absolute zero bug state for large scale software?

I am talking about 20-30+ millions lines of code, software at the scale and complexity of Autodesk Maya for example. If you freeze the development as long as it needs to be, can you actually fix all ...
16
votes
2answers
678 views

What are some ramifications of open source software turning into closed source software?

If a company takes a permissively licensed open source application and then develops a closed source application from that by reworking extensive parts of the application, adding new features and ...
13
votes
5answers
524 views

Project frozen - what should I leave to the people after me?

So the project I've been working on is now going to be frozen indefinitely. It is possible that if and when the project unfreezes again, it won't be assigned to me or anybody from the current team. ...
12
votes
6answers
617 views

Rewriting software using Agile methodologies

Suppose you have to rewrite an entire application using Agile methodologies, how would you do it? I guess you could write a big bunch of user stories based in the behavior of your current system. And ...
11
votes
4answers
846 views

How best to keep bumbling, non-technical managers at bay and still deliver good work? [closed]

This question may be considered subjective (I got a warning) and be closed, but I will risk it, as I need some good advice/experience on this. I read the following at the 'About' page of Fog Creek ...
10
votes
2answers
616 views

What guidelines should I follow while designing a library?

I am working on a Arduino project using the Uno. The project contains a significant amount of code. I would like to create a library and I may even share it later on. What guidelines should I follow ...
9
votes
3answers
3k views

How to promote my newly developed software ? [closed]

I have recently developed a registry cleaner. But as far as I am concerned, there are already so many registry cleaners on the market, and some of them have won great popularity. Does that mean there ...
8
votes
6answers
547 views

When do you typically write a software module yourself vs. buying an existing product?

I'm trying to find out your decision rationale of when to do what. Would be great to learn from you. I'm happy to provide more context, but I want to make it general for now.
8
votes
3answers
643 views

What's the formal name of this diagram?

I'd also want to know how can I draw them.
8
votes
5answers
737 views

Extreme Programming practices make an application more error prone? [closed]

I am conducting academic research on the topic of Extreme Programming and whether its practices lead to creating space for more errors and bugs in applications. From the experiences I gathered from ...
8
votes
3answers
1k views

Quantifying the price for source code and software product

I'm about to undertake a project. This requires me to write code, and tons of it. The client's requirement is to hand in all source code at the end of the project. My question is: How do I quantify ...
8
votes
2answers
5k views

How to sell/distribute my software? [closed]

I'm working on a personal project (Windows desktop application) and started thinking about trying to make some money from the application (not the source). I'm not expecting to make a billion dollars ...
7
votes
5answers
299 views

Solving which bugs will give greatest cost benefit [duplicate]

I wanted to get an idea of categorizing bugs based on how easy is it to solve and how much benefit it will give me. for e.g., if there is a bug which will take say an hour (double file close etc.) to ...
7
votes
6answers
816 views

How do I locate Uncalled Functions?

I am looking at some C/C++ code that appears to have functions that are defined, but never used. This is a pretty tedious process to trace through the code and verify. I've done some surveys and there ...
7
votes
4answers
610 views

Easy To Use Collaborative Editing Software?

My friend and I usually don't have time to meet up in person to do some real pair programming. Since we want to program together anyway, we turned to the world of collaborative software editing. ...
7
votes
3answers
247 views

Should I modify an entity with many parameters or with the entity itself?

We have a SOA-based system. The service methods are like: UpdateEntity(Entity entity) For small entities, it's all fine. However, when entities get bigger and bigger, to update one property we ...
7
votes
1answer
437 views

How do I distribute my scientific software with as few dependencies as possible?

As part of my research, I write a lot of Python and MATLAB code that never needs to be distributed to anyone else. Even if I need to distribute my software, Python and MATLAB, both being interpreted, ...
6
votes
2answers
774 views

Solutions for floating point rounding errors

In building an application that deals with a lot of mathematical calculations, I have encountered the problem that certain numbers cause rounding errors. While I understand that floating point is not ...
6
votes
4answers
155 views

Pricing of a collaborative work [closed]

I suppose there's no straight answer to this, but what ideas come to mind for determining how much each programmer would get for participation in a collaborative project if it were to be sold?
6
votes
3answers
460 views

Is there an established software taxonomy that's based on the type of software?

I'm researching engineering approaches to software development based on the type of software, for example: Custom one-off software (e.g. space shuttle software) Whitebox application requiring ...
6
votes
3answers
393 views

Floating point undesirable in highly critical code?

Question 11 in the Software Quality section of "IEEE Computer Society Real-World Software Engineering Problems", Naveda, Seidman, lists fp computation as undesirable because "the accuracy of the ...
6
votes
6answers
2k views

How to deal with frequent requirements changes?

I'm dealing with pretty stressful (in my opinion) situation in my current work place. We've started developing new project, get some requirements, implemented it and then show to someone you can ...
6
votes
2answers
297 views

How much attention should be paid to patents when developing software?

Let's say I want to develop an image editing program similar to Photoshop. Is it likely that certain interface patterns and approaches are patented and I can get sued if I use them in my program as ...
5
votes
5answers
1k views

Migration from a complex C++ application to C# a — good idea?

We currently have a complex VC++ software application, which uses a library like ObjectARX to build the dll. I feel there are many features in C# like Collections, Generics, and other libraries which ...
5
votes
5answers
3k views

How can I create my own software license? [closed]

I have seen numerous licenses for any kind of software such as the GNU GPL, BSD License, MIT License, and LGPL. What is the process for creating a new software license, such as "John Doe's generic ...
5
votes
3answers
323 views

Is “frontend” generic term or it is used only in web design?

When I read about frontends, it always mentiones webpages. Can it be used in different contexts, e.g. desktop applications?
5
votes
3answers
575 views

Why is free software good for programmers? [closed]

When I say Free Software I mean it in the FSF terms. Free as in Free Speech, not as in Free Beer. Why is it a good idea for programmers to use and write Free Software?
5
votes
1answer
658 views

Are you allowed to “copy” the GUI/Features of another application

I'm making a app which is based heavily on another application that serves a similar purpose. I'm not actually planning on selling it, but I'm wondering whether it would even be legal for me to sell ...
5
votes
2answers
570 views

How much should a floating license cost?

Floating licensing is a software licensing approach in which a limited number of licenses for a software application are shared among a larger number of users over time. Nice for the corporates to ...
5
votes
3answers
592 views

Steps to create a solution for a problem

I am a trainee. According to my teacher to solve a problem we should go through following steps: Create Algorithm (optional) Create a Datatable: By analyzing the problem, create main concepts in ...
5
votes
2answers
555 views

What is the difference between implementation and realization in Mythical Man Month?

In Fred Brook's Mythical Man Month chapter 4 (Aristocracy, Democracy, and System Design) page 49, he says: As Blaauw points out, the total creative effort involves three distinct phase: ...
5
votes
2answers
800 views

How is the Trial Period for Softwares generally implemented?

I was always under the assumption that trial softwares write a registry value of the installation date and then the software makes a comparison of the current date of the system with the remaining ...
5
votes
1answer
817 views

Places where I can do some voluntary software development/programming work?

I asked this question due to my lack of experience which is a major problem for me when applying for a job because all the companies require 2 to 3 years of programming experience. So I am taking ...
5
votes
3answers
251 views

Is there a guide for software development to design efficient hotkeys for actions?

I don't know how to word this easily but basically the software I am writing has a ton of actions and I want to assign hotkeys to every one of them so power users can work super fast. First off they ...
5
votes
3answers
258 views

Pricing personalized software?

Currently i'm working on a Purchased Order System Application Project for a small scale company. The Software that i am working on is personalized based on the on their business requirement. The ...
5
votes
1answer
483 views

Commercial product using a GPL OS

we are planning to create a commercial product. The product consists of some MCUs and a small computer (we are developing on a Raspberry Pi at the moment). The computer needs an operating system as ...
4
votes
2answers
660 views

Object oriented design importance

I started studying Object Oriented Design and Modelling using the this book by James Rumbaugh. It uses a tool called Object Modeling Technique (OMT). I have certain newbie questions. I searched the ...
4
votes
7answers
647 views

Starting software projects

Always, when I try to start new project, with what I think new ideas, first of all I search the web to try to find some thing same, most of the time (if not all) I find that my ideas of new project ...
4
votes
3answers
375 views

What kind of process should I use to learn a big system? [duplicate]

Possible Duplicate: How do you dive into large code bases? I just joined a new company and started to study one of the their bigger system. For me to be productive, I need to understand the ...