For questions relating to the process of developing software.

learn more… | top users | synonyms

207
votes
13answers
46k 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 ...
63
votes
14answers
14k 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 ...
52
votes
36answers
3k 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 ...
50
votes
17answers
12k views

Thoughts on Development using Virtual Machines [closed]

I'll be working as a development lead for a startup and I've suggested that we use VMs for development. I'm not talking about each developer having a desktop with VMs for testing/development, I mean ...
18
votes
12answers
3k 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?
318
votes
29answers
50k 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 ...
41
votes
19answers
4k 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 ...
22
votes
7answers
1k views

Does software reuse preclude process repeatability

The Problem - Code Reuse 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 ...
39
votes
26answers
5k 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 ...
19
votes
5answers
3k 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 ...
14
votes
5answers
4k 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 ...
62
votes
27answers
9k 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
3k 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. ...
42
votes
9answers
5k 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 ...
12
votes
5answers
878 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 ...
60
votes
24answers
15k 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 ...
41
votes
27answers
4k views

Tips for working fast [closed]

What are some tips for helping to design and construct applications faster?
52
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 ...
21
votes
7answers
2k views

What is agile methodology?

Can any one explain about the agile methodology in simple sentences?
70
votes
16answers
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 ...
84
votes
18answers
12k 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 ...
21
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 ...
29
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 ...
25
votes
18answers
896 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. ...
10
votes
8answers
507 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
795 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, ...
5
votes
10answers
5k 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
1answer
438 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 ...
2
votes
2answers
619 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 ...
71
votes
9answers
8k 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 ...
36
votes
5answers
2k views

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

I've been struggling with how to get my project going. I've got an old software package that is in need of desparate 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
18answers
4k views

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

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 ...
35
votes
11answers
4k 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
3k 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 ...
19
votes
18answers
1k views

What order do you develop program layers?

I liked the question about favorite program layer: What is your favorite program layer to work on? What order do you build them in or do different team members develop corresponding parts ...
8
votes
5answers
3k 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 ...
31
votes
12answers
2k 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 ...
7
votes
4answers
938 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 ...
5
votes
3answers
907 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 ...
11
votes
7answers
826 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
456 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?
9
votes
6answers
578 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 ...
5
votes
1answer
2k 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 ...
4
votes
3answers
328 views

Software Process Management [closed]

We want to formalize our development process. Aim is to provide a clear view of software in each phase. For example, to translate requirements to task, to specify the pre and post-conditions of task ...
14
votes
7answers
1k views

How common is pair programming in the workplace?

I've always been intrigued by pair programming, but in 12 years development I've never worked in a place they have employed this practice, so I have always been sceptical as to how people see it. I ...
7
votes
5answers
678 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
3answers
348 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, ...
5
votes
7answers
1k 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 ...