Find out about me on a professional level, pick out a book from my recommended reading section or read one of my blog entries.
If you hit a technical limitation in software intended for use by a person ask yourself if you should be solving the technical problem or changing the user experience and design so it's actually usable. Usually, by giving the user a better experience you also eliminate the need to solve that technical problem.
Here are a few questions you can use to get the wheel turning:
What is the user trying to do or what information are they most interested in?
Do you currently have the data needed to give them a customised experience (if not can you get it)?
When you use the software/system are you shown information or intermediate steps that you really don't care about?
The foundation of Agile software development is Test Driven Development, Continuous Integration and Continuous Deployment. Without these 3 things in place you're not being or doing Agile you're building a Fragile system that will eventually fall apart.
What is mobile first?
I've been trying to evangelize Test Driven Development (TDD) for quite a while now and come to the conclusion that in order to really appreciate it you need to fully commit to doing it properly. It won't really hit you the first day, first week and may take more than a month but at some point you will hit that moment when it just feels wrong to write code without first writing a test for it.