development process - When does a bug become a feature request?

When does a non-critical bug become a feature or should a bug always remain as a bug? For example. Should there be a statute of limitations in place. For example, if you have a defined statute of 1 year. The bug was introduced over 18 months ago, but only noticed today.Should that bug be defined as "this is now how the system works" and to change it, it should be placed on the backlog for prioritisation....Read more

development process - Losing a programmer, what steps to take?

One of the programmers on our team is leaving for greener pastures. We will be going from 6 to 5. What steps should we take to ensure our development process continues to run smoothly, potentially while integrating in new blood.We are currently working on a short release cycle with iterative development. Design - code - review. The person leaving was the most senior dev on the team, and would often give lots of feedback to the rest of the team, especially during the design phase....Read more

development process - 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.rbconfig.logger = Logger.new(<STDOUT | file | whatever>)# and in our application we use this objectlogger.warn "This process is taking too long to process. Optimization needed."My question is, why don't we use class methods (or static methods) for logging? Won't Logger.warn scale than Logger.new.warn? Or atleast Logger.warn seems intuitive than Logger.new.warn.Even if Logger.new is a singleton object, what a...Read more

development process - How to distribute code reviews workload in a small team?

I have a small team where I'm largely the only person who reviews what goes into production and makes sure that the code introduced doesn't contradict business logic, no bugs etc.. I know a lot of this can be improved with tests and we often use them, however I see tests at most complementing the human code review (what was tested, how it was tested will for instance always need a review of the tests and the code under test).However, this all means I've become a bottleneck and a big part of my job has become about reviewing code which is a bit ...Read more

development process - How to estimate bug fixes?

How can you actually determine the size of fixing something which is broken in an unknown way? I tell people in my classes I only know two sizes for defect fixes: 1) Trivial because I already know what’s broken and how to fix it, or 2) Infinite because I have no idea what’s broken or how to fix it! If those are the only two sizes available to us how can we possibly estimate them?I got that from a blog by Bob Hartman but that's exactly my questions. Sometimes seemingly trivial bugs are hugely complicated and sometimes big issues get fixed by c...Read more

development process - What is the best way to maintain software tool chains?

Short QuestionWhat is the best way to create, maintain, and distribute software development tool chains? BackgroundI am trying to develop a workflow / process to create an isolated environment in install and deploy software tool chains for embedded targets. Each tool chain typically would contain an IDE, compiler, and a small set of common tools. I have looked into two solutions but the both have their limitations and I hope to find a solution that has the best of both implementations. The rational behind a stand alone tool chain is so that...Read more

Best arguments for/against introducing ORM technology into a companies dev process

I have started using ORM technology in the last few years. My first exposure was NHibernate. I then moved onto Linq 2 Sql, and Entity Framework.The issue I have however is, there are some organisations where I have found strong opposition to introducing ORM tools.They usually have a number of reasons:they have a lot of built up SQL skills in the team, and are worried about the underlying SQL that ORM's generate.they have DBA's who like to be able to see the SQL an app uses in order that can review it for best practice.they are worried about per...Read more

development process - Avoid or minimize merge conflicts while using NuGet and GitFlow

Here's our problem - we have several solutions with multiple projects using our own nuget packages. We're following GitFlow, but not SemVer. Every time we're developing bigger feature or epic we want to keep it's code up to date with our development branch (which can have some other features or bugfixes done in time of developing aforementioned epic), so we want to merge it regularly. The problem is that in every merge, if there were any changes with our nuget packages, we have dozens of merge conflicts in all packages.config files in our proje...Read more

development process - Is a new build required everytime I make a change to the code?

I am working on a project that has around a hundred different files (.cpp & .h), and it requires around an hour to build the entire project on MSVC 2008, suppose that I now make a change to any one file, do I need to build the entire project once again, right from the beginning, or is there a way out ?I know it is very very noob like, but I am wasting a lot of time, hence I was wondering...Read more

How can we improve our build process?

The company I work at has a (in my opinion) slow build process. We use TFS, and checking in code takes several hours. It goes like this:(Assuming change is made and code review has been approved)First, you make your change and submit it for a preapproval step via a button in visual studio. This builds the entire visual studio solution and runs a subset of tests that we consider to be critical to the project. These builds are run in parallel for efficiency. If this succeeds, the next step is automatically kicked off. If this fails, you get a bui...Read more

development process - Is it a good idea to use a kitchen-sink server for various services?

My (new) development team is setting up its software development environment. I won't describe the whole scenario, since that's another, much-maligned question.Anyway, we're going to have services such as source control (mercurial), a wiki, an issue tracker, a file/document server, DNS and possibly other things. My question: Is it a good idea to put as many as possible as these on a single 'kitchen-sink' server machine? Or is it better to spread them out as much as money, power and server room space allows?Notes: I know that some things have to...Read more

development process - Is it correct to fix bugs without adding new features when releasing software for system testing?

This question is to experienced testers or test leads.This is a scenario from a software project:Say the dev team have completed the first iteration of 10 features and released it to system testing. The test team has created test cases for these 10 features and estimated 5 days for testing. The dev team of course cannot sit idle for 5 days and they start creating 10 new features for next iteration. During this time the test team found defects and raised some bugs. The bugs are prioritised and some of them have to be fixed before next iteration....Read more

development process - How do you manage workflow tasks for a distributed team?

I work for a small software company which is responsible for delivering roughly a thousand custom software packages for roughly 100 customers. We are struggling at tracking the release process. The entire thing is pretty repeatable but, because of the different distribution processes, there are about 2 dozen steps from the time we sign a contract to the point a product goes out the door.To make matters more complicated, we have a few different 'types' of employees that are involved. We have a sales person who gets all requirements and deal term...Read more

development process - What should be done when upgrading compiler introduces bug in existing project?

We've 4 embedded firmware at hand. Two of them are released, are in maintenance phase. Other two are going to be released. The released product uses OKI 411 micro, where as yet to be released products are on OKI 431 micro.So far we've been compiling the code using OKI's CCU8 3.08 compiler. It supports both 411 and 431 hardware. Recently they've updated the compiler to 3.10 and we started using it for all the products.Suddenly we've found that 3.10 is producing unexpected behaviour in one 431 based project. It is related to compiler optimization...Read more