Ask the right question to get to the right answer.
Einstein once said, "You cannot solve a problem with the same level of thinking that created it in the first place". He also said that the definition of insanity is doing the same thing over and over and expecting different results. Smart man.
Understanding the problem we are trying to solve is easier said than done, yet crucial to ensure that your investment pays off. While there is no one way to guarantee success, at Projectized we have, over time, identified a 5-step process that helps us get to the root of the problem so that we can build the right solution.
- Agree on the right attitude - we will never fix problems by blaming others, owning the problem puts us in control of the problem and is the first step to overcoming the challenge.
- Create a problem solving environment - we create a safe and conducive environment for all role players involved to understand the factors that led to the problem.
- Define the problem and analyse the causes - utilising inter alia, the Root Cause Analysis, 5 W's technique, we will bring the issues to the surface.
- Define the solution - Thinking "out -of-the box", we will jointly come up with solutions to the problem and utilising techniques like Kepnoe-Tregoe and Forced Choice paired comparison, we will find the optimum solution.
- Choose the implementation path - equally important to finding the optimum solution, is finding the correct method of implementation; an aspect that is often not well thought through
We have defined and use the Systems Development Design Triangle as our guiding principles behind the bespoke software applications we build.
The approach is to converge Performance, Usability and Resilience to ensure an optimal software product for your organisation.
The Systems Development Design Triangle Methodology is our own methodology developed over the years to ensure our software is built to world class standards. The three elements are:
- Performance - Performance of our software is one of the main areas of our software design and development. We target a response time of <2s between screens so as to ensure a good user experience. We achieve this through optimised database design and building in layers of caching.
- Usability - Our software must look good and feel good. Utilising UI designers, we ensure that the software is ergonomically designed, with controls in the right place. The goal is endear the user to the software which helps when it comes to implementing the change in the organisation.
- Resilience - Our goal is to ensure we have minimum downtime if any at all. We achieve this by designing for high availability, ensuring DR is in place, building in operational monitoring, mitigating single points of failure, etc.
We have adopted the Agile methodology as our preferred methodology for building software as we have found it be most effective in securing “low hanging” fruit.
Through our vast experience in building software via this methodology, we have adapted and modified the Agile process to enable rapid delivery of projects whilst giving our clients the opportunity to optimize and fine tune their requirements as we go along.
We have proven that we were able to implement this methodology in organisation's that are essentially waterfall in operations. We currently have four variants of the Agile methodology that we have created in accordance with the type of project we are engaged in.
Core to our approach in building software is our QA processes and standards that we employ.
All of our consultants must familiarize themselves with our coding practices as contained in our Standard Operating Procedures.
All code must be logged and stored against user stories, peer reviewed, tested for performance and resilience before being released for Systems Integration Testing. Furthermore, we utilise various checklists to ensure that controls are in place in the event of our software being audited.