How can you use Ted? If you're looking for inspiration, here's a few ideas: He can help you keep abreast of the latest changes, help your team grow, provide his expertise on your large-scale vision, or rescue a project in danger, among other things.

Research

Keeping up with the advances in software development is tricky.

Heard a lot recently about a particular tool, approach, or technology that seems to hold a lot of promise? Reluctant to adopt something for fear of getting burned? Just want to know what’s in the pipeline from Microsoft, Google, Oracle or IBM, and want to know how it might affect your development team’s bottom line?

We spend time tracking new stuff. We can't predict how everything will turn out, of course, but we can save your team time and money by taking what we know of the tools and technologies in the industry, and either applying those tools and technologies to your project, or explaining them and working with you to decide when, where and how they can best be piloted within your organization.

If you’ve ever asked or said to yourself:

  • “What is XQuery? How will it affect how my data resides in my database, and will I have to go and rewrite all of my SQL queries?”
  • “Rails seems to offer so much productivity gain, but I have no idea where to use it without potentially jeopardizing our company-wide JavaEE standard.”
  • “What is MEAN, and should I care about it?”
  • “Why does it seem that everybody is talking about REST, and yet, from what I see, everybody's only doing a small subset of it? Oy! What exactly do I use in my middle-tier?”
  • “AngularJS, KnockoutJS, ReactJS, help!”
  • “What’s the payoff and drawbacks to implementing an Object/Relational tool? Would adopting it make our lives easier, or harder?”
  • “What are ‘business objects’, anyway? How are they different from 'domain objects'? And why shouldn't we just go straight to the database?”
  • “Do we really need web services?”
  • “What’s a ‘rule engine’?”
  • "What on earth is a 'DevOps'?
  • “Isn’t there some way we can save our developers some time?”
  • “Why is it that we never seem to have time to do it right?”
  • "Does HTML 5 mean that I never need to build a desktop application again?"
  • "I want to build apps for multiple mobile platforms, but I'm nervous--is it really true that I can build it once with HTML+JavaScript and run it on all the mobile devices?"
  • “What’s going on with all the interest in these ‘dynamic languages’? Is my existing code about to be made obsolete?”
  • “What’s a service, and why is everybody talking about them?”
  • “What is Haskell, D, Scala, AspectJ, Boo, F#, Typescript, Kotlin, Dart, Go, Lua, Meteor, Puppet, Chef, Clojure, Detours, Fugue, Spec#, Groovy, ... and why do I care?”
... then contact us, and let us work with your team, your projects and your plans for the future to figure out the answers to these, and other, questions. Let us do the hard work, while you reap the benefits of what we discover.

Mentoring

The skill of a team is often directly proportional to that of their coach. Does your team have a coach?

We offer onsite and offsite mentoring services, on just about every technology in use in the modern enterprise (.NET, Java, Ruby, Node, NoSQL, Big Data, and a few others you may not have heard of before), as well as on the use and practice of agile development practices. Get started in the smartest, most practical, most pragmatic way. Let us answer your questions on the spot. Spend a day, a week, a month, or more, or work with us to figure out how much time you need and when you need it. We can help make your next project a success by providing guidance on all aspects of architecture, coding, deployment and maintenance. Let us mind-meld with your team to produce outstanding results.

Typical mentoring experiences vary, some lasting a couple of days, and some stretching on for months. Here are some common scenarios:

  1. Supporting an existing project under way:
    • Meet with developers to assess skill set
    • Create and present customized training to fill voids in developer skill set
    • Review current projects and work hand in hand with developers to solve issues
  2. Developing a new project:
    • Review organization architecture and infrastructure
    • Assist in design decisions
    • Create customized training developers needs for pilot project
    • Answer questions and issues as project proceeds
  3. Developing a pilot project or research spike:
    • Review organization architecture and infrastructure
    • Identify goals of the pilot project or research
    • Assist in design decisions
    • Work with developers on the pilot itself
    • Assist in evaluating pilot's conclusions
    • Answer questions and issues as the pilot rolls out
  4. Migrating to agile development:
    • Meet with developers to assess skill set and next-phase project goals
    • Identify projects that are good candidates for transition
    • Create and present customized training to fill voids in developer and project management skills
    • Answer questions and issues as project proceeds

Mentoring services can cover systems and enterprise architecture (look at the big picture, how will it all fit together), application design (what is the best approach to a solution), technology strategy (make the best use of the chosen tools/technologies), and/or deployment (rolling it out in your environment, minimizing pain) for the architects and management executives. Mentoring services can also include developer-focused services, providing a resource for questions, tool reviews, and design discussions or code reviews.

Is there another topic of particular interest to you? If you have questions about an area we don't specifically mention, please contact us. If there’s a technology you’ve heard something about but don’t have the time to consider if or how you might use it, contact us--we also conduct research projects on behalf of companies, producing prototypes and analyzing its potential benefits and drawbacks to a particular organization.

Architectural Review

Sometimes, a project is in trouble not because of the people involved, but because the architecture is too complicated... or not complicated enough. Getting a software architecture right is not trivial, and too important to trust to people who haven't "been there, done that" across a variety of platforms and software tools.

Not sure? Ted is the guy who invented the Architectural katas, specifically as an exercise to allow architects to practice their craft, and as such he's been reviewing architectures on a regular basis (usually at a half-dozen or so workshops, each doing six to eight such exercises per) for close to seven years. Nobody else has that kind of architectural review experience.

Architectural Guidance

Getting ready to kick off a huge new project? Want the eyes of somebody who's been in the industry since computers were too large to fit in your lap and still ran with only 640K? Getting the right architectural guidance is the first step, and keeping the team on track with those architectural principles is the next step.

Not sure? Ted is the guy who invented the Architectural katas, specifically as an exercise to allow architects to practice their craft. He created the kata exercises, and for each one he's come up with three to six solutions based on various architectural constraints (sometimes arbitrarily imposed simply to challenge himself). If there's anybody in the world who knows how to offer architectural guidance, it's him.'

Strategic Guidance

It's a fast-changing technology world. It's a world changing faster and faster thanks to technology. The changes themselves are creating new changes and challenges. What's new; what's old, what's tried, what's true, who knows? Trying to keep abreast of your business and the technology world at the same time is nearly impossible. So don't try; leverage someone who knows the technical world inside and out, and can talk to non-technical people about the important things to them: brand, market penetration, revenue, position, market dominance, and more.

Technical Due Diligence

Should you buy that startup, or not? Should you acquire that technology, or not? Will that team you're looking to bring in based on their open-source work be successful in what you want out of them, or will things start to fall apart once you go to scale? Let's take some time and do a due diligence review, which can consist of some or all of the following:

  • Establish goals of due diligence
  • Meet with target developers and management
  • Review organization architecture and infrastructure
  • Analyze existing processes and artifacts
  • Prepare findings for review by all parties
  • Conduct review and answer questions and issues

Rescue

When a project drifts into danger, how do you bring it back under control? While there's no one-size-fits-all rescue plan that solves every endangered project, it often follows a pretty similar curve: Listen, Act, Measure. Listen to find out where the key problems are, Act to reduce a little pressure on one of those areas, then Measure to see how the project responds. When you've seen as many projects as Ted has, it's actually not too hard to spot the problems, know how they've been solved in the past, and slowly bring a project back under control.


Published on 01 February 2022