January 27, 2015

Evolutionary Design explained

As I have already discussed in a previous post I always tend to adopt an Agile Development approach in my projects.
My own motto is: Start Small, Grow Fast. I always use this as a very simple guiding principle when working on customer projects.

Some months ago I came across this nice picture that perfectly explains the Evolutionary Design principle.

We have to admit that the evolutionary approach can introduce some form of waste because sometimes we cannot reuse the components built in the previous iterations (you can't use bicycle wheels on a car).
However, it definitely allows to minimize a large upfront design investment and allows to deeply understand the real customer needs and expectations during the project.
A better understanding of customer needs is most valuable return of the iterative approach.

There is nothing worse than developing "the wrong thing" and an iterative approach can be a great tool to solve this issue.
Using an iterative approach also helps to create a sort of "project rhythm" that has some other good side effects. Setting up monthly sprint demos, for example, will create a structure for managing customer feedback and change requests.

Last year I have presented a session name "Agile Project Management practices from the field" at the IBM Technical Academy where I have presented some Agile concepts and real life experiences. An extract of the presentation is available on SlideShare.
There is good (and free) book around named Scrum and XP from the Trenches if you want to learn more about Agile practices.


  1. A very impressive post with a lot of insight. Good job.


    1. Tag: PM203A57. Let me share all of you about #5 Tips for Project Management Success,, I hope you enjoy it

      1. Plan your day using time management techniques

      As a project manager, time management skills are essential because you are dealing with a wide range of tasks that demand a quick turnaround time. Planning your day will go a long way in keeping you organized and increasing your productivity. Assist your task planning by using project management software which helps you track the work of you and your team.

      If you are not very tech savvy, a simple to-do list can also be a great organizational tool. Prioritize your most important tasks by putting them at the top of the list and less important ones at the bottom. Having a visual plan of your daily tasks helps to keep you on track and aware of time.

      Related post: Free ebook 104 secrets to become a great project manager

      2. Include stakeholders in important project conversations

      While you will have plenty of responsibilities regarding the project, don’t neglect your clients.

      Good communication is essential is keeping both parties informed of project progression, curtailing scope creep, and apprised of changing requirements. Some clients may have different expectations when it comes to communication, so make sure to establish the frequency and type of communication (like emails, phone calls, and face-to-face conversations) at the beginning of your project.

      Establishing communication expectations early helps alleviate stakeholder uncertainty about communication frequency and delivery.

      3. Regularly communicate with your team

      Daily team communication helps keep misunderstandings and unclear requirements under control. Keeping your team informed in every step of the project is essential to project management success.

      For example, a study published by Procedia Technology found that good communication skills were the cornerstone of project management. The study examined over 300 “construction project managers, architects, construction managers, engineers and quantity surveyors” and their successes and failures on various construction projects.

      4. Anticipate project setbacks

      Even the best-laid plans often go awry.

      Remember that even with a high amount of planning and attention to detail, your project may still encounter some challenges. Pay attention to complaints from stakeholders or colleagues, and other warning signs, like a missed deadline or cost overrun, that there may be a problem.

      Preventing a crisis will keep your project running smoothly, save you a lot of time, and keep you, your team, and your stakeholders confident in progressing with the project.

      Unfortunately not every complication can be avoided. Crisis management skills are essential for dealing with the unexpected. Project managers need to be flexible and pragmatic. Improvise and make sharp decisions when needed.

      Related post: 92 free project management templates

      5. Stay focused on the details

      A common problem project managers encounter is having the project aims not aligned with the organization’s objectives. A great project manager will strategize a plan for the project to lead back to the overall success of the business.

      Know your project’s scope by heart and avoid wandering outside of the project’s requirements. It’s too easy to get lost in minor details and forget what your focus is, so a well-planned project scope is essential for success.

      And final, you should use KPI to measure effectiveness of the project, here are full list: 76 project management KPIs

  2. Great article. I am impressed. Please continue writing.