Posts

Showing posts with the label Lifecycle

Quality is day 2 - the day that never comes

Image
Quality has to be baked into the decision-making process from the beginning of any effort. We often talk a good game about making sure we improve the quality of a product or process at "some time in the future" or "in the 2nd release". We hear this a lot in the crunch period at the end of a project. The date or some features trump repeatable process or quality efforts.  The next iteration is filled with "must-have features".  Day 2 turns out to always be the next release, next quarter, or never. Baking corner cutting into the process Some groups just own that they will produce junk and build stabilization sprints  and quality increments  into their process. They schedule specific periods for additional testing and QC.  I've seen this work and I've seen it become a major anti-pattern where teams get even sloppier because they know there is a quality improvement phase. Immediate payof...

Maven Lifecycle Phases - Fitting in Code Analysis and Other Tools

Image
The build management portion of Maven operates on a type of Template Pattern. Maven moves from lifecycle-phase to lifecycle-phase until there a step failure or until all steps are complete. The following diagram lists the build lifecycle phases. The orange squares represent the main targets that people run. Every phase is executed starting with Validate until the requested end phase is reached. For example "mvn validate"  runs just the Validate  phase. " mvn compile" runs Validate, Initialize, Generate Sources, Process Sources, Generate Resources, Process Resources and Compile. Each Maven Plugin  executes with in a phase. The Surefire  unit test plugin, as an example, typically runs the tests in the Test  phase.  This means that unit tests don't run if Validation, Compilation, class processing or any of the other preceding phases run with errors. Maven plugins can execute in their default phase or in any phase of your choosing.  Lifecy...