Software-Technology

Software Engineering at Google: Lessons Learned from Programming Over Time

Relatively little is known about how to organize/manage software projects so that they come to a successful, on-time resolution that lasts the test of experience. This is the field of software engineering, and over the last two decades, Google has mastered this art. They share their hard-wrought wisdom in this book. Many developers, like me, wish they could undertake several internships at leading companies like Apple, Google, Microsoft, or Facebook. They could learn the tricks…

Continue reading

Software-Technology

Managing Technical Debt: Reducing Friction in Software Development

In software development, technical debt is understood as something in software design that slowly reduces the speed of development. To mix metaphors, technical debt causes friction in the development process. Over time, work arounds cause “interest” to accrue on the principal of bad design. The business and software development are negatively impacted, and eventually a “tipping point” is reached. Then a plan is made to pay down some (but usually not all) of the technical…

Continue reading

Management-Business Software-Technology

Extreme Programming Explained: Embrace Change

This book helped change the way that software development is generally practiced, from the leadership to the programmers, from the business to the design. It is important to note that this book has been delivered in two very different editions. The first edition in 1999 set the direction while the second edition in 2005 brought insight out of several years of experience in an updated text. What’s so “extreme” about Extreme Programming? First, it advocates…

Continue reading