If you have
- A highly dedicated team of bright, engaged, engineers
- Any of whom could build the system alone
- Who all like and respect each other
- A client that trusts you and believes in you
Then you will be most effective using extreme programming. Under these rare conditions its the best process in the world.
Otherwise, use pure Kanban and put all your requirements into Jira, use the Structure plugin to relate these to features and to relate BDD-like test scenarios to the stories. Whenever a defect is raised use Structure to relate it to the scenarios it breaks (which will also have the effect of relating it to stories and features). Use the theory of constraints to limit work in each stage of the pipeline in order to free up resources.
See, told you it was easy.
BTW: Don’t try waterfall, it never really existed in the first place.