Remove Continuous Deployment Remove Database Remove Development Team Review Remove Programming
article thumbnail

Lessons Learned: The engineering manager's lament

Startup Lessons Learned

When I was working my first programming jobs, I was introduced to the following maxim: "time, quality, money - pick two." As I evolved my thinking, I started to frame the problem this way: How can we devise a product development process that allows the business leaders to take responsibility for the outcome by making conscious trade-offs?

article thumbnail

Lessons Learned: The hacker's lament

Startup Lessons Learned

TDD plus continuous integration works as a natural feedback loop: if the team is working "too fast" to produce quality code reliably, tests fail, which requires the team to slow down and fix them. Use pair programming and collective code ownership. Pair programming is the most radical, but also the most helpful.