For questions relating to the process of developing software.

learn more… | top users | synonyms

280
votes
13answers
78k views

How to respond when you are asked for an estimate?

We, as programmers, are constantly being asked 'How long will it take'? And you know, the situation is almost always like this: The requirements are unclear. Nobody has done an in depth analysis of ...
341
votes
29answers
54k views

Why can't the IT industry deliver large, faultless projects quickly as in other industries?

After watching National Geographic's MegaStructures series, I was surprised how fast large projects are completed. Once the preliminary work (design, specifications, etc.) is done on paper, the ...
71
votes
13answers
25k views

What “version naming convention” do you use? [closed]

Are different version naming conventions suited to different projects? What do you use and why? Personally, I prefer a build number in hexadecimal (e.g 11BCF), this should be incremented very ...
54
votes
36answers
4k views

What can I do to get better at estimating how long projects are going to take? [duplicate]

I don't want to make life hard for management. I really don't. They're nice enough guys, but every time I am assigned a new project or task and get asked "how long do you think it will take to do ...
11
votes
4answers
2k views

How to stop gold-plating and just be content to release working developments [closed]

The development team that I'm a member of has recently adapted to work according to Agile practices. This has personally highlighted the fact that I can't stop myself gold-plating code (and ...
19
votes
12answers
4k views

How to explain programming to a non-programmer? [duplicate]

Possible Duplicate: How do you share your craft with non programmers? I tend to think that I might get such a question in the future... How should I answer to it in layman terms?
41
votes
19answers
5k views

How do you share your craft with non programmers?

Sometimes I feel like a musician who can't play live shows. Programming is a pretty cool skill, and a very broad world, but a lot of it happens "off camera"- in your head, in your office, away from ...
24
votes
7answers
1k views

Does software reuse preclude process repeatability

Code Reuse as a Problem I was thinking about this question on software delivery, and I kept coming back to the issue of repeatability and / or reproducibility. They matter, because if you don’t ...
28
votes
11answers
7k views

How often should I/do you make commits? [duplicate]

I am a recent (as of yesterday) college grad - BS in Computer Science. I've been a huge fan of version control ever since I got mad at an assignment I was working on and just started from scratch, ...
20
votes
5answers
4k views

Data input validation - Where? How much? [closed]

Data input validation always was quite an internal struggle to me. On the verge of adding a real security framework and code to our legacy application rewrite project (which so far pretty much keeps ...
40
votes
26answers
6k views

Frankly, do you prefer Cowboy coding? [closed]

Most programmers defending methodologies politically correct like Agile, Waterfall, RUP, etc. Some of them follow the methodology but not all of them. Frankly, if you can choose the methodology, you ...
14
votes
5answers
6k views

How should developer performance be measured? [duplicate]

In many companies there is a formal procedure of reviewing employees' work. For example, a salesperson can stay she'll sell one million units at the beginning of the year. When she comes up for ...
64
votes
27answers
11k views

Why to let / not let developers test their own work

I want to gather some arguments as to why letting a developer testing his/her own work as the last step before the product goes into production is a bad idea, because unfortunately, my place of work ...
11
votes
3answers
4k views

How do you deal with changing requirements?

In my current job it feels like we have a lot requirement changes. We are an "Agile" shop, so I get that we are supposed to adjust and what not, but sometime the change is large and nothing trivial. ...
70
votes
15answers
4k views

Should developers enter bugs into the bug tracking system?

While developing (either features or bug fixes) I sometimes happen to discover bugs that are not directly related to what I'm working on. What should I do in that situation. Just fix it? Try to ...
87
votes
18answers
13k views

Are unit tests really that useful? [closed]

I just graduated with a degree in CS and I currently have a job as a Junior .NET Developer (C#, ASP.NET, and web forms). Back when I was still in university, the subject of unit testing did get ...
44
votes
9answers
7k views

What are the disadvantages of test-first programming?

It's all the rage nowadays. "Everyone" recommends it. That in and of itself makes me suspicious. What are some disadvantages you have found when doing test-first (test-driven) development? I'm ...
13
votes
5answers
1k views

A simple ways to improve the release quality in RAD environment

A bit of a background here - we are a small team (of 5) of RAD developers responsible for internal software development in a big non-software company. "Internal software" varies from a desktop .NET ...
5
votes
7answers
2k views

How to avoid typo errors, etc?

For the first time I have been coding for an open-source software where all my work gets reviewed before being commited. I understand reviewing work isn't an easy task, so I don't like to waste ...
73
votes
26answers
25k views

What does mathematics have to do with programming?

I just started a diploma in software development. Right now we're starting out with basic Java and such (so right from the bottom you might say) - which is fine, I have no programming experience apart ...
42
votes
27answers
5k views

Tips for working fast [closed]

What are some tips for helping to design and construct applications faster?
53
votes
13answers
4k views

How can we reduce downtime at the end of an iteration?

Where I work we practice scrum-driven agile with 3-week iterations. Yes, it'd be nice if the iterations were shorter, but changing that isn't an option at the moment. At the end of the iteration, I ...
22
votes
7answers
2k views

What is agile methodology?

Can any one explain about the agile methodology in simple sentences?
9
votes
6answers
755 views

test driven development - Who should write the tests?

Originally, it is the duty of the developer to write the test, but I noticed that in many cases/e-mature developers those cases are not giving even 80% coverage. How about I have a QA person dedicated ...
22
votes
5answers
2k views

Is code ownership a code smell?

This is something I've been thinking about ever since I read this answer in the controversial programming opinions thread: Your job is to put yourself out of work. When you're writing ...
31
votes
12answers
3k views

Is code reviewing good practice?

When the company I work in hired new managers, they offered us to overview someone's code on every meeting. We have meetings every two weeks, so each time one of developers was to show his/her code on ...
30
votes
4answers
1k views

Are there areas where TDD provides a high ROI and other areas where the ROI is so low that it is not worth following? [closed]

Test driven development. I get it, like it. But writing tests does require overhead. So should TDD be used universally throughout the code base, or are there areas where TDD provides a high ROI and ...
41
votes
19answers
1k views

What to do about “stopping point syndrome”?

I have noticed a behavior in myself that I call "stopping point syndrome"... it means I cannot stop working until I reach a "stopping point" (or I become exhausted). In other words, if I am in the ...
28
votes
18answers
984 views

Stopping endless technical discussions and making a decision

I always come across people who like to bang on for ages over the smallest "technical things". Don't get me wrong, I'm a geek programmer who loves what I do, but you know the type of conversation. ...
12
votes
8answers
586 views

Moving from one man project to team project in the future. What should I be doing now in preparation and what can wait?

To elaborate I am interested in knowing what people think you need to put in place while still a one man project (team source control, documentation, builds etc) and what things don't need to be done ...
12
votes
2answers
901 views

Have you tried programming via Collaborative Text Editing? [duplicate]

Lately I've been experimenting with using a collaborative text editor (or plugin such as NppNetNote for Notepad++) for two or more partners to edit source code. I've been met with unexpected success, ...
3
votes
1answer
518 views

How to see what parts of your java code are run most often?

I would like to be able to see what code in thousands of lines of source code is run most often and takes the longest. The purpose of this would be for optimization. Being able to see what parts of ...
7
votes
5answers
711 views

should you always enter a bug in a bug tracking system [duplicate]

Possible Duplicate: Should developers enter bugs into the bug tracking system? Should I log trivial fixes? For a project I'll be doing in school soon I will be working with 6 other ...
5
votes
10answers
8k views

What do we mean by “design” in software engineering?

I have been reading about different software methodologies. Every method has a design phase to some extent, more or less. I am not clear on what we mean by designing. Does this mean writing your ...
3
votes
2answers
1k views

Collaborative work (small team) - Best practices [closed]

I'm currently working in a very small team of programmers (2-3) and I'm looking for advices/best practices on how to organise our work. We're all working on the same application using PHP. Today we're ...
17
votes
0answers
1k views

Is cowboy programming a senior approach? [duplicate]

Possible Duplicate: Frankly, do you prefer Cowboy coding? By cowboy programming, I mean a programmer just typing the code very fast without a semi-formal process. I have a programmer that ...
74
votes
9answers
9k views

Over thinking development

I've been working as an app developer for a year and a half now (not long I know), and I've just been given my first big project. Needless to say it didn't go very smoothly, so I sought advice from a ...
38
votes
5answers
2k views

How do you get past the Analysis to Paralysis when working on a new project? [closed]

I've been struggling with how to get my project going. I've got an old software package that is in need of desperate rewrite. I haven't compiled the source code since 2004. It still sells, it's stable ...
30
votes
15answers
2k views

What can programmers learn from the construction industry? [closed]

When talking with colleagues about software design and development principles, I've noticed one of the most common sources for analogies is the construction industry. We build software and we ...
64
votes
17answers
4k views

Completion time on a company where the supervisors don't know programming [duplicate]

We are in a small company with around 10 developers. I am the team leader and responsible for the development process. Supervisors and salesmen are close to us since we are a small team, but have no ...
52
votes
16answers
5k views

Is big-O really that relevant when working in industry?

In every interview I have been in, I have been quizzed on mathematical analysis of complexity, including big-O notation. How relevant is big-O analysis to development in industry? How often do you ...
35
votes
11answers
5k views

What does a code review look like? [duplicate]

I'm writing a code review process document for our team; we've never had a formal process in place although we do do some code review. I've found lots of articles talking about how important code ...
18
votes
1answer
1k views

Freelancers: How Do You Go About Gathering Requirements?

As a freelance programmer: What is your process for gathering requirements from a client? How much time does the requirement gathering process take you? I know this is not fixed, and there are ...
48
votes
16answers
4k views

Why not write all tests at once when doing TDD?

The Red - Green - Refactor cycle for TDD is well established and accepted. We write one failing unit test and make it pass as simply as possible. What are the benefits to this approach over writing ...
9
votes
5answers
4k views

Manufacturing vs Software Development [closed]

It's often said that the software industry is immature compared to manufacturing. Specifically with regard to being process driven. Question: Can we as developers learn from the processes of the ...
23
votes
6answers
1k views

How to deal with someone who dislikes the idea of code reviews?

Obviously, if management buy into spending time with code reviews, then everyone has to do it. But there are always those guys (or gals) who resist with every ounce of their being. How do you ...
5
votes
3answers
1k views

Techniques and methods to improve and speedup development [closed]

I just got a new project. It’s a WinForm app. And it’s interesting because I will have the possibility to learn how fish farms work and are managed. I will have to develop touch interfaces, and use ...
12
votes
8answers
926 views

How do you manage a complexity jump?

It seems an infrequent but common experience that sometimes you're working on a project and suddenly something turns up unexpectedly, throws a massive spanner in the works and ramps up the complexity ...
11
votes
5answers
479 views

Which format is best for the first prototype not on paper? [closed]

Console app (my favorite), quick & sloppy form, MS Paint (for GUI); what works best most of the time for your standard application? why?
6
votes
1answer
5k views

Can someone explain the V Model process? Why is it different than the Waterfall model?

It seems the V Model is just the Waterfall Model with the bottom half of the Waterfall bent upwards to form a V. I don't see how it adds anything new. From the diagrams, I also don't understand the ...