Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
atheist79521yThese are a few insights from amazon (not me, but I used to work there), there are some inevitable outcomes for these problems that have been implemented in various ways at fang and the like. Answers how to do b at scale, some of c.
atheist79521yAlso, personally, there shouldn't be a separate QA team. Making it good is part of the same skill set as making it.
A) I as senior dev review the proposed changes with a complete diff and match that to the requirement changes or bug fixes. If there's something unclear, I'll either request improvements or enter a "please explain that" discussion. The latter is if I'm suspicious, but not sure whether it's bad or I just don't get it because I'm not enough into the details. If I don't get a sound explanation, the junior is in for being grilled. Failing on advanced stuff is OK for a junior, but failing to team up with me is not.
B) The process is very formal, i.e. there is no coding before the requirements and interfaces are clear. The system level requirements are broken down into component requirements, and the component interactions go via interface requirements.
C/D) None because not applicable. With certified software, CI/CD is a complete non-starter.
@atheist With any kind of serious software, there has to be a separate team. Otherwise, the same kind of requirement misunderstandings when implementing the code will also be there when designing the test cases.
We use azure for our CI CD.. it’s okay, but doesn’t handle retries very well..
Our teams have a meeting weekly to go over cross team dependancies and our deployment actions notate dependencies at the application level.
For our code reviews we use planning and common sense 😉.. typically we assign code reviews during planning, but you are free to add who ever you believe should throw their hat in..
Question for devs who work in large multi-team environments:
A) What is your code review process like? Does a senior review it once and then it's off to QA or do you have "levels" of approval?
B) If you're launching a feature that depends on another team how are you coordinating it? Do you just talk over a ticket and then hit merge and deploy at the same time or like what's your process like?
C) What CI/CD tool do you use? Also what code hosting platform do you use? Github/GItlab/etc.
D) Are you currently happy with the CI tool you're using? If not what are some common issues you're facing?