I recently joined another team part time where I kinda know several of the people, and they know me for my design work mostly, but I'll be doing design and some development with them. There's a lot of things I've noticed in the space of the first week that are just not done right, but I don't want to bring up a huge list and have people think "who is this person to tell us what to do? We've been doing just fine."
Many things I see aren't being done according to best practices, but not really for any reason other than that's just how they've been working for some time, figuring things out on their own.
So I'm just wondering how to help the team and the mission in an effective way, as it's not just preference, but I believe would make the whole team more efficient, happier, code would be cleaner and more maintainable, and it would be easier to bring new people in. I could either bring up stuff in batches, or just swallow it for now until I build up some leadership capital and have shown some of my value and expertise while temporarily working in the mess.
Some examples:
- the Scrum roles are all out of wack (the same person is scrum master and product owner, but someone else writes most of the stories)
- stories are poorly written, some are misleading, some are vague or just plain wrong, and there's a lot of background context needed. Mostly, people figure out what to work on even though the story doesn't really say
- daily meetings are 1 hour long, and are supposedly a mix of standup and sprint planning
- Git commits are mostly just a ticket number, no other explanation. Many examples of multiple commits in a row with exactly the same message
- Project has no Readme, and wasn't runnable after cloning
- There's apparently a process by which code is mocked up in one branch, then manually copied to another branch and modified in order to create the "real" code that is published
- There's a tiny smattering of unit tests, but no integration tests, no E2E tests. I'm still trying hard to learn how to do TDD well, and was hoping this team would have had it dialed so I could learn, but their software lead said "everyone was new to Framework X when we started, so we had to give some relaxation to the developers" and evidently that relaxation has never tightened up
- There's no built-in linting strategy, and there are examples of different, non-standard conventions within the code (like for naming things).
I know that was long, but given all those things, they seem like big things to me that I would like to help the team overcome and get faster and better, but I don't know if I should be the one pointing these things out at this early stage. Thanks in advance!