Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

One note before we continue: software is an ever-changing field and some of these details may have changed by the time you read this!

Development Process

We like to think of ourselves as "small 'a'" agile. We believe in the core tenets of the Agile Manifesto but are not strict followers of any specific methodology, and we shift our process based on business needs.

Sometimes we follow a regular release cadence, using a form of Kanban to track work.

Other times we work in two-week iterations, influenced by Scrum.

In all cases, we believe that cross-functional teams, working in collaborative environments and with short feedback cycles, is the key to building quality software and maintaining a stable velocity over time.

Programming Languages / Platforms / Architectures

LearningBuilder is a large, but reasonably well-organized , monolith consisting of a handful of core assemblies plus the web project. Our long-term vision is less monolithic and more a federation of independent services working together. We have begun using adopted Vue.js in newer parts of the app in an ongoing effort to modernize the UIfor new UI features and have migrated two major features to it so far.

We use:

  • ASP.NET MVC (exploring a .NET 6 migration in 2022)
  • Vue.js
  • SQL Server 2016+
  • SQL Server Service Broker / RabbitMQ, for messaging
  • ElasticSearch, for publicly-available search features
  • SASS, to take some pain out of CSS
  • Ruby and Powershell, to automate our development process
  • AWS for deployment, with growing use of Lambda functions for custom integrations

...