Build software better, build better software

Working With Allen

We are not a typical Agile consultancy, forcing a canned process (like Scrum) onto your organization. We strongly belive that here is no single pre-defined process that works anywhere, much less everywhere, and you have to develop processes that solve your actual business problems in a way most suited to your organization. Our goal is to make your organization more effective, regardless of the process you use. We come to the table with a broad and deep understanding of Lean/Agile and other proven practices, and we leverage that knowledge to help your organization improve. If you're already Agile, we can improve your process. If you're not, we can improve it even more—not by making you "Agile," a word that's come to mean next to nothing, but by helping you develop a system of work that's right for you.

Every organization is different, so requires a unique solution. We work collaboratively rather than telling you what to do, and our advice focuses on making you and your business successful, not on selling some off-the-shelf one-size-fits-all process. We can usually significantly improve organizational effectiveness in a very short timeframe, while at the same time creating a deeply satisfying work environment for your employees, reducing churn, and delivering software that's actually valuable to your customers.

Schedule a free chat with us.
More about Allen

The Process

We always start with a exploratory conversation at no charge to you. We’ll discuss your goals, the problems you see, any issues you’ve identified, and how best we can help you.

Every organization is unique, and our assessment is customized to address your specific goals and concerns. The scope may be company-wide or focus on a department, project, or initiative. A typical assessment spans four or five days (longer for large companies), and combines discovery with active coaching.

During the assessment, I talk extensively with everyone involved in the software-development process and observe your teams at work, providing advice and lightweight coaching when appropriate. This is a collaborative process. We listen of course, but are happy to provide advice an present our observations as we work.

Then, working collaboratively, we'll develop an Action Plan that addresses your objectives. That plan usually includes active coaching to ensure that you have the support and guidance you need to meet your goals, and may also include formal training and one-on-one work with you, your executives or managers, and the teams.

My initial role is that of an advisor, providing an outsiders's perspective and considerable experience. I will identify areas of improvement that you can't see, and will help you identify concrete actions that will unleash your organization's potential. I'll then help make those improvements a reality by working directly with you, your management, and your teams.

Step 1: Discovery

The Discovery phase consists of first-hand observation of your team dynamics, management practices, and workflows. We'll observe how you plan and how you convert that plan to fully-deployed software. That process reveals both what works well and where there's room for improvement and optimization.

Areas of focus

Organizational culture and structure
We'll assess everything from team and department structure and support to overall culture. This stage often involves collaboratively creating a "value-stream map," which not only makes your process visible, but helps you get a deep understanding of your entire system.
We look at the processes you use to build and deploy your software, leveraging our deep understanding of both Lean and various Agile processes and frameworks to find improvements.
We'll assess the architecture of your software system. An inappropriate architecture can slow you down so much that agility becomes difficult.
We'll often look at the code itself, the tests you have, etc., with an eye towards where to make improvements to speed development and improve quality.
Development and deployment environments
We'll evaluate the physical and remote-working environments, as well as the tools you use for day-to-day work (for programming, deployment, and Agile-process monitoring and management).

Step 2: Consolidation

After the discovery phase, we'll work together to develop an action plan to move your organization towards awesome. We'll:
  • Build a shared understanding of how current structures, practices, and policies impact organizational effectiveness.
  • Identify high-value opportunities for improvement, focusing on high-impact changes we can do immediately.
  • Working together, we'll develop a concrete, but adaptive, plan for moving forward. We use Mike Rother's 3-part Improvement Kata, of which the Discovery phase is the first step (assess the current condition). The action plan is the second step: developing several eperiments tha will move you in the right direction. During the consolidation phase, below, we'll execute those experiments and assess the results. If they don't lead to improvement, we'll refine or change them. If they do, we'll create additional experiments at that point. In other words, The Consolodiation phase is really the first step of an iterative Agile proces. Try something small, assess the result, adapt based on those assessments.
During this phase, we'll also colaborate to identify strategic transformational goals. This is a highly collaborative process—we do not work like other consultancies that provide rigid plans for you to follow, but instead work together. Those could be anything from small tweaks (e.g. introducing Agile practices like TDD and Mob Programming) to entire organizational changes that impact the organizational structure and culture. We'll also develop a transformation strategy, which could range from small incremental transformation, to creating a fully Agile "Skunk Works" to act as an incubator, to a full-org "big bang" transformation.

Step 3: Moving to Awesome

Finally, we'll put the plan into action. We do not "bring in a team of experts" to force changes on you. Our goal is to help you become self sufficient, and you can't do that if you rely on outside "experts." Transitions of this sort are never over. You don't want to be left in the lurch when those "experts" leave. So, we create in-house experts from your own people who can continue to help with the transition long after we're gone. We always work across the organization with key individuals and teams. Typically, We'll do one or more of the following:

Transition-team building
In larger organizations, our first step is usually building an internal team to guide the overall transition.
Advice in desiging policies and structures that deliver value to your customers and employees. We focus on providing an environment within which the teams can be optimally effective in identifying and delivering valuable high-quality software to your customers in minimum time. We can help with everything from agile-friendly product strategy, to company culture, to organizational structure.
Management and Product
Agile teams are often self managing, and if there is a designated manager, that person acts as a servant-leader. We work with both mangagers and teams to make them effective in controlling the work while easily adapting to change. We focus on value-based planning and incremental development. On the product side, we help you develop product strategies focused on user value, and suitable for incremental development and rapid regular release cycles. We'll show you how to create effective user stories suitable for passing on to Engineering and how to organize and size stories to identify and eliminate low-value work.
We work to make the teams effective, focusing on technical agile process and architecture. We help improve code quailty while simultaneously improving delivery time, working at the process, architecture, and code levels. For example, we can help you migrate towards agile-friendly evolutionary architectures like microservices, improve your code through practices like TDD and refactoring, help with team dynamics by introducing practices like mob programming and #NoEstimates, and help develop optimal workflows that take a user story from inception to deployment.
We can provide formal training in a full-range of agile topics, using either lecture or workshop formats. We also provide immersive learning workshops that combine education with work on your actual product. Our classes are highly rated and practically focused, often presented as hands-on workshops.
We can do all of the above working either on-site or remote as appropriate.