Think of your traditional software development team. Usually, the team has some software delivery or project management process. Maybe they have scrum boards, user stories, checkpoints, risk management registers, and the handy dandy PMBOK book (sometimes with a PMP Consultant)? Separately, the team may have a technical architect who think in terms of system design concepts, like SOA, DRY code, or the single responsibility principle.
Both of these realms of knowledge are necessarily to deliver software, but we consider them independent. That makes sense. One deals with people and the other with code. But maybe there are cases where they can learn from each other.
Let’s do a thought experiment.What if we thought about project management as an information system?Let’s give it a shot with a typical project management challenge.
Keeping track of the changes is chaotic and information often slips through the cracks.
Developers avoid storing the same data in multiple places inside of a database. Otherwise, they’d have to write code that updates every location when that data changes. They could forget to update one of those locations. Then none of the data would be trustworthy. Additionally, performance is impacted due to the increased number of writes. So instead, they normalize the database, so that the data exists in one location and references to that data can exist in other locations.
So that wasn’t a very complicated example, but it provides a clear illustration. We took a simple concept in one field and came up an interesting approach to apply it in another. Can you think of any others?