Since I've started my first job as a professional software developer about two years ago, I've read many articles about commonly accepted methodologies (e.g. Scrum, XP), technologies (e.g. EJB, Spring), techniques (e.g. TDD, code reviews), tools (bug tracking, wikis) and so on in software companies.
For many of these I've found that we at our company doesn't use them and I ask myself why. Are we doing it wrong or is it merely that these articles I've read are not really telling what it's like in the real world? Are these articles more academic?
So, please tell me what it's like at your company. Tell about everything regarding software development. Here are some suggestions (in the order as they come from my mind). Tell at least if you do it or not, or give a short comment:
- Test-Driven-Development
- Domain-Driven-Design
- Model-Driven-Design/Architecture
- Do you test?
- Unit Testing
- Integration Testing
- Acceptance Testing
- Code Reviews
- Innovative Technologies (Spring, Hibernate, Wicket, JSF, WS, REST, ...)
- Agile
- Pair Programming
- UML
- Domain-specific languages
- Requirement Specification (How?)
- Continous Integration
- Code-Coverage Tools
- Aenemic Domain Model
- Communication (Wiki, Mail, IM, Mailinglists, other documents)
- Effort estimates
- Team size
- Meetings
- Code metrics
- Static code analysis
- Bug tracking
- ...
And remember: I want to know what you really do, not what you would like to do or think you should do.