For questions relating to the process of developing software.
376
votes
19answers
71k views
I've inherited 200K lines of spaghetti code — what now?
I hope this isn't too general of a question; I could really use some seasoned advice.
I am newly employed as the sole "SW Engineer" in a fairly small shop of scientists who have spent the last 10-20 ...
123
votes
16answers
10k 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 ...
53
votes
14answers
6k views
What “version naming convention” do you use?
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 ...
64
votes
12answers
3k views
Getting non-programmers to understand the development process
When starting a project for a company that's not primarily a programming company, one of the expectations is that there's a finished product at the end free of all bugs and does everything needed ...
18
votes
14answers
2k 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?
59
votes
19answers
3k views
What differentiates the exceptional programmers from the really good ones? [closed]
You know who they are. They are the rock stars of programming:
They code 10X
faster.
Their code just works.
They not only know their primary
language inside and out, but they
also know how it ...
34
votes
18answers
3k 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 ...
35
votes
16answers
5k views
Thoughts on Development using Virtual Machines
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
5answers
2k views
Data input validation - Where? How much?
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 ...
27
votes
26answers
3k 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 ...
58
votes
27answers
5k 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 ...
10
votes
5answers
522 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 ...
9
votes
3answers
1k 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.
...
12
votes
5answers
1k 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 ...
39
votes
27answers
3k views
Tips for working fast [closed]
What are some tips for helping to design and construct applications faster?
20
votes
7answers
1k views
47
votes
37answers
1k 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 ...
220
votes
27answers
41k 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 ...
75
votes
18answers
7k 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 ...
53
votes
23answers
6k 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 ...
25
votes
5answers
3k 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 ...
68
votes
16answers
3k 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 ...
22
votes
18answers
823 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.
...
11
votes
2answers
498 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, ...
8
votes
8answers
374 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 ...
3
votes
10answers
1k 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 ...
51
votes
13answers
3k 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 ...
35
votes
11answers
2k 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 ...
45
votes
17answers
2k 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 ...
17
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 ...
7
votes
5answers
1k 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 ...
30
votes
11answers
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 ...
9
votes
7answers
326 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 ...
6
votes
4answers
438 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 ...
4
votes
3answers
260 views
Software Process Management
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
874 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
3answers
304 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, ...
8
votes
4answers
209 views
What are some things to be aware of when getting ready to hand a project off?
I'm current the sole developer/architect of a fairly large web application (ASP.NET MVC stack, roughly 150K+ lines of code) and the end of development is on the horizon. As such, I'm starting to think ...
4
votes
1answer
173 views
How are you handling browser compatibility in the new “rapid release” world?
With the new world of rapid browser releases I am trying to figure out how to define & implement our browser compatibility process.
Previously we would always support the latest major version of ...
40
votes
17answers
2k views
The Programmers Bill of Responsibilities
So, we've all heard of The Programmers Bill of Rights and XP has a similar concept.
It's a common complaint these days that we hear a lot about people's rights but not so much about their ...
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 ...
15
votes
1answer
871 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 ...
16
votes
12answers
1k views
What would you add in this Software Development Project Checklist?
I'm a big fan of checklists. There is Travel Checklist, Moving Checklist and even a Scrum Checklist.
Context: you have been hired by a large corporation and given the mission to setup the whole ...
52
votes
11answers
3k views
How common is it for a team to write everything in-house?
In a recent interview I asked the interviewers "how do you go about evaluating new technologies and libraries (such as SignalR) and bringing them in to use?". They said they don't, that instead they ...
29
votes
15answers
2k views
What's so bad about creative coding?
I was watching Bob Ross paint some "happy trees" tonight, and I've figured out what's been stressing me out about my code lately.
The community of folks here and on Stack Overflow seem to reject any ...
26
votes
24answers
4k views
Absolute statements in IT that are wrong [closed]
I was recently in a discussion about the absolute statement "It costs more in programming time to optimise software than it costs to throw hardware at a problem".
The general thought (of which I ...
28
votes
4answers
896 views
Always and only TDD
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 ...
21
votes
12answers
827 views
What do you do when you feel stuck on a project? [closed]
When I am in a code or design rut, I tend to find a non-dev coworker to discuss the problem with. It forces me to explain the problem in great detail and I'll usually find something I missed in the ...
15
votes
8answers
1k views
Dealing with inflexible programmers
Sometimes programmers who work on a project for long time get inflexible, and it becomes difficult to reason with them. Even if we do manage to convince them, they can be unlikely to implement our ...
12
votes
4answers
650 views
*Hidden Features* in your operating system that increase productivity?
As developers how much time, or do you spend time, In learning the hidden features tricks of your operating system ?
How important do you feel is this for productivity in day to day programming? ...
