Pair programming for “small” projects
Posted by kneeo_76@reddit | learnprogramming | View on Reddit | 6 comments
I’m wondering what other companies handle developers working in pairs or as a team on “small” projects. For example say we have a project to send a medical claims file to a vendor on a daily basis. Typically we have 1 developer work with a business analyst and they meet weekly with a 3rd party vendor. These projects usually last a month or two before implementation. The developer will work alone and create files for testing. If the developer was on pto and we needed an emergency change we can check out the code, work with a BA, and make a small change.
I’m being asked if we could have a back up. This would mean having 2 developers go to the meetings etc. which one would take point and what would the 2nd one do? Is it worth having a 2nd person go to all the meetings by yet not really do any coding?
How do other companies handle this? We don’t deliver software to anyone. We just do data exports. The program would typically be scheduled or be ran by an operator.
Thanks for responding.
ToThePillory@reddit
We are a small company where two people might work on the same project, but we never do pair programming, we just work on different parts of the same project.
Having two people go to meetings is fine if they have time, but only if they're actually contributing to the project, I don't see any point in just having someone sit there and listen if they're not actually part of the project.
Rinuko@reddit
This is my experience as well. From personal experiences, pairing development isn’t always a time winner, but often more time consuming.
However a second dev might do the CR and testing which you aught have a process for.
besseddrest@reddit
The 2nd is just a back-up. They've already got their own tasks to focus on. They're only needed when the PTO arrives, they only need to know enough to cover for the duration of the PTO. The level of preparation and context that the back-up needs is on the developer (or your manager)
besseddrest@reddit
adding to this: generally its expensive to put 2 resources on a task/project that normally is handled by a single engineer. Example: training new hires is expensive. Interviewing candidates is expensive. You pull those engineers from their work, time still elapses. The person they are training isn't contributing yet, so the in the training situation the company is burning 2x $$$.
besseddrest@reddit
(not that you should care about the costs)
dmazzoni@reddit
First of all, do you do code review? Do you have a place for central documentation and standard processes?
If not, that seems like the higher priority.
Having a single developer working on a small project and being the only one at meetings doesn't sound unusual to me. However, at any company I've worked at, other people on the team would be reviewing their code, so everyone on the team would be aware of the project and would have a rough idea of how it works from the code review.
Of course it'd take time to ramp up on somebody else's project - but that's a normal thing to do when someone's out of the office for more than a few days.
In terms of the meetings, it doesn't sound horribly wasteful to have two developers there every week, but as an alternative maybe a manager or PM could be the one to attend. Then when the primary developer isn't available, the manager or PM would provide the context about the project, and the secondary developer would be able to find and edit the code because they've reviewed it and because it's documented.