Understanding the big picture:  At PSL we understand that software is a tool, and not an end in itself.  A piece of software should make life easier for a company or a client, whether that means a service is rendered faster, information is more accessible,  or any other improvement is generated that ultimately makes a customer happier and an organization more profitable.  

For that reason, we begin our projects with a brief by key client personnel on the purpose of the tool that needs to be constructed, and how it fits the larger context of their business.  Adhering to strict rules of confidentiality supported on our ISO27001 implementation, this information is disseminated within PSL to the team members involved in the project, in order to engage their minds to come up with novel approaches and ideas, and not just have the team “code”. 

From a methodological standpoint, PSL approaches development utilizing agile methods, fundamentally SCRUM with some practices of XP (although the nature of some of our projects sometimes requires a more formal and predictive RUP approach).  We are great believers in test-driven approaches to development (continuous testing and integration) and believe in the power of replacing heavy formal documentation with conversations and interactions with the client  (although we are not extremists, and believe some measure of documentation is always helpful).   

Getting to the detail:  Aware that software engineering is a complex and highly interconnected endeavor, after comprehending the big picture we proceed with great attention to detail in compiling all available documentation.

Understandably, many technology projects are stretching the boundaries of “what is out there” and the client can often only share a vision and some key requirements of the software. When this is the case, PSL establishes a strong and constant conversation between client and development team that assures all newly conceived ideas are quickly translated to software artifacts.

Small, incremental steps: Regardless of the project, PSL believes in WYSIWYG (What You See Is What You Get).  For this reason, even when requirements are “fully” specified, we always deliver our applications in iterative, incremental steps that allow the client to perform a sanity check on software milestones.  A rapid release of functional software code both motivates the client team, as well as prevents potential fatal errors from being hidden in the code until the application is “finished” and they become prohibitively expensive to remove. Furthermore, working under constant code releases allows the client to begin utilizing an application early-on, thus deriving value from the investment (almost) from the get-to. 

Now, when the complexity of the application merits it (i.e. connecting many different systems, a system with high concurrence loads or a highly demmanding response speed), PSL may engage in functional tests of the software architecture, to make sure the proposed solution works within the system and  meets the client’s expectations.  

If you see sense in our approach, and would like to learn more about how we would tackle a particular software engineering challenge, please contact us.