NEWSLETTERS
 

CIO.com updates, insights and advice on technology, management and your career.

 CIO BlackBerry News and Tips
 CIO Research and Analysis
 CIO Microsoft
 CIO Insider
 
 
 
SUBSCRIBE TO CIO
 
Are you involved in setting the direction for your company's IT budget or strategy?

Apply today for a FREE subscription to CIO Magazine!

 


Sun, Jun 17, 2007 15:58 EDT

The Lost Art of Software Engineering

Topic: Development

Blog: Delivering the Goods

Current Rating: 4 Comments: 14

Maybe I am too old school, but I am seeing a disturbing trend in software development these days. 

I see development efforts that focus almost entirely on business requirements with disregard to technical requirements and real software design.  Back in the day, computer resources were limited and you had to design applications to maximize the use of memory, CPUs, and disk space.  4GL programming languages did not exist so you actually had to write code to create those fancy pull down boxes in the UI.  I am glad that we now have powerful computers and robust 4GL programming languages, but what we seemed to have left behind is systems design.

I can't count how many times I have reviewed a requirement document that did not specify how many transactions were expected, what the expected response time was, or what the required availability or uptime was.  How can the developers even begin to design a system without knowing the technical requirements of the application?

I sometimes wonder if the majority of the developers raised in the "point and click" era really understand how the computer works under the covers.  Don't get me wrong, I have seen many developers carelessly waste resources back in my mainframe days also, but it seems to be more common today.

Software engineering does not apply only to proprietary software.  You still need to analyze and design even when implementing 3rd party software.  How many failed projects have you seen with implementations of SAP or Peoplesoft?  How many IT shops are afraid to take on initiatives like Enterprise Architecture, SOA, and Business Processing Reengineering?  Many shops back away from anything large because so many of these types of projects fail.  I believe they fail for two reasons, failure to manage change and inadequate design and planning.

So how did we get here?  Is it because hardware is cheap and we can always "throw hardware" at our problems?  Have we become so accustomed to dragging and dropping that we fail to think things out?  Are we putting speed to market ahead of analysis and design or is software engineering becoming a lost art?

You do not have flash or javascript support.
Average (12 votes)
4
 
 
Sun, Jun 17, 2007 17:46 EDT
Posted by: Michael Hugos
Rating:

Amen brother...

 

As a profession we seem to have forgotten a lot of skills that IT practitioners learned back in the day. The things you mention are the kinds of skills that other professions like engineers, architects and doctors have built up over generations. They comprise the transferable body of knowledge that makes those professions as powerful and effective as they are today.

 

It's about time for the IT profession to get serious about creating a coherent body of knowledge that can be tranfered to and added to by the next generation.

 
Wed, Jun 20, 2007 5:55 EDT
Anonymous user
Posted by: cat
Rating:

I fully agree with you.
Part of the problem could be, that technology is evolving fast, but if you really look at it from a technical point, Ajax and all that new Web 2.0 "buzz" has been around for over 15 years, just that XML as "glue" was added to it lately. Same for SOA which now often fulfills, what Corba has failed on most attempts.

A bigger problem is, that people with little or no education (such as "Become a Rich IT Guru in just 4 Weeks" TV ads ;-) are entitled "Junior AVP Project Manager" and have simply no competence or idea what a project has to contain or a sound requirements documentation.

Not to mention, that they all abuse Agile for not being careful or coordinated enough in their efforts and Lean for Lazy ;-)

 
Mon, Jun 18, 2007 7:49 EDT
Posted by: Eric Long
Rating:

I'm not even sure to what degree the hardware implications of software engineering are discussed in education anymore. For web developers, most really do not have any formal training on the systems they are developing applications to run on. It's quite common these days for developers and IT to be silo'd. Only after an application gets rolled into production do the shortcomings of poor systems design come into play, and then we see developers and IT working together to fix the problem.

I think we have certainly grown accustomed to throwing hardware at the problem. It's hard not to as business requirements change throughout the development phase, forcing developers and engineers to change the scope of the project along the way. Deadlines are often favored over quality of work because you can always go back and fix the code later, when you have more time.

-Eric

 
Mon, Jun 18, 2007 8:52 EDT
Anonymous user
Posted by: Anonymous
Rating:

I am with you. One of the problems is that technology and development move so fast that it is difficult to maintain a consistent transfer of knowledge from one generation of software developer/designer to another. With doctors, young internists learn from experience of seasoned MD's along with real world experience. With software, you don't have a bunch of web developers sitting down and absorbing the knowledge of a mainframe guy - in fact, most young developers view people on older systems as useless and have little to no respect for them. I once had a guy that graduated with a master's degree. First job, and I was the software designer. He looked at me as a dinosaur and argued EVERYTHING I said. Didn't matter that he was surfing to try and get ammo for his arguments. He never presented any correct or experienced info to support his argument.

Solid Software Enginerring practices should transfer to anything you are designing software wise and should be taught and practiced. But the dollar and the bottom line rule the day.

 
Wed, Jun 20, 2007 10:32 EDT
Anonymous user
Posted by: Anonymous
Rating:

Very true, but on the projects I've dealt with, the kinds of requirements you mention belong in a non-functional requirements document (perf, scale, concurrent users, etc.) One problem I've seen frequently is that when technical info is included in the functional requirements, the writer tends to live in the database and does not have a holistic view of the system. So, you can end up with requirements that are very myopic and do not explain the business rationale at all. For example, I've seen reqs docs littered with items such as 'add X field to the database', but no explanation of why this is necessary, no reference to a conceptual business entity, no context whatsoever. Easy to fulfill technically, but at what longer-term cost?

I suppose all I'm saying is that I agree with the original post that both functional and technical requirements are necessary, but let's let the business people write the functional specs, the tech folks write the tech design and both collaborate on the non-functional to determine what's feasible given the constraints of the project.

Post new comment

* Subject:
* Username:
* E-mail:
The content of this field is kept private and will not be shown publicly.
Homepage:
* Body:
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <blockquote> <strike> <p> <br>
  • Lines and paragraphs break automatically.
More information about formatting options

* Denotes required field.

About this Blog

Strategies to move IT from a cost center to business enabler.

Start a Conversation
Click to post

Got something to say? We want to hear it! Click the Post button to get started. GO»

EXPERT ADVICE
See our roster of experts.

Advice & Opinion from more than 113 of IT's most insightful thinkers.

  PARTNERS       WEBCASTS    
 

Windows 7 Webcast Series

There's a lot of buzz about Windows 7 out there. Each month in our webcast series, listen to analysts and customers discuss how Windows 7 and the Windows Optimized Desktop is impacting large companies around the world. Learn how they evaluated Windows 7, including the cost of deployment, deployment strategies, and tangible benefits.

Sponsored by Microsoft  Listen to on-demand Recordings »

 

Service Level Management Best Practices Life Cycle Overview - Improve Service Levels

Best practices for Service Level Management (SLM) is a process for consistently meeting customer requirements and delivering on IT's promises. See the steps required to ensure high-quality SLM.

Sponsored by Compuware  Read this White Paper »

 

Keeping Your Members Safe from Online Scams and Predators

In order to keep fraudsters out, romance sites must deploy effective solutions that look at information independent of what is supplied by users. A device fingerprinting solution such as iovation ReputationManager™ provides unique insight into the computers being used to create multiple accounts and exposes hidden device-account relationships that identity-based fraud solutions often miss.

Sponsored by iovation  Read this White Paper »

Resource Alerts

Get instant email notifications by topic when white papers, webcasts, and case studies are added to our library.

Resource Alerts

Get instant email notification when white papers, webcasts, and case studies are added to our library. Don't just be up-to-date—be up to the minute with our new Resource Alerts.

Defend Against Blended Threats: What You Need to Know

Blended Web and email threats are becoming increasingly complex and represent a huge...  View Now »

 

Prescriptive Actions to Reduce Risk

In this Webcast, learn best practices for effective systems management in a heterogeneous environment and keep client systems cost under control.   View Now »

 

Webcast- Vantage 11: Redefining Application Performance Management

Compuware's latest release, Vantage 11, is a major advance in end-to-end application performance management--bringing together proactive issue identification, quantification of business impact and problem resolution into a single solution. Tune in to learn how Vantage 11's top-down approach helps you make better decisions and dramatically lower operations costs.  View Now »

Resource Alerts

Get instant email notification when white papers, webcasts, and case studies are added to our library. Don't just be up-to-date—be up to the minute with our new Resource Alerts.

 
NEWSLETTER

Sign-up for the Blogs & Discussion Newsletter

 
FEATURED SPONSORS
 
 
 
SPONSORED LINKS
 

Return on Information: Google Enterprise Search pays you back. Get the facts.

VMware. The source for Business Infrastructure Virtualization.

ShoreTel tells businesses to untangle from competitors' complexity and turn to its brilliantly simple UC solution

See how AT&T can help protect your network.

Streamline IT Costs. Boost Performance with WAN Optimization.

Build your 1st app FREE with Force.com

TDWI checklist helps define data readiness for analytics. Download report.

A Clear View Toward Virtualization

Virtualization Technology as a Business Solution

The rules of infrastructure management just changed.

A Clear View Toward Virtualization

Interactive Q&A helps you discover key ways to maximize IT assets.

Ready to virtualize tier one applications? Check your virtualization maturity.

Think you can't afford a Cisco Switch? Cisco Catalyst Switches are now more affordable.

Five minute business analytics assessment. Immediate results.

The Case for Investing in Business Analytics Technology. Read white paper.

Upgrading to VMware vSphere with vWire

Top 10 Lessons Learned for Corporate 3G Mobile Broadband Deployments

CRM Built for IT: The Executive Guide to Selecting CRM that Meets IT Needs

Return on Information: Google Enterprise Search pays you back

ROI of Application Delivery Controllers

Making Consumer Two-Factor Authentication Simple and Cost-Effective

Mining the Cloud to Ease the Enterprise Compliance Burden

Solve Five Key IT Security Challenges with Cloud-Based Authentication

White Paper: Right-Sizing Your Power Infrastructure

AT&T Synaptic Storage as a Service. Expand on demand

Trend Micro ranked #1 against real-world malware. Read more.

Webinar: Jump-start your in-house e-discovery with Ringtail QuickCull from FTI Technology

Top Five CIO Challenges

Read the RSA report: Security for Business Innovation

64-page prescriptive guide to security, compliance, and IT operations.

Increase UPS efficiency without sacrificing protection.

eZine: A Roadmap to Reducing IT Complexity

Reduce risk, gain agility. See how Progress can help your business.

Virtualization Technology as a Business Solution

eZine: A Roadmap to Reducing IT Complexity

World-class trading technology solutions from NYSE Technologies.

If You're Paying for Telecom, You're Paying Too Much. Contact Asentinel Today.

Trade-In your old printer and save up to $1,000 plus free recycling!

infoBOOM! - The Mid-Sized Company CIO's Exclusive Community

Live Webinar: Applying Business Analytics. Click here to learn more

Removing Barriers To Better Server Virtualization Efficiency

4G Revisited. The Continued Evolution of Wireless Mobility.

What's Next for Enterprise Resource Planning?

Maximizing website Return on Information with high-quality search

Gartner Magic Quadrant, Application Delivery Controllers 2009

Authentication as a Service by Forrester Research

Cloud-Based Authentication for Next-Generation Extranets

Cut Costs & Green Your IT Operations with PC Power Management

White Paper: 4 Customer Service Myths