The AWS CDK offers an elegant way to share code across teams. However, when developing shareable AWS CDK libraries, it is crucial to consider the potential impact on downstream projects if the library is modified or misused by downstream developers. This blog post focuses on essential best practices for creating resilient AWS CDK libraries that prevent project breakdowns and ensure seamless integration in downstream projects.
Modern agile embraces the concept of not estimating work, and one of the key reasons behind this lies in the infinite complexity inherent in software development. When we refer to 'infinite complexity,' we acknowledge that neither we nor the users possess a clear understanding of the eventual outcome. Attempting to speculate or plan without practical experimentation leads to an overwhelming number of potential outcomes. Consequently, many renowned software developers worldwide recognized that the traditional waterfall approach simply couldn't meet their needs.
Allen Holub does a very good talk about not using estimates for prediction. In an agile context, there are far better ways of predicting how long things will take. For example, predictions can be made through continuously working. As we add stories to the product, and complete stories for the product, we begin to see trends of when the completion dates will be. This is due to two reasons.
I've been discussing agile concepts with various folk. Here's some of my thoughts. Some of them are reiterations of things I've already said, but it doesn't hurt to rehash important concepts. :D