You can apply most Agile principles selectively on projects.
Forest Gump made the line famous and it is a useful way of referring to the toolbox approach that many people take with Agile. If you would like to improve daily collaboration then hold stand-ups and scrums, if you want better quality code try pair programming; the point is Agile isn’t an all or nothing way of developing software. Every Agile practitioner or coach has their preferred aspect of Agile. [1st of 5 paragraphs]
We are adopting Agile in a medium sized software development team and as we learn more, so we apply it in new and different ways and on additional projects. There are already flavours to how we have applied Agile, depending on how we need to improve the health of each specific project. Sometimes dark chocolate is what you want, other times it’s white, something nutty or something totally different. [2/5]
However, there is a danger in thinking that Agile can be all things to all projects or that simply picking and choosing Agile techniques will restore any project. Often, such issues are symptomatic of far deeper problems – complete misalignment of key stakeholders, or ill-conceived requirements based on badly understood business problems. A full adoption of Agile with proper application of its principles from the start of a project has a better chance of tackling these fundamentals. [3/5]
If you don’t have the luxury of time or a complete adoption by willing stakeholders and team members then immerse yourself in Agile principles but be selective in applying them. There may be core issues on a project that are difficult to solve but sometimes the discrete improvements can make a huge difference and trigger unintended positive consequences. Another article proposes that Agile doesn’t have to be all or nothing, and describes the three pillars of an “Architecture-driven Agile triangle offense.” [4/5]
Forest Gump actually said: “Life is like a box of chocolates, you never know what you are going to get.” That shouldn’t be the case here; you should know what, how and why you apply an Agile principle before you do so but sometimes the results can be unexpected. Successful software engineering can be difficult but if you understand and apply Agile, even selectively, then it should be more certain than life and its unpredictable box of chocolates. [5/5]