We, as probably many of you, are victims of our own success with Alteryx. We are getting more requests and they are becoming more complicated, requiring significant development time as well as communication with the requester to complete. I've been looking at software development techniques and frameworks for ideas about how to better handle this influx of projects. What things have all of you used that have proven useful? Anything from Scrum and agile development techniques, to unit testing, etc; and how have you translated them into the Alteryx framework?
I'm in IT and Alteryx was introduced here via our group. Our focus was "self service analytics" and in that regard Alteryx is pretty widely spread among consumers (business users) throughout our enterprise. We just have a block of Desktop licenses (no Server) so might not be as sophisticated as your installation.
We haven't been involved much in terms of providing/sharing very advanced work (e.g. developing extensions in C++ or C# or anything like that), so not much by way of agile or scrum, etc...
For sharing, we have a shared repository in order to standardize that - nothing fancy.
Anyway, I can mention that Agile, when overdone throughout an organization, can get tricky... if you have *product* teams organizing with scrum, but also *project* teams organizing with scrum, it can get hectic for an individual on both teams. Otherwise, Agile is pretty great - nice way to focus on having something to show ever sprint, and allow consumers feedback every sprint too.
Source control is probably the biggest thing you can take from software development... store things in Git or Subversion (or whatever), and then you can always get back to a specific version.
I find it important to remember that agile is a set of values and principles deriving from the agile manifesto, and while it was intended for software development, the concepts are not exclusive to the creation of software. I use agile values and principles when getting work done outside of work and it works fantastically, as long as I, correctly stated, do not try to get too complex. I find that is the biggest challenge. Simplifying and creating more efficiency is the key.
Individuals and interactionsover processes and tools
Working softwareover comprehensive documentation
Customer collaborationover contract negotiation
Responding to changeover following a plan
As far as how to implement, I believe one should look at what one is trying to solve. Not every framework (LEAN, SAFe, Scrum, XP, Kanban) or application (GIT, TFS, Rally, JIRA, etc,) is meant to help solve everything. Many organizations feel they can just implement the five ceremonies of scrum, for instance, and get better productivity, more stuff done. Scrum was meant to help solve specific problems, just as other frameworks were meant to help solve other things. Remember agile doesn't solve anything. It mearly exposes areas in which an organization can identify, prioritize, and help to solve using the values and principles in the manifesto.
So, my approach and advice would be to look at what it is you are trying to solve. What is the problem? And use the values and principles to help expose, and then eventually solve, those issues.