Keeping it light
Writing code is just part of developing software. Knowing what to write is much harder.
Conventional software development tackles this with analysis and planning, aiming to present programmers with an agreed description of how the system is to behave.
This exploits the standard industrialisation strategy of dividing work into specialised roles. Programmers program; analysts analyse and write; project managers coordinate teams.
Lambent’s approach is radically different. Instead of dividing work between specialists we put one or a few people with all the necessary skills – communication, domain and technical – right at the focal point.
This approach eliminates most of the internal communication load carried by conventional software projects.
Matching software techniques further accelerate development.
- Where practical, we write in APL to minimise code volume. Short programs are easier to modify.
- Functional programming techniques allow us to develop domain-specific notations so that critical sections of the logic can be read by domain experts.
Together these techniques allow us to develop systems in tight collaboration with domain experts and key users. Working directly on the system, seeing results immediately, avoids misunderstandings inherent in written specifications and allows users to see implications of changes.
Feedback loops that normally take weeks or months to complete collapse into minutes and seconds.