When we approach a new project, whether it’s joining an existing software team to get a project over the line, or designing and building an ambitious new system from scratch, we work with our clients through the following stages:
We talk with stakeholders from across your organization and run deep-dive sessions to discuss the systems and features we'll build. We run face-to-face meetings and white-boarding sessions, we consume the documentation and design artefacts you have already, and we take copious notes. Discovery might happen over a half-day, or many days for larger projects.
Our goals during discovery are:
- to understand the context of the project in-depth
- to create a backlog of high-level product features
We split the backlog into phases, each lasting 6 to 12 weeks, and typically resource and price work phase-by-phase. Phasing helps us break down large projects into tractable pieces and allows our clients to take stock at regular intervals.
Once Discovery is complete, we create a Statement of Work covering the first phase of the project, which is a formal agreement outlining how many engineers we will devote to the project, how long for, the agreed rate(s), and the works we expect to complete.
Once we’ve agreed a Statement of Work, we begin planning for delivery. We assign appropriate engineers, confirm and execute all onboarding steps, create shared channels of communication (we prefer Slack), organize a project kick-off meeting, and add other regular meetings, such as standups and demo sessions, to the diary.
We also establish a light-weight but effective governance structure that assures our projects without introducing unnecessary bureaucracy. This includes regular check-ins with JUXT senior management to discuss progress.
This Pre-Delivery work helps us ensure that everything is in place to make the best start.
This is where we bring our skills and experience to bear, to build exceptional things, fast. During delivery we’ll always:
- Work iteratively, delivering small changes incrementally and seeking regular feedback.
- Communicate regularly and clearly, so that progress on the project is well understood.
- Be ready for change, and react to it quickly.
Working iteratively means deploying features early and often, and seeking feedback to validate our path. With each iteration we will:
- Break down the next high-level features into detailed engineering tasks.
- Work with regular stand-up meetings that project stakeholders are welcome to join.
- Use demo sessions (Show & Tell) to explain recently delivered features and system components.
Many of our projects continue to evolve through repeated phases of delivery, but when live systems aren’t under active development we will often look to create a Support & Maintenance agreement.
Under a Support agreement we’ll provide expert help and guidance, as well as corrective and preventative maintenance to the system we’re supporting. We’ll apply essential security updates and fix bugs if found.
Stability and security are of the utmost importance, and any changes we make will typically be in service of these two goals.
+1 (332) 867 0718