Print

Best practices? Or bestest practices?



Larry O Brien
Email
August 15, 2008 —  (Page 1 of 7)
The very best practice in software development may well be to embrace the understanding that there is no single “best” way. Everyone does their best a little differently: reducing pages of hand-written notes to a few equations, the implementation of which is trivial; writing a program on the couch while a football game plays in the background; rolling out new features month after month; or participating in an enterprise-wide rollout that takes 18 months to plan and deliver. All of these might be one's "best" experience, but all of them are developed in very different ways. So, let's narrow things down a bit.

Corporate development is that of software built for commercial purposes, but not for direct resale. It may generate value directly, as in a Web storefront, or indirectly, as in supply chain coordination, but at its core it is in service to the company's bottom line. Corporate development embodies significant domain knowledge and business rules; this creates a characteristic combination of logic that's "so obvious, no one's ever stated it" and, likewise, it’s "not understood but has to be implemented to stay competitive."

There's typically a Web component to such software, but 100% compatibility with all the world's browsers and OSes is not usually a concern; a requirement to use IE or even a beta version of Silverlight may well be acceptable if it delivers high value.

Speed of development is the final sticking point for corporate development. All corporate development teams have a backlog. Even—maybe especially—in companies that don't consider themselves in the business of software development, time to develop and time to deploy are often the two factors that control the rate at which the company can seize new opportunities. So there is always a premium on high productivity in corporate development.

But in opposition to high productivity is risk: risk of major delay, risk of a show-stopping technical incompatibility, or risk of embracing a tool or technique that is reaching the end of its evolution. Such risks can have huge costs, and it’s very reasonable for project managers to make conservative decisions, especially when it comes to critical infrastructure components. (Prototypes, one-off conversion programs and administration automation are, in contrast, places where there is less risk in exploring newer technologies and techniques.)



Related Search Term(s): Flash, .NET, Silverlight, software development, Visual Studio, Adobe, Microsoft

Pages 1 2 3 4 5 6 7 


Share this link: http://sdt.bz/32678
 

close
NEXT ARTICLE
Third-party tools showcased at Professional Developers Conference
ComponentOne has a new development kit for the iPhone and the iPod Touch, while Infragistics created a version of NetAdvantage for Silverlight. Also, Developer Express and Microsoft announced a joint code-quality effort for C# Read More...
 
 
 




News on Monday  more>>
Android Developer News  more>>
SharePoint Tech Report  more>>
Big Data TechReport  more>>

   
 
 

 


Download Current Issue
MAY 2013 PDF ISSUE

Need Back Issues?
DOWNLOAD HERE

Want to subscribe?


 
 
 
 

Events calendar tab
5/21/2013 to 5/23/2013
Las Vegas
CTIA

5/28/2013 to 5/31/2013
Boston
BZ Media LLC

5/28/2013 to 5/30/2013
San Francisco
O'Reilly Media

6/2/2013 to 6/7/2013
Las Vegas
SQE

6/2/2013 to 6/6/2013
Orlando
IBM Rational