Timeline for What's the correct way to do pair programming?
Current License: CC BY-SA 4.0
33 events
| when toggle format | what | by | license | comment | |
|---|---|---|---|---|---|
| Feb 27, 2023 at 15:26 | audit | First questions | |||
| Feb 27, 2023 at 15:26 | |||||
| Feb 25, 2023 at 15:21 | answer | added | Martin Maat | timeline score: 2 | |
| Feb 25, 2023 at 0:35 | comment | added | Paŭlo Ebermann | As you mention "screenshare", could you clarify whether you are sitting at the same computer or doing this remotely? | |
| Feb 24, 2023 at 21:04 | answer | added | CaptainCodeman | timeline score: 0 | |
| Feb 24, 2023 at 17:13 | comment | added | candied_orange | Pair programming done right is certainly more than merely "another way to do inspections" it's also another way to do collaboration. It's also not the same thing as a formal peer review. It provides vital feedback timely but can cause problems due to the role being different. As a fellow author of the code your pair partner is subject to the curse of knowledge and go fever same as you. Your pair gives you a warm reading of the code. Your peer reviewer gives you a cold reading. These are not the same. | |
| Feb 24, 2023 at 15:17 | comment | added | Ben Voigt | @Graham: David's correct. And the standards certainly do not specify pair programming as a way to do reviews. That sounds like some manager hoping to save the cost of doing software inspections (which are much more than reviews and cannot be replaced by pair programming alone) | |
| Feb 24, 2023 at 14:14 | comment | added | Graham | @DavidHammen Sadly they're paid-for standards. They very much do specify the process, because the point is that safety isn't something you tack on the end. So they do specify requirements for requirements traceability, reviewing, and the level of testing required (especially DO-178B), for a given SIL. Pair programming is only considered as another way to do reviews. | |
| Feb 24, 2023 at 10:45 | comment | added | Michael Freidgeim | Possible duplicate of softwareengineering.stackexchange.com/questions/93820/… | |
| Feb 24, 2023 at 10:27 | comment | added | David Hammen | @Graham Regarding "MISRA doesn't want it, DO178B doesn't want it." Sources for this? I too have worked on safety-critical software, and while I am not a fan of pair programming ("not a fan" is an extreme understatement), it would be good to see evidence behind those claims. While MISRA and DO-178 B/C do care about what the development process produces, including an end product that works to spec and only to spec, they do not dictate how the development process works. Agile and related techniques can be and have been successfully adapted to the development of high reliability software. | |
| Feb 24, 2023 at 9:13 | answer | added | h22 | timeline score: 5 | |
| Feb 23, 2023 at 19:16 | history | protected | gnat | ||
| Feb 23, 2023 at 15:55 | comment | added | candied_orange | Let us continue this discussion in chat. | |
| Feb 23, 2023 at 15:46 | comment | added | Anti Gamer | @candied_orange It's also something I find I'm doing even with my wife. Like I love her so much but I think it is time-consuming to be married now with a family. I could be spending more time programming and I haven't properly factored in marriage just yet into my programming time estimates, since I always assumed I didn't have a wife before. I still want my wife but I made my whole life about doing things better in a fraction of the time that everyone else requires since I made my estimates as a bachelor working 120 hours a week, and not a married man whose wife wants to spend time together. | |
| Feb 23, 2023 at 15:42 | comment | added | Anti Gamer | @candied_orange I think one thing I did wrong my entire life is that I really navigate the most bare minimum dangerous zone for time estimates. Need a cutting-edge path tracer that beats everything in the film industry? 6 weeks! A sane estimate is more like 10 years. But I have come to deliver on those estimates, and always without sleep, and my company expects me to continue to deliver time and time again. So if I'm paired with a junor who doesn't even know how spatial indices work, and I'm still expected to deliver the next cutting-edge thing 2 weeks from now, I'm screwed. | |
| Feb 23, 2023 at 15:35 | comment | added | candied_orange | @AntiGamer professionals take responsibility for doing things no one asked for because they know they provide things someone did. Training can be as informal and simple as telling someone where the bathroom is. Don't worry about your superiors approving you providing help unless they've told you not to. Long as you get your stuff done. | |
| Feb 23, 2023 at 15:28 | comment | added | Anti Gamer | @candied_orange Definitely so! I look at training people as an investment, and these days I'm getting old so I think maybe if the company could give me just a little bit more time training, I will create for them someone far superior to me. They are all so sharp and bright. But the idea of this "investment" as I see it doesn't seem to click with my superiors. Some can't even be bothered to buy proper hardware for build servers. | |
| Feb 23, 2023 at 15:26 | comment | added | candied_orange | @AntiGamer it sounds like your chief problem isn't juniors slowing you down. It's management over stressing you on productivity. Can't tell if that's them or you. Keep in mind, they really have no idea about the technical stuff. But if you feel like you're underperforming they always pick up on it and assume you're right. | |
| Feb 23, 2023 at 15:22 | comment | added | Anti Gamer | @candied_orange Actually my company experiences are sorta horrific in terms of their stinginess. For example, I worked for one which had millions of customers but our build server for OSX was running on the cheapest iMac. We were waiting 2 hours sometimes in queues to build our C++ code on it when far more powerful hardware was available and for less than what they paid each of us per month. It's so silly -- anyway, I hope you'll forgive my rambling. I really think at least my side of the industry (realtime computer graphics) is doing things so wrong. | |
| Feb 23, 2023 at 15:19 | comment | added | candied_orange | I paired with an intern who had no idea how our system worked. We needed to talk to a printer and had code that sent the printer a command that needed to be recompiled every time you changed the command. I decided to turn that into a command shell. Explained what I was doing to the intern. Wrote up a bare bones version in front of him. Got to point where it was working and I was tired and said, "Want to take it from here?" "Sure!" He did great. Polished it up right then and there. | |
| Feb 23, 2023 at 15:18 | comment | added | Anti Gamer | @candied_orange It's a tough balance in my experience! Maybe I just haven't found the right team yet. I really love training, but not when I'm expected to deliver at the same rates I do when I'm not training. So my dream is to train but sometimes we just have to ship, and I think that's when pairing junior with senior can be so counter-productive. Companies shouldn't operate this way, but either I've had the worst luck or almost all do in my experience. They don't realize the value of training. | |
| Feb 23, 2023 at 15:16 | comment | added | candied_orange | Pair programming != training however, it is possible to pair senior and junior. Sure training will end up happening and slow things down. But that's going to happen anyway. Doesn't mean effective pairing can't happen. | |
| Feb 23, 2023 at 14:48 | comment | added | Anti Gamer | Like you don't pair Maverick with a rookie in Top Gun or else Maverick will waste so much time training the rookie. You pair him with Iceman. Pair programming should operate on a similar hierarchical level of skill, experience, and I dare say even like-mindedness. Some level of contrast is good, but you don't pair a Michaelangelo with someone who is still trying to figure out how perspective works. That's going to be so counter-productive making Michaelangelo have to teach the basics in your team which is even the most mediocre artist can do and an inefficient use of him. | |
| Feb 23, 2023 at 14:46 | comment | added | Anti Gamer | @GACy20 I echo this. For OP, you might be conflating training with pair programming. The most productive sessions I've had in my teams when I was paired with one expert (ex: an expert at shading) with me (I hope I can count myself as an expert in image and mesh processing). Together we designed the most effective texture pipeline that I couldn't have possibly done on my own, and he couldn't have possibly done on his own, since we have gaps in our expertise. But we weren't training each other so much. We were just filling in some gaps we had in each other. | |
| Feb 23, 2023 at 9:21 | comment | added | GACy20 | Pair programming != training . When you develop in pair you should pair senior with senior and junior with junior. When you do training you should pair senior with junior | |
| Feb 23, 2023 at 9:17 | answer | added | Thorbjørn Ravn Andersen | timeline score: 4 | |
| Feb 23, 2023 at 8:49 | comment | added | Graham | I've worked on safety-critical software. Stuff fails, people die. None of the places I've worked have never used pair programming. So if your people have some belief that it works, ask for evidence. MISRA doesn't want it, DO178B doesn't want it. What they want is reviews - and pair programming is not a review process. | |
| Feb 23, 2023 at 2:22 | history | became hot network question | |||
| Feb 22, 2023 at 22:25 | answer | added | Flater | timeline score: 19 | |
| Feb 22, 2023 at 20:10 | history | edited | candied_orange | CC BY-SA 4.0 | Our Q/A format doesn't do opinion polls well. Avoid questions to which all answers would be equally valid. |
| Feb 22, 2023 at 18:57 | answer | added | candied_orange | timeline score: 72 | |
| Feb 22, 2023 at 18:54 | comment | added | Greg Burghardt | I'm not sure how to objectively answer this question. Can you clarify the problem you are trying to solve, keeping in mind that this community does not support subjective questions? | |
| Feb 22, 2023 at 18:35 | review | Close votes | |||
| Feb 28, 2023 at 3:09 | |||||
| Feb 22, 2023 at 18:19 | history | asked | antonpug | CC BY-SA 4.0 |