After the initial wave of success of agile development techniques, one particular technique has survived and emerged throughout the years: PDD Panic Driven Development.
This technique shares the core concepts of agile development methodologies but removes all the ceremonies and process burden that reduces velocity in teams.
Let's see more in detail what are the principles of this methodology.
Whenever a new issue comes up in the middle of the sprint, it takes priority over any planned work. New is always better and has higher priority. As a matter of fact it should be one of the principles of the agile development as well.
The focus on delivering value to customer requires the team to take care of new items and postpone previously defined work.
Developers write code for a living. Bugs can be fixed only by code. Design and UX discussion can only slow down the development. Code a solution first, verify your assumptions with the fix.
If the fix works, you solved the issue.
Once the fix is implemented, tests can be planned as a task to be done in the future. Tests are useful but not a priority. You can take care of them later. File a ticket and put it in the backlog.
Manual testing should enough to prove your fix.
Programming is art. Art has an intrinsic instinctive component. Trust your gut. Code your solution. Deploy it. Only the bold succeeds.
Any process put in place to develop, test and release software is just a set of conventions and rules that are not written in stone. Critical fixes require different approaches. It is expected that you bend the process in order to act faster.
As part of one team, managers are entitled to give their opinions on development matters.
Refactoring or good practices can and should be overruled by business needs. Engineers can express their opinions but they should eventually commit to any need that comes from above.
PDD is a technique that can give great performance improvements in a short period time for every project.
It is practiced by several companies around the world. It represents the core of agile and extreme programming.