Services

Kenj Consulting offers a variety of consulting services:

Software engineering processes

Practical advice for developing vibrant and robust processes to maximize quality and productivity throughout the software development life cycle.

We have a proven track-record of initiating change in the most challenging environments to deliver measurable improvements in software quality and client satisfaction.

Specific areas of expertise include:

  • Embracing tools at all levels to maximize quality and productivity.
  • Technical product management, especially planning the content and timing of releases.
  • Software release processes with an emphasis on quality throughout, risk management and schedule integrity  (the 7+ year IRIX 6.5 history of executing quarterly operating systems releases on time, with substantial feature evolution, application compatibility guarantees and without serious regressions is an industry-leading case study in getting this right).
  • Building robust teams with appropriate skill redundancy through internal training and targeted recruiting.
  • Using integrated issue tracking to maintain cohesion and drive quality improvements.
  • All aspects of QA and testing – test design, manual and automated testing, workload modeling, functional, load, stress and soak testing.
  • Supporting the installed base through innovative migration tools, design and engineering strategies.
  • Building successful distributed teams.

We have a proven track-record of initiating change in challenging environments to deliver measurable improvements in software quality and client satisfaction.

Performance Analysis

Performance analysis is a holistic process that spans all solution components - from the hardware to the operating system, up through the service and networking layers and into the applications.

To deliver optimal system or application performance requires an understanding of each layer, coupled with a rigorous experimental method using a variety of approaches and tools.

Our strength is in system-level performance analysis and optimization.  This in part motivated, and then was reinforced by, a 15 year involvement in the Performance Co-Pilot (PCP) product and the associated PCP open source project.

Achieving the desired levels of response time and/or throughput will usually involve effort in one or more of the following areas of our skill set:

  • Application-level instrumentation.
  • Correlating performance data across the hardware (CPU, disk, network, memory), operating system, service layers, network stack and application activity.
  • Correlating performance data across hosts for distributed architectures.
  • Identifying resource saturation and bottlenecks.
  • Real-time analysis and alarming.
  • Retrospective performance analysis.
  • Predictive capacity planning.
  • Benchmark design and workload modeling.
  • Rigorous methodology based on hypothesis formulation, experimental design, observation, accurate record keeping, analysis and hypothesis evaluation.

Assessment of emerging technologies

You may be a venture capitalist evaluating a technically complex proposal, or a CIO facing the impact of a potentially disruptive technology or change in product direction.

The benefits we offer in this area include:

  • Deep technical knowledge across a variety of software technologies and solution architectures.  This allows us to both assess proposals and to engage with entrepreneurs and inventors at a level of technical detail sufficient to reveal the true potential of new technologies.
  • Extensive experience in evaluating technological innovation beyond the engineering assessment to include factors such as the impact on strategic business directions, product management overhead, market entry strategy and sales potential.
  • Understanding RoI issues from many years of running significant capital expenditure and operational expenditure budgets with a responsibility to deliver revenue generating products and services.

Our experience in the innovative heartland of Silicon Valley and with bringing new and radical technologies to the world-wide marketplace offers valuable insight to assist your decision making.

Mentoring senior managers

Are you a Engineering or Product Director, CIO, Divisional GM, CEO?

Our extensive experience as part of the senior management team in a number of large and growing organizations enables a transfer of knowledge and open problem solving to tackle problems such as:

  • Strategic HR issues, e.g. skill coverage, training, retention policies.
  • Effecting process change without dislocation.
  • Scaling an organization (up or down).
  • Succession planning.
  • Growing a domestic business into a multi-national business.
  • Defensive strategies for dealing with disruptive technologies.
  • Risk assessment "from the outside".
  • M&A sanity checking.

Often the issues confronting your organization are similar to those previously encountered across a broad spectrum of functions and products in other organizations. In this context, impartial advice from a "critical friend" who has "been there and done that" can often be insightful and helpful.

Open source issues

As open source components become more common in mainstream IT solutions, co-existence with proprietary components and licensing obligations pose interesting challenges.

For example, we led a project to ensure there were no proprietary encumbrances in the XFS file system prior to the source code being released to open source under the GPL and being accepted into the Linux operating system kernel. This involved:

  • Development of new tools and methodologies to compare multiple source code repositories with a battery of "similarity" measures.
  • Collaboration with corporate lawyers to translate legal concepts about intellectual property into technical terms and vice versa.
  • Understanding the terms and conditions for a wide variety of proprietary and open source licenses.

We gained additional experience in delivering a complex and successful service with dependencies on components you do not control at Aconex through their SaaS offering based on open source components, proprietary products and in-house developed applications.

Our on-going involvement with the open source PCP project provides additional insight on how to successfully engage with open source projects.

Based on our experiences with proprietary products, open source projects and hybrid solutions, we can offer practical advice on how to successfully engage with the open source community to deliver successful open source or hybrid products and services.