Working with clients since 2007 I've been able to try out different ways of working to ensure you get the best results possible.
This has resulted in doing week-long development cycles for clients. But I realized that it's not very clear what this includes so I'm going to describe a typical week to you here.
(One important note: a core principle of my consulting is to be flexible so if you have a different process you'd like to use, I'm open to trying it out and comparing it to my standard process.)
There are two things that I always plan for on Monday. Kick-off and a review of the current state of the project.
Current state of the project
First thing I'll try to get an idea about the current project state. If this is new development or if there is a roadmap in place I'll start there.
If there is existing code I'll take some time to do a code review and try to understand how the major components work.
The goal of this is to quickly become familiar with the application and what it does so I can go into the kick-off call with some familiarity.
The kick-off call is a call between you and myself where we get an overview for the week. The typical agenda is:
- Defining the purpose of the week, typically associated with a business goal or two
- Reviewing the top-most priority work, getting clarifications as needed
- Committing to a set of work for the week, barring unforeseen changes
- Final questions or process clarification
At the end of the kick-off call, you'll have a good idea about what will be accomplished during the week.
With the remaining portion of Monday, development will begin.
Tuesday - Thursday
In the middle of the week I'll be busy implementing and working on the things we decided on Monday.
Depending on what project management process you use, you'll be getting regular updates as things progress.
Ideally I like to make sure you're getting an update every day, whether from the PM system or from just a short summary email.
Depending on how your application is hosted, updates to the staging or test site will happen as things are completed. That way you can use the new features and get me feedback to incorporate right away in the application.
Usually by Wednesday or Thursday I'll have a better idea about how our estimates are going. Most of the time I'm conservative with my estimates and we'll be able to commit to more things for the week, but there is a chance that things didn't go well and we'll need to push a few things out of the week.
That's the thing about software, there are always unknowns and part of having a good process in place is to limit the risk of these unknowns.
The important thing is that I keep you in the loop so your not surprised.
Late Thursday I like to deploy any changes that are ready to production. That way you're getting the value right away and we lessen the risk of a problem deployment on Friday afternoon (spoiling the weekend for everyone).
Midday Friday I schedule a check in call with you so we can review everything that was accomplished. This meeting is also a great time to start thinking about the next cycle of development, next week or beyond.
Communication as needed
Throughout the week you might want to have additional communication points with me. Email is great for many things but sometimes getting on a call or video chat is much more effective.
While I'm happy to do these calls, we both need to balance the communication levels. Too little can cause problems and misunderstandings but too many will eat into the time available for actual development. Sometimes you will need to make the hard decision of either forgoing a feature or forgoing a discussion.