It’s no secret that we at Gist are big fans of the Agile development process. In several posts on this site, I’ve discussed how we use this process as part of our New Workstyle in order to drive development and generate working product releases faster than is possible with traditional coding practices.
However, just as most “out-of-the-box” solutions have limitations when applied to specific settings, we’ve found it necessary to tweak a few variables within the traditional Agile model. Today, I want to share a few of these changes with you so that you can see how Agile development can be modified to suit your own business’s unique needs, while still providing the efficiency the model is known for.
One of the first things we adjusted within the traditional Agile method was its schedule. By creating our own specific development timeline, we’ve been able to integrate the model successfully in a way that suited our particular needs.
- 18-month Horizon– The highest level in our timeline is the 18-month “Horizon.” Generally, we’ve tried to structure our long-range visions around this interval, which allows us to anticipate the impact of funding rounds and determine the specific business states we’d like to achieve at each Horizon. Planning at this level – rather than, say, 5-10 years out – allows us to better adapt to the needs of our customers in the world of evolving technology.
- 6-month Direction– Within our 18-month Horizons, we attempt to delegate “Directions” at six-month intervals. Our Directions allow us to define the exact corporate and product goals we’re pursuing at any given time, as well as set specific metrics that can be tracked to ensure that development remains on schedule.
- 3-month Product Roadmap– Our last level of strategic planning is the three-month “Product Roadmap.” In our experience, we’ve found that three months is the smallest useful window in which to conduct conceptual planning regarding application goals, market timing and launch opportunities. Once these milestones are set, we’re able to drill down to the more specific activities needed to move development forward.
- 1-month Themes– Planning one month out in the form of “Themes” allows Gist to create the necessary development and marketing teams (following the Agile principle of letting teams self-organize based on the specific deliverables or project goals outlined in our strategic plan). It also gives us a chance to simplify user stories and integrate changes concurrently with the actual development of each Gist release.
- 2-week Sprints– “Sprints” are the cornerstone of Agile development, and at Gist, we carry them out in two-week windows, broken down into eight days of coding, three days of testing and a release day. Sticking to this aggressive schedule forces us to prioritize effectively and narrow down our goals into easily-digestible, actionable chunks.
- 1 Sprint in Preview – At any point in the development process, we prefer to have a single Sprint in “Preview,” meaning that it’s released to a limited number of consumers (typically only 100-200 users at a time). This gives us the opportunity to test hard-to-communicate features in real-time, as well as refine the user experience on an ongoing basis.
Planning out development projects in this fashion can be challenging for teams that haven’t used the Agile process previously, as it involves significantly more milestones than standard “develop, test, launch” practices. As a result, we’ve found that frequent, structured communication is an absolute must for keeping teams on track.
And while regular status updates are an integral part of the traditional Agile development method, we’ve tweaked the process to suit our needs as a team in the following manner:
- Delivery times– All members of the Gist team are required to send out regular status update email messages on Mondays, Wednesdays and Fridays before 10:00am. In general, we’ve found that holding team members accountable to this sometimes-rigorous timetable is a necessary part of remaining efficient and preventing things from going sideways.
- Status update structure– To maximize efficiency, we use a standardized format for status update reporting that enables us to quickly uncover issues and determine how resources should be allocated. Every Gist status update contains the following elements:
○ Personal status – Within our updates, we share personal statuses as Red, Yellow or Green, which quickly alerts fellow team members as to whether each person is on track or at risk of creating issues for the project.
○ Kudos – Sharing thanks between team members as part of the status update process is a great way for employees to recognize each other and highlight major project accomplishments.
○ What I did / What I am doing / Where I need help – This final status update component prevents delays by forcing team members to get down to business drill into key focus areas. Becoming aware of the workload each employee is facing also enables us to quickly reassign tasks between workers to minimize burnout and frustration.
- “Stand-up” meetings – Beyond our regular status update emails, the Gist team also holds 20-minute “stand-up” meetings every other day to build team rapport and to hold team members accountable to our designated timeline.
Overall, we’ve found that structuring both our development and communication processes in this fashion allows us to streamline product releases and accelerate our ability to transform new ideas into future successes.
Have you ever worked with the Agile process? If so, how have you modified it to suit your particular needs? Share your recommendations in the comments section below!