Regarding "Iron Triangle"

The argument that an effective project management through proper initial planning is not the best approach to manage the Iron Triangle is highly debatable. No amount of technology expertise on principles and practices like loosely coupled components, reversible decisions can compensate for the lack of proper project planning on triple constraints.

This is not the idea behind the Agile Framework which requires additional micro level planning on an incremental basis for each sprint as planning for entire project as a single activity may not be feasible when requirements are firm. Overall planning, planning for each sprint and then supporting it with technology expertise may be the right approach.

There is a question in the quiz which forces candidate to ignore the importance of project planning! So, I am highlighting this here.

What specific change in the quiz or answers do you recommend?

May be that quiz question can be made to allow selecting more than one choice. Correct answer would be both (1 & 3 below) effective project planning AND principles, processes and technical expertise discussed in the course.

Relevant quiz question and feedback given below:

According to the video this week on how to think about the tradeoffs between cost, scope, and timeline for your projects, what is the best approach when it comes to simultaneously optimizing for all three of these (i.e., breaking the “iron triangle”)?

  1. Spend extra time in the planning phase of the project so that you deeply understand the scope of work before getting started and can better estimate your required timeline and budget.

  2. Build sufficient buffer into your timelines and budgets so that if the scope of the project expands you’ll still have room to maneuver.

  3. Apply the principles and processes you’ve learned about this week, namely, build loosely coupled systems, optimize for two-way door decisions, and understand the needs of stakeholders.

Incorrect
This is not necessarily a bad idea, but not the idea that was presented in the video. And for some projects, it can be more efficient to quickly start prototyping rather than spending extra time planning.

Thanks for your recommendation @nmurugesh , and I think it’s great that you are thinking very deeply on the course material. The goal of this question is to highlight the point Joe made in the Requirements Gathering Summary video about applying the principles and processes outlined throughout course 1 to help you build and maintain high-quality data systems on a predictable timeline and budget. Answer option #1 about spending extra time in the planning phase is meant to be a logical distractor to this question because it is not something Joe mentioned in the video. In the feedback for that answer, we acknowledge that this is not necessarily a bad idea, and in some instances, this might be the approach some teams take. However, it is not an approach that could work for all scenarios. For example, if the organization wants to quickly prototype a system, then the data engineer may not have the luxury of spending lots of time on the planning phase. Whereas the correct answer of applying principles like building loosely coupled systems is an approach that all organizations can benefit from.

1 Like

Hi,

Thanks for taking time out to explain the rationale. I thought it might mislead the student into thinking that tech expertise can compensate for project managements skills (or the role of product manager in Agile).

By the way, I had initially jotted down some more points about the course (mostly minor points). I am listing them below. You may ignore them if you think they are not correct / relevant:

  1. loosely coupled

Loosely coupled principle is explained as the ability to replace components easily. Though this is right, generally, this principle is better explained with respect to the design of interfaces between components

  1. indirect costs

Indirect costs are the overhead costs which need to be allocated.

  1. Total Opportunity cost of ownership

Opportunity cost of ownership is not cost of not using an alternative choice. It is the cost associated with any features which we forego by not using another choice. Lack of this feature might imply additional costs (e.g. sales lost) which we accept to bear by making the current choice over the other.

  1. cloudformation vs terraform

I have mostly seen cloud formation being used for IaC in AWS blueprints. I understand now that terraform has perhaps several more features when using with cloud infrastructure. These things can be discussed.

  1. Data engg in cloud

The demo lab used to explain how cloud can help - I guess the first lab with ALB and Autoscaling - has nothing to do with data engineering itself. It is about serving the application. A discussion on cost/benefits associated with implementing open source / on-premise data engineering vs implementing data engineering pipelines using cloud infrastructure can be helpful. I am wondering how much of the core benefits of going to cloud over on-premise is really applicable for data engineering infrastructure?

  1. Stakeholder needs?

In the hierarchy of requirements, after business goals, another category of business requirements should be there. These are meant to be technology agnostic requirements. These business requirements are then elaborated into functional requirements, to be followed with detailed requirements etc. In the current content, it looks like stakeholder needs are business requirements. Stakeholder needs are not really business requirements on which application will be developed.

  1. AWS Knowledge and practice

This course requires quite some knowledge and practice with cloud infrastructure unless otherwise the student decides to learn AWS along with this course which I would say would be a very challenging thing. The referred AWS clould essentials courses from coursera are the very minimum required for this course. Make this fact upfront so that students don’t discontinue after sometime. However, I greatly appreciate the amount of AWS content which forms part of this course! Even AWS specific courses are not there with these kinds of several real world demo examples, which students can play around and learn!

Thanks again for taking time!

Thank you for sharing your thoughts on these various topics, they’re very helpful for us when we’re trying to continuously improve the course for learners :slight_smile: I will share these with the team and see if and how they fit within our backlog of items to add clarifications to.