If you are working as a software engineer, chances are that you are fixing bugs and adding features to a system that was conceived years before you joined. Every successful system grows beyond the original design. Whatever the creators imagined, changes to requirements and technology soon outgrow what the initial team can keep up with. … Continue reading Managing software complexity