C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, it blows away your whole leg.
To create and sustain autonomous, creative, innovative teams, you don’t want “more communication” you want “effective communication.” This is easier said than done, but it starts by having smaller groups of people work together. They get to know each other better, they form relationships, trust, and motivation. There is less chance of group think or social loafing.
There is no such thing as an IT project - there are business projects that leverage technology to enable them.
Developers lack the breadth to always understand the broad set of consequences of certain decisions, while architects lack the depth to always understand the implications of decisions on implementation. Architects and developers must work together very closely to establish the architectural vision and prove that vision will work through implementation.
Every system has an architecture. Two things I've said about architecture in the past: first, every system has an architecture - most are accidental, some are intentional; second, the hyperproductive projects I've encountered all tend to proceed by the incremental and iterative release of an executable architecture. In short, architecture is central to enduring software.
Manage expectations vs. manage the project? Most CIOs I know are doing, by my estimation, a better job at the latter than at the former.
...your best bet is best practices.
Instead of thinking of design as a phase, which is mostly completed before you begin construction, you look at design as an on-going process that is interleaved with construction, testing, and even delivery. This is the contrast between planned and evolutionary design.
We believe the key to writing good software is to have good programmers...You don't have to accept less-talented people. It's the more talented people who get most of the work done.
While it's annoying to reverse a migration, we again gain from each migration being small, which makes it easier to reverse.
(Speaking on advertising revenue based free software)...This model will not work if people don't love the software.
If you were plowing a field, which would you rather use: Two strong oxen or 1024 chickens?