Fifth principle of lean software development is – empowering the team. The managers listen to the developers , so they can explain better what actions might be taken, as well as provide suggestions for improvements. The lean software development approach follows the Agile Principle “find good people and let them do their own job,” encouraging progress, finding and fixing, etc.
People are not resources. People need motivation and a higher purpose to work for, something reachable, with the assurance that the team might choose its own commitments. The developers should be given access to the customer; the team leader should provide support and help in difficult situations, as well as ensure that there is a positive team spirit.
One of the healthy ways towards integral architecture is refactoring . As more features are added to the original code base, the harder it becomes to add further improvements. Refactoring is about keeping simplicity, clarity, minimum number of features in the code. Repetitions in the code are signs of bad code designs and should be avoided. The complete and automated building process should be accompanied by a complete and automated suite of developer and customer tests, having the same versioning, synchronization and semantics as the current state of the System. At the end the integrity should be verified with thorough testing, thus ensuring the System does what the customer expects it to. Automated tests are also considered part of the production process, and therefore if they do not add value they should be considered waste. Automated testing should not be a goal, but rather a means to an end, specifically the reduction of defects.