Since 1.5 years, I am a part of a relative small development team with less than 5 developers (not all of the team members are stable and some have left the project during the time I was here). We have a project manager and a parallel team of 3 people who do mostly business stuff and customer care, occasionally testing the software before the release.
From what I have learned in books, at stackoverflow etc. it has been clear to me that we do a lot of things wrong, let me give you some details before I formulate the question :
+
- We have introduced the TFS source control and integrated build, we have a deployment machine where the latest version of sources always resides and everyone can play with it.
- We have a relatively smart way of handling the database versioning with transformation scripts that are automatically executed as a part of the build process.
- We track bugs and tasks in a SharePoint-based portal, we have a quite stable workflow of resolving them and later closing them when somebody from the business team tests them.
-
- Apart from manual testing done by the guys occasionally, which is by no means exhaustive, we have absolutely no reliable unit or integration tests and with a relatively huge code base it seems quite problematic to introduce any (with so many dependencies already in place it's hard to write dependency-free testable code)
- All the developers in the team have their area of responsibility, which is mapped to an area in the code where they are frequently the only person who understands the requirements and the way they are implemented in the code. With a lot of junk in the code it also means that when somebody leaves the team (it has already happened), we have a lot of junk to maintain.
If there are any things I have forgotten, please give me feedback so I can complete them. Now me being one of these developers I have only limited power to actually make anything better, but I am interested in what you think are the most critical things and possible solutions from my position and overall.