We can help you in software process improvement by reviewing your current software development practices. The result of such a review is the identification of activities requiring improvement. Slight changes can result in dramatic improvement in efficiency by reducing the amount of rework needed during development and saving time by automatization.
We list here what kind of consultancy we can typically provide. Naturally, we try to fulfill the special needs of our customers. So, if you have something specific in your mind, do not hesitate to contact us.
We take a snapshot on how you develop, build and test your software by interviewing some of your key staff members and analyzing the data with tools in your issue tracker / configuration management system. The collected information is compared with industrial standards and best practices. Finally, you get a documentation containing a big picture on your development and a list of opportunities for improvement (prioritized according to the effectiveness you may gain). These proposals for improvements can contain activities you may include into your process (e.g. propose to your developers to write unit tests first), change in infrastructure (e.g. add automated testing after generation of installers in your CI pipeline).
We take a snapshot on how the architecture of your software looks like and what are the most common problems of your developers by interviewing some of your staff members and analyzing the source code with tools. The collected information is compiled to an architecture review document. This documentation containing information on how your actual architecture differs from the intended architecture (architecture violations); whether it contains any anti-patterns and how your architecture may be improved. We can also help you by proposing tools and practices supporting you in refactoring.
We create a catalog of your projects containing requirements, predicted maintenance expectations and architecture of your products or software systems by interviewing some of your staff members and inspecting documentation. We find similarities between your projects to identify how much repetitive work you are required to do. Based on these findings we propose the most efficient way to reuse the knowledge and source code you already have in your organization (e.g. developing your own DSL for a domain, creating components of a certain functionality implemented in many variations) to reduce your defect rate and improve profitability.