– Back to the Agile Practice Guide (all) –
We’re looking at the Agile and Lean frameworks, from the Agile Practice Guide, by the Project Management Institute and Agile Alliance.
As you go along your Agile journey you’ll notice that there are many different methods that people will use, and they might be calling “Agile” many different things. Usually those methods will be some form of these core methods, and maybe some part of these auxiliary methods, but definitely all of the practices that we’ve looked at like standups, iterations, using visual management. This is a good way to understand what they are, and a little bit of background so you can tell if a team is truly Agile or not. This one we’re going to look at is Feature Driven Development.
The Core Agile Framework of Feature Driven Development
Feature Driven Development is an iterative model for developing software, or it could be for developing a product. With any project, when developing a product for a customer it should add value for the customer. So it could be software or it could actually be a product as well.
It focuses on developing an overall model, building a features list, then planning by those features, designing by those features and ultimately building by those features.
So from left to right we’re:
- Developing the high-level model of what we’re looking for and what we’re going to develop.
- Then we develop the features list, so how would we support that here at the overall view of what we’re wanting to do. What features will we develop?
- Then we plan by those features – for example how are we going to get it done?
- Then we design by those features – so we design the overall product by those individual features. We build those features and then we get the feedback.
As you can see in an Agile approach we’re always getting feedback, using iterations of two to four weeks, showcasing to the customer and then putting that feedback back into the product so that we know whether they’re happy or not. When we get that feedback we go back to the beginning and we adjust the high-level model perhaps, and then we adjust the features that we might need to be building, adjust the planning that we might need to be planning for our features, and the design and so on.
This is a core framework of Agile because with Feature Driven Development we’re always developing increments, or features to showcase to our customer. Everything is designed with showcasing that feature to a customer so they can tell us if it’s what they expected or not, and we can adjust if we need to. The feature driven development activities are supported by a core set of software engineering best practices as well, and these can apply to a product or a business-side team if you like. We’re developing by feature, as we saw with using feature teams so a team will focus on a specific feature. We’re showing that to the customer and asking are we on the right track, are we not on the right track? And we’re usually doing that at the end of our iterations of two to four weeks.
We’re implementing regular builds – that’s our continuous integration policy where we’ve got all of our changes, and we’re putting all those changes up into the one environment and then we’re usually testing that, so we’re seeing if something has broken or not. And we’re doing that regularly so we know that everything is going well or not going well.
We’ve got visibility of progress and results – we’ve seen that in our Kanban board and our visual management.
Configuration management, individual class ownership, and domain object modeling, and those are your more software owns in terms but the ones at the top here will definitely apply to any project or any business side team as well as software.
And that is the core Agile framework of Feature Driven Development.
– David McLachlan
– Back to the Agile Practice Guide (all) –
Get the Leadership Card Deck or the Five Minute Lean Book:
View All The Leadership Cards (48)
- or - Have the Leadership Cards delivered for your next meeting
Want to learn about Lean? Get the book "Five Minute Lean", by David McLachlan - a wonderful book that blends teaching of the tools, culture and philosophy of traditional Lean with a modern-day Lean parable. You can get the whole book on Amazon here and enjoy your own copy.