How we work

Software Development Lifecycle (SDLC)

The above graph depicts a small iteration out of many in our development process. This is meant to show that we work in small, iterative deployments to allow for you and your team to get working software that delivers immediate business value. We strive for minimal “up-front design” and work more towards understanding you or your customers to deliver that value.

Requirements

During this stage of the project we will work with you to gather known requirements to help drive the design session of our work. This is not meant to be exhaustive and as we stated will be a continuous process for requirement gathering after we’ve received feedback from users.

Design

During the design phase we look to build lightweight/low-cost artifacts to gain initial feedback from users. This portion of our SDLC is centered around keeping development costs low and avoiding continuous re-development. Possible artifacts during this phase include:

  • Hand-drawn sketches

  • Wire-frames

  • Systems Diagrams

  • Entity Relationship Diagrams (ERDs)

  • Clickable Prototypes

Development

The development phase is broken down into three major categories and processes. We tend to spend the majority of our time in the development phase as it is when we get the most valuable feedback from our users. That doesn’t mean we won’t revisit the earlier phases of the SDLC to try and reset or if we are implementing very disconnected/new features.

Build

In build, we work utilizing some core Extreme Programming (XP) values and principles. We are focused on decreasing the time it takes to release software, increase the quality, increase open communication, obtaining rapid feedback, and simplifying architecture. We take a Test Driven Development approach which allows us to create living documentation and confidence in our ability to move quickly without breaking things

Deploy

In our deploy section, we focus quite simply on shipping fast and often. This can be accomplished through many means/tools. In XP we leverage things like

Trunk-based development (always pushing to the main branch)

  • Working off the main encourages teams to test and verify beforehand so as to not break the main

  • Encourages smaller commits to not create large conflicts

CI/CD at lower envs to production release

  • Lower, testable environments that include automated test suites

Domain decoupling

  • Decoupled work allows for independent workflow

Learn

The final cycle in development is to ask questions and improve. We look at this phase to iterate on what we’ve deployed. In your world, this will look like a weekly, bi-weekly or monthly demo to showcase work and get feedback. This can include any and all stakeholders as we try and position for the best possible outcomes for our customers.

Don't wait to unlock your digital potential – schedule a free consultation today.