Want more...Power
I went to visit Mount St. Helens yesterday. Unfortunately, it was raining and we couldn't see the volcano. We stopped at the Johnston Ridge Observatory (JRO), named for David A. Johnston. Johnston was a USGS volcanologist who was on duty at the ridge the day Mount St. Helens exploded on May 18, 1980. "Vancouver! Vancouver! This is It!" was all he could report when the mountain erupted. Johnston was one of the 57 people who lost their lives. The JRO is 5 miles from the volcano on the ridge where Johnston was observing. The power of the eruption was equal to 500 atomic bombs.
In Star Trek, Captain James T. Kirk was always asking "Scotty, We need more power!". Lieutenant Commander Montgomery "Scotty" Scott would usually reply something like "Captain, I don't know how much more emergency power we can take before we start to break up" or "I can't change the law of physics!"
In Jeff Atwood's Coding Horror blog post on February 13, 2009, Jeff talk about Real Ultimate Programming Power. In the article he lists many of the power programming practices and methodologies that have appeared between 1969 and 2005. I've use his list as a starting point and added a few (with links).
At Embarcadero Technologies we use Scrum for our product development (usually with 3 or 4 week sprint durations). For the Embarcadero Community web site we use a form of Feature Driven Development (a good fit for rapidly adding site capabilities). We deliver real ultimate power to developers who use our native code optimizing compilers for Delphi and C++Builder.
In his blog post, Jeff's also added a list of acronyms that he associates with "Real Programming Power":
To this list I add a few more to give you additional power and guidance:
Which methods, listed above, do you use for yourself or your team? Do you use other methodologies? What gives you the most power? What do you want to get more power?
In Star Trek, Captain James T. Kirk was always asking "Scotty, We need more power!". Lieutenant Commander Montgomery "Scotty" Scott would usually reply something like "Captain, I don't know how much more emergency power we can take before we start to break up" or "I can't change the law of physics!"
In programming, we are always looking for more power to get our jobs done. Adding capabilities to the programming languages, integrated development environments, tools, and techniques gives all developers the power to accomplish any development task. One of the great things about Real Programming Power is that it is available to every developer. We can build software anywhere and anytime. We can change the laws of software physics. Gordon V. Morrison, in his book, "Breaking the Time Barrier: The Temporal Engineering of Software" and his CodeRage 5 talk, "Temporal Engineering with Delphi", shows developers how to reduce the size, increase the reliability, and increase the performance of your applications.
In Jeff Atwood's Coding Horror blog post on February 13, 2009, Jeff talk about Real Ultimate Programming Power. In the article he lists many of the power programming practices and methodologies that have appeared between 1969 and 2005. I've use his list as a starting point and added a few (with links).
- Structured Programming
- Structured Analysis
- Structured Design
- Structured Analysis and Design (SADT)
- Object-Oriented Programming (OOP)
- Rapid Application Development (RAD)
- Dynamic Systems Development Method (DSDM)
- Extreme Programming (XP)
- Scrum
- Rational Unified Process (RUP) and it's variations
- Information Engineering (IE)
- Feature Driven Development (FDD)
- Event-Driven Programming
- Functional Programming
- Lean Software Development
- Aspect-Oriented Programming (AOP)
- Literate Programming (LP)
- Genetic Programming
- Personal Software Process (PSP) and Team Software Process (TSP)
- Agile Software Development
- Test Driven Development (TDD)
- Generative Programming
At Embarcadero Technologies we use Scrum for our product development (usually with 3 or 4 week sprint durations). For the Embarcadero Community web site we use a form of Feature Driven Development (a good fit for rapidly adding site capabilities). We deliver real ultimate power to developers who use our native code optimizing compilers for Delphi and C++Builder.
In his blog post, Jeff's also added a list of acronyms that he associates with "Real Programming Power":
- DRY - Don't Repeat Yourself
- KISS - Keep it simple stupid
- YANGI - You aren't gonna need it
To this list I add a few more to give you additional power and guidance:
- WYSIWYG - What you see is what you get
- DWIM - Do what I mean
- PTP - Prototype to Production (visual, RAD development with Delphi)
- SOTSOG - Standing on the Shoulders of Giants (reuse and extend components)
- WIR - (We will ship it) When It's Ready
- ITA - Inspiration to Application
Which methods, listed above, do you use for yourself or your team? Do you use other methodologies? What gives you the most power? What do you want to get more power?
Tags:
Agile
C++Builder
Components
Delphi
ednfront
FDD
Methodologies
Mount St. Helens
native code
optimizing compiler
Performance
RAD Studio
RadPHP
Random Thoughts
S/W Engineering
Scrum
Star Trek


David Intersimone (known to many as David I.) is a passionate and innovative software industry veteran-often referred to as a developer icon-who extols and educates the world on Embarcadero developer tools. He shares his visions as an active member of the industry speaking circuit and is tapped as an expert source by the media. He is a long-standing champion of architects, developers and database professionals and works to ensure that their needs are folded into Embarcadero's strategic product plans. David holds a bachelor's degree in computer science from California Polytechnic State University at San Luis Obispo, California.
That acronym for "You Ain't Gonna Need It" should be "YAGNI"