Just a few weeks ago we celebrated the 10th anniversary of the drafting of the Agile Manifesto. To celebrate the 10 year anniversary many of the original signatories along with some other agile proponents got together to review what has happened during the past 10 years and to consider the future. There are numerous blog follow-ups around the event — just hit your favorite search engine with “snowbird 2011” and you’ll get plenty of hits. I encourage everyone interested in the state of the industry to read the various perspectives of those who participated.
While looking back is interesting, I’m most interested in looking towards the future. One of the outcomes from the 2011 Snowbird event was a summary statement consisting of four aspects that need to be focused on during the next 10 years. These are:
- Demand Technical Excellence
- Promote Individual Change and Lead Organizational Change
- Organize Knowledge and Improve Education
- Maximize Value Creation Across the Entire Process
I’m both proud and excited that Perficient is actively working to improve in all of these areas. Indeed these things are part of our corporate culture, as reflected in Perficient Promise (search for “Perficient Promise” after following the link). Over the coming weeks I’ll share more about our various activities relative to each of these statements, starting with this entry, which focuses on Demanding Technical Excellence.
As I’ve described in my previous posts, I consider Perficient China to be the best university in Hangzhou. Of course our intent is not to be a university in a traditional sense, but instead to assure that we’re assembling and developing the best possible team so that we can make significant contributions to the success of our clients business.
Our training programs have matured significantly during the past several years. Starting in 2007 we established a Foundation Training Program, which allowed us to establish a stable and common foundation that allows all of our consultants to speak the same technical language, so to speak. This program was specifically targeted to assure that all of our consultants had a common understanding and base capabilities in a variety of technologies and related practices. Examples of the materials covered include TDD (Test Driven Development), ATDD (Acceptance Test Driven Development, something we refer to internally as Test Drive Requirements), Automated Testing, UML and Agile Modeling, Design Patterns, Refactoring, Continuous Integration, and numerous other courses. Our Foundation Training program continues to be delivered on a rolling basis with one course and associated lab being delivered every couple of weeks on two consecutive weeknights.
After successfully establishing and delivering the initial round of Foundation Training, we established a new program, our Boot Camp program, which includes all of the training found in our Foundation Training course, along with some additional courses which focus on both the technical and soft skills necessary for our team members to become qualified, effective, and successful consultants. Unlike the Foundation Training, which is delivered over an extended period of time and is targeted towards experienced team members who are already actively engaged on projects the Boot Camp is an intensive full time three week program targeted towards interns and new employees. During the first week the team members go through New Employee Orientation training, and complete a Certified ScrumMaster (CSM) training program. On the final day of the first week the team is task with establishing an agile engineering environment that includes version control, CI, and quality metrics support through static and dynamic code analysis tools. (See my related presentation, Agile Engineering Environment, on Slideshare.net.)
The next two weeks of our Boot Camp are two intensive one week sprints. Each day the team members will attend training sessions during the day. These typically include one technical class followed by an extended lab that requires them to apply the techniques covered, and a soft skills course such as communications skills, writing skills, time management, and effective requirements gathering. After daylong training, the students have a brief break for dinner, and then come back after dinner to work on the project. Following the Scrum framework and associated agile practices they are responsible for implementing the user stories that have been provided at the end of the first week of class. Applying what they have learned in class in a just-in-time manner, they proceed in delivering a real product in two one week sprints. TDD, ATDD, CI, pair programming, Scrum roles, and Scrum ceremonies are applied throughout, and each week they demonstrate a potentially shippable product increment to their product owner (me).
It’s remarkable to see the changes in our team since establishing these programs. While our culture and capabilities were already remarkable even before these programs went into effect in 2007 and 2008, the China team has now established itself as a leader in several areas of practice. We frequently introduce our clients to techniques which embody the concepts of technical excellence, including automated testing and continuous integration. Our team is recognized as leaders in agile practices and techniques in China and beyond.
Our purpose of demanding technical excellence is clear. We want to deliver the highest value to our clients, and indeed that is precisely what we are doing. During the past several years the number and complexity of projects that our team is delivering has continued to increase, and while we’ve always delivered on our commitments our team is continuing to get better and better.
We are very proud and excited that the strength of our programs is also recognized through externally as well as internally, and are very proud that we are currently in the middle of delivering our first Scrum Alliance approved Boot Camp CSD program. In China there is a saying. “There is no best, only better.” This is exactly our focus. Through Demanding Technical Excellence we will continue to develop our team and our capabilities, and get better and better.