For questions relating to the process of developing software.

learn more… | top users | synonyms

12
votes
8answers
576 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
6answers
514 views

How well defined should a software product be before starting to code?

I wanted to know how well people generally define a software product before actually beginning to code and how well it has worked for them? I am referring to defining use cases, analyzing risk, ...
12
votes
8answers
925 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
4answers
675 views

Developing with confidence without a real development environment

I've recently been hired for a project that involves working with and around several third-party "enterprise" systems. Due to what I imagine would be the astronomical cost and effort required to build ...
12
votes
3answers
574 views

Using bug-tracking / issue-tracking software to discuss design questions, new tools etc

Does anybody have experience with using a bug-tracking / issue-tracking software like bugzilla, mantis or JIRA not only for bugs or tasks, but to initiate and maintain discussions that in the end lead ...
12
votes
2answers
372 views

Does scrum have any merit in defense contracting?

Overheard at the watercooler yesterday: "Scrum has no place in defense contracting." I tend to disagree in the sense that I believe Scrum can be tailored to work in many scenarios and I can see ...
12
votes
2answers
892 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, ...
11
votes
8answers
2k views

What are the biggest bottlenecks when developing large projects? [closed]

Let's say that my company was to develop a replica of MS Word (just as an example). What would be the bottleneck to the development process, assuming that one has infinite cash available and an ...
11
votes
5answers
476 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?
11
votes
5answers
2k views

Software Manager who makes developers do Project Management

I'm a software developer working in an embedded systems company. We have a Project Manager, who takes care of the overall project schedule (including electrical, quality, software and manufacturing) ...
11
votes
10answers
632 views

How to keep management out of our development process

I'm a software engineer in an software development team. The last 3 years we worked for an internal customer on a new product. Now this product is finished we're going to work on major new features ...
11
votes
6answers
2k views

How do you keep your unit tests working when refactoring?

In another question, it was revealed that one of the pains with TDD is keeping the testing suite in sync with the codebase during and after refactoring. Now, I'm a big fan of refactoring. I'm not ...
11
votes
5answers
2k views

What is “egoless programming”?

I first heard this term about fifteen years ago. My understanding is similar to that described in the Wikipedia article and a TechRepublic article: you work with your colleagues in a "friendly, ...
11
votes
5answers
597 views

What should I do if I don't have any formal spec? [duplicate]

I recently was assigned to a task, but it says only a couple of words, like, do it as it made there, with no actual spec attached. What is the best thing to do in that circumstances?
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. ...
11
votes
4answers
565 views

Is it wrong to use Agile when clients' requirements don't change at all?

I have seen a lot of posts recently saying that one of the major reasons why Agile is used is because clients often change the requirements. However, let's say the clients do not change the ...
11
votes
3answers
654 views

Introducing a new JVM programming language into an established enterprise environment

Imagine that your current workplace is a Java shop. There is a lot of built-up knowledge about the Java language and there is a comprehensive build and deployment process in place to handle everything ...
11
votes
3answers
600 views

Why create a Logger object instead of using static logging methods across an application?

Taking an example of a simple Ruby on Rails application. It creates a Logger object during application load process: # in environment.rb config.logger = Logger.new(<STDOUT | file | whatever>) ...
11
votes
3answers
616 views

What is Configuration Management?

In all projects that I have been involved with that have had input from an outside consultant the question has been asked about what sort of Configuration Management we were using. In none of these ...
11
votes
1answer
561 views

Slicing up the Development Stack - diagonally?

We've got a new project going on, and at the moment developers have been split into two teams, team A and team B. This project has 2 parts to it which require development throughout the development ...
11
votes
3answers
472 views

How to roll out a feature to only a select few users

A good example of what I'm trying to ask about would be Facebook's new Timeline feature. In the beginning, only a select few were allowed access to timeline. As the feature became more solidified in ...
10
votes
10answers
975 views

Does code generation increase the code quality?

Arguing for code generation, I am looking for some examples of ways in which it increases code quality. To clarify what I mean by code generation, I can talk only about a project of mine: We use XML ...
10
votes
8answers
914 views

Should developers be involved in testing phases?

we are using a classical V-shaped development process. We then have requirements, architecture, design, implementation, integration tests, system tests and acceptance. Testers are preparing test cases ...
10
votes
6answers
2k views

What is a good analogy to explain how software development is different than building a bridge? [duplicate]

If you had a manager, a couple of levels above you, tell you that building software is like building a bridge, how would you respond to that? If this manager truly believes that we should be able to ...
10
votes
10answers
382 views

Is a developer-driven product a good thing?

I work in a company where the CEO manages the product team, who mockup features and drop in the lap of developers to then implement said features. There is some iteration of course, developer's ...
10
votes
2answers
4k views

Is Agile a variant of RAD?

Wikipedia says that Agile is a type of "RAD" which I guess is incorrect. From what I know, Agile was developed becasue RAD itself was not that sucessfull in 90'S (too rigid for changes). Or am I ...
10
votes
5answers
383 views

What are unique aspects of a software Lifecycle of an attack/tool on a software vulnerability?

At my local university, there is a small student computing club of about 20 students. The club has several small teams with specific areas of focus, such as mobile development, robotics, game ...
10
votes
6answers
1k views

Branching and versioning strategy for shared libraries

These posts seem related, but my brain is starting to melt, trying to think this through :P My employer has just started using source control, primarily because before they hired more developers, the ...
10
votes
4answers
793 views

How to prioritize tasks when you have multiple programming projects running in parallel?

Say you have 5 customers, you develop 2 or 3 different projects for each. Each project has Xi tasks. Each project takes from 2 to 10 man weeks. Given that there are few resources, it is desired to ...
10
votes
3answers
316 views

How do you efficiently keep your tests working as you redesign?

A well-tested codebase has a number of examples, but testing certain aspects of the system results in a codebase that is resistant to some types of change. An example is testing for specific ...
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 ...
9
votes
9answers
711 views

Should development methods squash a developer's individualism?

I'm in my final semester of college and am taking a software engineering course. In the class we learn about various software development methods. The one we focused on, and used to develop our ...
9
votes
7answers
459 views

Should cases be reopened for bugs, or should bugs be opened as a new case?

Currently at my work place we use FogBugz for managing all our features and bugs for our different web applications. When a new feature is to be added to one of our web applications, a new Case is ...
9
votes
6answers
720 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 ...
9
votes
8answers
785 views

How do you find time to work on Open Source Projects? [closed]

A bit of background: I've got a small open source project that I've started on, a basic framework which provides an object oriented means of generating HTML code (since I don't really like HTML, and I ...
9
votes
2answers
600 views

How to deal with too much pragmatism in the project? [duplicate]

My team and I took over a medium sized codebase over a year ago when the previous tech lead left the company. Originating from the lack of man power I fear we favored pragmatic solutions over best ...
9
votes
5answers
6k views

How similiar should the environments of PreProd and Prod be?

I've just recently been on a project and during the release, we realized that it didn't work in Production. It works in all other environments but because we have a separate release team, and we ...
9
votes
4answers
614 views

How important is knowing functionality before coding?

I work for a software development company where the development work have been off shored to us. The on shore team handle the support and talk directly to the clients. We never talk to the clients ...
9
votes
3answers
312 views

How best to involve junior developer in designing an application from scratch? [closed]

We are a team of 3 developers (2 experienced devs and a junior). We just started a brand new project. We've designed the application, concentrated efforts on choosing the right architecture and now ...
9
votes
6answers
217 views

How do you create a software process for a project?

As I've written about in other questions here, the project that I'm working on now has no software process. That means no documentation (including hard copy requirements or specification), no source ...
9
votes
1answer
217 views

Looking for the better way to combine deep architecture refactoring with feature based development

Problem statement: Given: TFS as Source Control Heavy desktop client application with tons of legacy code with bad or almost absent architecture design. Clients constantly requiring new features ...
9
votes
0answers
292 views

How to make non-technical management more realistic when it comes to developing software [closed]

I manage a small in-house development team for a large organization. We develop for both internal and external clients. I find it impossible to educate the non-technical senior management about ...
8
votes
4answers
305 views

Is it common for developers to deal with extensive change control procedures? [closed]

This question requires a bit of setup, please bear with me. Last week my company rolled out a new change management procedure. Any change destined for production requires a change control record; ...
8
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 ...
8
votes
6answers
471 views

When does it become overkill?

First off, I apologize cause I don't know how to make a community thread; so someone help me out please. As a developer, across many platforms, technologies and even on an infrastructure level; I ...
8
votes
3answers
729 views

Are XML Comments Necessary Documentation?

I used to be a fan of requiring XML comments for documentation. I've since changed my mind for two main reasons: Like good code, methods should be self-explanatory. In practice, most XML ...
8
votes
6answers
756 views

How can I complete a project as a single web developer? [closed]

I am a PHP 'developer' who codes for fun. My problem is I have never completed my large projects. Please I would like to know how experienced programmers like you are able to complete projects ...
8
votes
8answers
1k views

When developing algorithms, is skipping the pen&paper phase a bad habit? [closed]

I heard many people saying that when developing algorithms you should first use pen and paper, flowcharts and what not, so that you can focus on the algorithm itself, not worrying about the ...
8
votes
4answers
3k views

What does a good “definition of done” for a mature team look like?

When looking at examples of definitions of done in various sources, they usually include points like code completed unit tests run code peer-reviewed or paired code checked in documentation updated ...
8
votes
7answers
599 views

Acceptance tests done first…how can this be accomplished?

The basic gist of most Agile methods is that a feature is not "done" until it's been developed, tested, and in many cases released. This is supposed to happen in quick turnaround chunks of time such ...