For the first time ever, the senior architect and lead developer for a key enterprise system on NASA's ongoing Mars Exploration Rover mission shares the secrets to one of the most difficult technology tasks of all-successful software development Written in a conversational, brief, and to-the-point style, this book presents principles learned from the Mars Rover project that will help ensure the success of software developed for any enterprise system Author Ronald Mak imparts anecdotes from his work on the Mars Rover and offers valuable lessons on software architecture, software engineering, design patterns, code development, and project management for any software, regardless of language or platform
About the Author Preface Acknowledgments Introduction Part 1 The Martian Principles Principle 1 Don’t reinvent the wheel Principle 2 You won’t do better than what’s already been done Principle 3 Your customers don’t know what they want Principle 4 Get something working as soon as possible Principle 5 Use sound software engineering practices Principle 6 Don’t trust the client applications Principle 7 Plan to make changes Principle 8 You can’t predict the future Principle 9 Don’t tie your services into knots Principle 10 Build early, build often! Principle 11 “What middleware?” should be your greatest compliment Principle 12 Expose the invisible Principle 13 Log everything Principle 14 Know the data Principle 15 Know when it will break Principle 16 Don’t fail due to unexpected success Principle 17 Strong leadership drives a project to success Principle 18 Don’t ignore people issues Principle 19 Software engineering is all about the D’s Principle 20 The formulas for success aren’t complicated Index