Instil work with agile development methods. Our process takes the essential working practices from a number of agile methodologies - Scrum, XP, Lean and Kanban - and blends them into an approach focused on delivering maximum value through close collaboration, alignment, transparency, responsiveness and a relentless dedication to quality. We have a baseline agile process but one that bends and adapts to the needs of the software being developed and the people involved.
So we are practical, pragmatic and adaptive but we are also pretty disciplined when it comes to doing the simple things. Continuous integration, clean code, iterative development, intention revealing names, automated testing, quality assurance, etc are all pretty much baked into how we work. For us, these are non-negotiable disciplines, ones that we take very seriously. They form the basis of our culture of engineering excellence and, indeed, the foundation of all our processes, including how we do agile and how we consistently deliver quality.
All our projects kick-start with a collaborative discovery workshop, the purpose of which is to clarify and refine our mutual understanding of the system being built (the shared vision) and to create an initial 3-month development roadmap/plan. Discovery will typically stretch beyond initial face-to-face meetings but its actual length will depend on the size of the project and the agreed outputs from the phase.
Discovery outputs can include:
- Delivery themes condensed into high-level epics
- Identification of key personas and system stakeholders
- Paths that will result in biggest positive impact to the business
- Backlog in form of user stories and detailed requirements analysis
- Prototypes to mitigate risks of unknowns and complex challenges
- Initial UI wireframes (PDF or point-and-click demo)
- Solution architecture including technology stack
- Delivery plan, including milestone and release plan, resourcing, etc
- Communication strategy (see below)
We develop software iteratively, over multiple mini-release cycles. Each iteration (or sprint) compresses planning, coding, testing, QA and release of working software into a 2-week block. Sprints start with a planning session to create a backlog for that sprint and end with a demo of working software. Future sprints are shaped using feedback from previous sprints and current backlog priorities.
Once the initial 3 month plan has been completed we then repeat the process. Subsequent 3-month cycles start with a detailed planning session to estimate, prioritise and map out goals for the next 3-months. And each cycle ends with the same output: the release of working software into production ready for commercial use. For more complex projects we may undertake some additional discovery to mitigate risk and uncertainty, but only when necessary. The key thing is we adapt our processes to work for the project, not the other way round.
One of the key outcomes of discovery is a communication plan which specifies how and how often team members communicate. Our preference is for as much face-to-face communication as possible but we also recommend putting in place a number of other communication channels between all stakeholders. As a baseline these may include some or all of the following:
- Google Hangout or Slack for instant messaging
- Telephone and then email for more formal requests
- Jira for raising issues and documenting user stories
- Confluence or Gitlab Wiki for documenting shared information
- Daily 5 minute standups for quick verbal information sharing
- Weekly reports for documenting progress
- Bi-weekly (all-hands) demos to present progress
Here's the thing - process alone cannot guarantee success. Great software is created by brilliant, dedicated people who have the insight, experience, and expertise to deliver amazing outcomes. And true success is only possible when all stakeholders are aligned behind a clear, shared vision. We firmly believe in the concept of a single team working towards a common goal, all for the benefit of the business and end-user. This simple philosophy underpins everything we do.
Your team is perhaps the most talented vendor that I’ve ever had the pleasure to work with. They’ve been pleasant to work with, have always delivered on time and with the highest level of quality. Your commitment to fully partner with our team has helped us to evolve how we do development, how we think about our business and how we organize ourselves for success. We are a better team because of Instil.
John Stanizzo - Bell Mobility