For questions relating to the process of developing software.

learn more… | top users | synonyms

370
votes
14answers
107k 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 ...
357
votes
29answers
56k 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 ...
82
votes
13answers
36k 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 ...
57
votes
36answers
5k 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 ...
14
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 ...
43
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 ...
37
votes
11answers
10k 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, ...
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 ...
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 ...
12
votes
4answers
5k views

How do you deal with changing requirements? [closed]

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. ...
49
votes
26answers
7k 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
8k 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 ...
88
votes
18answers
14k 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 ...
65
votes
27answers
14k 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 ...
71
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 ...
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 ...
45
votes
9answers
8k 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 ...
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 ...
13
votes
5answers
2k 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 ...
6
votes
1answer
645 views

How to see what parts of your 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 ...
73
votes
26answers
40k views

What does mathematics have to do with programming? [closed]

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 ...
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 ...
24
votes
7answers
2k views

What is agile methodology?

Can any one explain about the agile methodology in simple sentences?
11
votes
6answers
953 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 ...
106
votes
18answers
9k views

When should I make the first commit to source control?

I'm never sure when a project is far enough along to first commit to source control. I tend to put off committing until the project is 'framework-complete,' and I primarily commit features from then ...
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 ...
42
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
1k 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
610 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
993 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, ...
7
votes
5answers
737 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 ...
7
votes
10answers
12k 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 ...
7
votes
3answers
409 views

Real world Agile practices and estimates

In a perfect world, we tell the client we follow an agile methodology where we allow the scope to increase/decrease as the requirements change and we bill per hour for each iteration. In reality, ...
3
votes
2answers
2k 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 ...
77
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 ...
147
votes
11answers
24k views

Strategy for keeping secret info such as API keys out of source control?

I'm working on a website that will allow users to log in using OAuth credentials from the likes of Twitter, Google, etc. To do this, I have to register with these various providers and get a ...
41
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 ...
53
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 ...
36
votes
11answers
6k 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
2k 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 ...
25
votes
9answers
4k views

How do you organize highly customized software?

I'm working on a large software project which is highly customized for various customers arround the world. This means that we have maybe 80% code which is common between the various customers, but ...
49
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
5k 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 ...
24
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 ...
12
votes
8answers
966 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 ...
12
votes
5answers
496 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?