Five Things Booch Has Learned About Complex Software Systems

  • یوسف مهرداد

کم‌هزینه‌ترین راه یادگیری،‌ استفاده از تجربه دیگران است. یادگیری‌ای که هزینه‌اش را دیگران پرداخته‌اند. گریدی بوچ برای علاقه‌مندان حوزه مهندسی نرم‌افزار، فردی آشناست. با سابقه‌ای طولانی و تأثیرگذار. محقق ارشد شرکت آی‌بی‌ام، تجربیات خود از توسعه سیستمهای پیچیده نرم‌افزاری را در پنج بند خلاصه کرده است. برای همکارانی که وضعیتهای مشابهی را تجربه کرده‌اند، تک تک کلمات، راهبردی و راه‌گشاست. هر چند خیلی نمی‌توان راه‌کار اجرایی از نظرات گریدی بوچ استخراج کرد، ولی به عنوان یک استراتژی و چارچوب، می‌توان آن را به کار گرفت. بخشهایی از نظرات ایشان را خلاصه کرده و در زیر آورده‌ام. متن اصلی را می‌توانید در اینجا مطالعه نمایید.

The fundamentals never go out of style

۱. Create crisp and resilient abstractions.
۲. Maintain a good separation of concerns.
۳. Create a balanced distribution of responsibilities.
۴. Focus on simplicity.

The key in creating useful abstractions is to use an object-oriented view of the world, rather than an algorithm-based viewpoint.
Separation of concerns means, “You don’t put the dishwasher in the bathroom.” The specifics depend on the requirements, but he advises, “Semantically related things should be clustered together and kept separate where they are not.

Don’t underestimate the importance of keeping things simple, he warns—or the difficulty of getting there. “It requires energy to develop simple things,”

You need a regular rhythm of releases.
Every project needs a heartbeat.
Establishing that rhythm provides predictability and sustainability.

Focus upon growing executable architectures.
IT managers need to govern around the architectural decisions rather than raw, running, naked code. “The code is the truth,”. “But the code is not the whole truth.”

Create social structures that encourage innovation while still preserving predictability.
One long-standing point of contention is the degree to which, in those social structures, the manager is a participant in the actual software development process. The architect should also be an implementer, says Booch, even if a line is drawn between development and managers. But there’s a danger of noisy communication when management gets too involved; it’s the difference between a line and a wall.
Another component to creating innovative teams, says Booch, is keeping developers out of “blasted meetings” so they can get things done.

Have fun.
That’s not simply friendly advice; Booch believes that successful projects come from teams that are jazzed about what they’re doing. “Most people want to build beautiful, elegant things,” he says. “If you rob them of that, you’re taking away the passion of the craftsman.”

Quote:
there are only two ways to live your life. One is as though nothing is a miracle. The other is as though everything is a miracle. Albert Einstein

https://bibalan.com/?p=274
یوسف مهرداد

یوسف مهرداد


کانال تلگرام

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

برای خروج از جستجو کلید ESC را بفشارید