An Interview with Ben Desmarais, Project Manager at The vdR Group
PPLM: Ben, you recently participated in a significant Aras PLM implementation effort that spanned most of this past year. The Agile project management technique was used. Give us a net-net of what it meant to use this approach.
Ben: Yes, it was a significant effort. In fact, I can’t imagine not having used the Agile approach. For this project, the so-called “water fall” approach would have been a disaster.
We were able to deliver a working solution on time and on budget. I know it can sound trite, but maintaining our commitments regarding schedule and expenses while delivering a successful solution was a real home run for the customer and the team.
The Agile methodology helps everyone stay focused on the project goals, starting by working with the customer to establish what we call “user stories.” These stories are prioritized and queued up into “sprints.” What I liked about this, is that after each sprint the customer received working features that can be used immediately.
Stepping back, let me highlight the key business benefits by using Agile. The first is visibility. Agile provides opportunities for customer engagement before, during, and after each sprint. Delivering working features regularly boost the customer’s trust in the team’s ability to get things done.
The second is quality. Testing is integrated throughout the process and enables early and regular inspection of new features. A completed feature can be used immediately. If an issue is found, it’s resolved in the next sprint.
The third is our ability to turn on a dime. Change is expected and accepted. Because features are completed within a sprint, the focus on subsequent sprints can be changed to include features that have become more important, or maybe were needed sooner than later.
PPLM: Give us some highlights of the key components of the Agile approach.
Ben: Sure. I’d say the key components of the Agile approach are requirements capture, sprint planning, daily SCRUM meetings, incremental updates, testing and customer feedback.
Let me drop into some of the details.
Capturing requirements are done with what we call user stories. Each story is a statement of, “As a (role) I want (something) so that it gives me (benefit).” Each story provides enough information for the implementation team to scope the work and develop more in-depth requirements and tasks.
Once we get the user stories and tasks, we go into a sprint planning. Sprints are a short period during which we do the development work, conduct testing and field feedback from the customer. So, for the sprint planning, we determine what requirements we want to tackle balanced with what we can deliver that provides the customer with usable functionality. This latter part is subtle, but this is what makes the Agile philosophy so powerful. The basic theme is to deliver functionality within a two to three-week period. The customer can experience a steady and ongoing series of incremental updates rather than wait for months to see what’s going on.
The daily SCRUM meetings during a sprint give everyone a chance to update the team on their progress. Each team member reports on what was done in the last 24 hours, what they plan to complete that day and any issues they may have run into. The moderator of the meeting or SCRUM master is instrumental in this process. These meetings are intended to be about 15 minutes in length, and a good SCRUM master makes sure we stay on track and determines if follow-on drill downs need to be scheduled.
PPLM: That’s a great overview. What would you say are the critical items that are vital to the success of using Agile?
Ben: It’s not fair to say one item is more critical than another. All the items in the Agile process are important and build on each other. The whole process is vital. However, if I were to say which one stands out the most, it would be the incremental updates and customer involvement.
With incremental updates, the customer can see new features after every sprint. In the traditional “water fall” approach, the customer typically may not see anything for months. When they do, some of the requirements may have changed. With Agile, the requirements are fresh and can be exercised by the customer after each sprint.
Customers need to be involved, a critical need for which there is no replacement. By involved, I mean they need to participate in the user story development, sprint planning, and provide immediate feedback after each sprint. So, customers need to make sure they can allocate resources to this process. We cannot afford to let the delivery of a sprint sit for days or weeks without feedback that is disruptive to the whole process.
PPLM: Can these Agile techniques be applied to other activities besides software implementation projects? I’m thinking about product selection, hiring, etc.
Ben: The Agile process is very common to software development. Most developers are aware of Agile. The Agile process can be used for many other initiatives. For example, building a custom home uses the Agile process. The customer is involved in all decisions and can see incremental updates from the building foundation to the finishing touches. They may not call it Agile, but the components I just talked about represent Agile.
Another great example would be the product selection process. You can use sprints to clarify requirements, review candidate software solutions, meet daily to get status, determine show-stoppers, and make a final selection.
PPLM: For our readers, how would you recommend they get started with the Agile approach?
Take a “crawl, walk, run” approach. Start with a low-risk initiative that can be pursued in a short period. Pull together the stakeholders. Develop the user stories. Then plan two or three sprints, with each sprint being about one to two weeks in duration.
PPLM: What else should we know about Agile?
Ben: Agile is not new. It’s been around for over a decade and parts of it even longer. I didn’t mention everything about the Agile process. For example, sprint planning meetings and sprint review meetings can get involved.
Find a good book or search the internet. There are no shortages of resources available. In fact, just for the fun of it, use the Agile approach to establish Agile in your business.