What Is It?
This means working directly with the developers, their leadership, their management (not necessarily the same as leadership!), and any other people they interact with as a developer (such as designers, QA, support, etc.), to determine the current and desired situations, and what tools, techniques, processes, etc. would be most effective to bridge that gap (within a reasonable budget).
Why Do It?
Mainly, to help your team work efficiently, rather than being hobbled by an inefficient process, bad tools, etc. Yes, it's a bad craftsman who blames his tools... but a good craftsman will still do better with good tools (and techniques, and processes).
How Does It Work?
Part 1: Arranging
First, you send me some generic information. I email you back, asking some more questions. Some of these are generic, and some are follow-ups to what you said. There may be some more back-and-forth. This is all to make sure that we make best use of our limited time together.
If we determine that my advice services are a good fit for you, we discuss to determine how many weeks of observation and discussion you need. This and the expenses determine the total price. After you send in a 50% deposit, we set a date and a place (which may be virtual).
Part 2: Discussing
When that date comes, you and I, and your development team, and the other people I mentioned above, discuss:
- what challenges your team is facing,
- what you'd like the situation to be,
- what unique strengths and weaknesses your team has,
- what sorts of things you're planning to have them work on,
- what you're doing now,
- what else you've tried,
- how that worked,
- what budget you have for personnel, tools, and infrastructure,
and so on. I also observe your current processes, meetings, tools, etc. in action, especially any planning and review meetings (even relevant ones where the developers are not present).
About halfway through, we'll check our progress, to see if you feel that we are on track to cover everything you need. If not, we'll discuss options such as covering a broader area but in less depth, staying more focused, changing direction, taking more time now (if I'm available), scheduling an additional weeks for later, and so on.
At the end, we'll check coverage again, to see if we're really done discussing, or if we need to take more time now or schedule additional sessions. We may need that to go into more depth, examine new ideas, discuss something we skipped, or other reasons.
You may also have me temporarily join your team, so as to experience the situation from within, ideally including both on-site and remote work if you offer both. See the Skills page for my current technical skills. However, even without knowing the specific technology stack, I can observe a lot about how your team works -- including how they "onboard" a new person, which can be critical to success.
Part 3: Delivering
After our discussion, I do some more research to close up any gaps, and maybe ask you some more questions by phone or email. Within about a week or two, I will send you a report, containing detailed recommendations about processes, techniques, tools, etc. tailored to your staff, projects, etc. You then have 20 days to send me the other half of the payment.
How Long Does It Take?
As implied above, we need to discuss that. My initial rough estimate is one week of discussion and observation per twenty people to interview or hours of meetings to observe and/or participate in. (The rest of the time is for such things as writing and consolidating notes, investigating your systems on my own, etc.) Then add any weeks that you like me to work as part of your team. Finally, I will need about as long as the discussions, to finish my research and write up your report.
How Much Does It Cost?
The price is $20,000 per week, plus expenses. There is no limit for remote work, but I will spend a maximum of two consecutive weeks, and 20% of my time, on travel.
What Else Can I Get?
After you've had a chance to review the report, we can discuss whether you want some additional services, for additional prices we will discuss. Mainly:
- If I'm available, you may ask to have me continue, including either more interviews and such, or working as part of your team, including ongoing process improvement, mentoring (especially of junior developers), etc. We can do this on a part-time basis, retainer, or various other arrangements.
- We can arrange a "check-up" in the future, where I will look at any changes in your goals, staff, types of projects, technologies, etc.
- Of course I'm happy to "cross-sell" you on my training and project roadmapping services. :-)
- If there are other add-on services you would like, we can discuss them then.
If there's anything else you need, or you're ready to submit your inquiry, go ahead and contact me.