advertisement
Premier Club Log In/Registration
  Include Code  Search Tips
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   SKILLBUILDING  |   TIP BANK  |   SOURCEBANK  |   FORUMS  |   NEWSLETTERS
Browse DevX
What techniques help you make you more effective? Or what gets in the way? Join the discussion!
Partners & Affiliates
advertisement
advertisement
Rate this item | 0 users have rated this item.
 Print Print
 
Seven Techniques for Better, Faster Development
Improve your development productivity by adopting this expert advice. 

advertisement
hen AT&T assessed the performance of their engineering teams, they discovered that their top-ranking software developers were as much as 10 times more productive than their colleagues. There are several reasons behind this astounding range in performance. Besides intelligence and aptitude, of course, basic work patterns make a huge difference. I've tried to distill these patterns down into seven basic techniques that you can apply daily.

Before I describe each individually, it's worth remembering why you are reading this. You want to become a more efficient developer. To succeed, you need to strive for three key objectives:

  • Produce applications that better meet the needs of users
  • Introduce fewer defects
  • Spend more time enjoying your job
That last element may surprise you, but in a creative discipline like software development, there is no room for disgruntled drudges.

And now...the seven techniques to help improve your day-to-day development efficiency.

1. Understand your users and their needs.
It's unlikely that you pay yourself to develop software for your own use, so the ultimate purpose of your efforts is to serve others. As developers, we seem to have difficulty projecting ourselves in the role of our users. Yet it is important for us to do so.

The first stage in any project ought to be to understand and document your end users' requirements. Although you may already do this routinely, especially if you're part of a larger team, there are always ways to study your documentation results further or to get to know your users better.

Being in tune with your users' needs should help you determine what to build and, perhaps more importantly, what not to build. Whether you call these needs "requirements" or "specifications," they should be the guiding light for all development.

2. Understand your whole code base.
Few projects have the luxury of starting from scratch. Chances are, you're usually scouting about for scads of existing code. That means spending too much time chasing back and forth between code modules. You can reduce the need for such code hopping by familiarizing yourself with both the logical and file-oriented structure of the code tree. Get one of the old hands on the team to give you a guided tour of the code and explain how it is structured. That'll help you find material faster later—especially since you'll have picked up some of the anecdotal history of the development work along the way.

3. Work well with others.
Most likely, you often work with other people on the same project. To achieve high productivity levels, it is important to develop team pride and communal ownership of your work. Try to build a sense of community, so that the entire code base belongs to the whole team; no area is private property. This cuts down on rework and duplication.

Group pride and peer pressure work to ensure consistently high quality. I mean, no one wants to be targeted as the joker who checked low-quality change into the master source tree, right? Group pride can also mean better adherence to coding standards because everyone has bought into them.

Don't get me wrong. Uniformity of coding is good, but uniformity of thought is not. Perhaps the most difficult aspect of being a true team is that you must welcome bad news as well as good. If a team member thinks something is wrong and points it out, the rest of the team must listen. Pointing out problems is all too often dubbed as being a "poor team player," when exactly the opposite is true.

Page 1 of 2
advertisement
  Next Page: Techniques #4-7
Page 1: IntroductionPage 2: Techniques #4-7
advertisement
Advertising Info  |   Member Services  |   Permissions  |   Contact Us  |   Help  |   Feedback  |   Site Map  |   Network Map  |   About


JupiterOnlineMedia

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info


Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers

Solutions
Whitepapers and eBooks
Microsoft Article: Will Hyper-V Make VMware This Decade's Netscape?
Microsoft Article: 7.0, Microsoft's Lucky Version?
Microsoft Article: Hyper-V--The Killer Feature in Windows Server 2008
Avaya Article: How to Feed Data into the Avaya Event Processor
Microsoft Article: Install What You Need with Windows Server 2008
HP eBook: Putting the Green into IT
Whitepaper: HP Integrated Citrix XenServer for HP ProLiant Servers
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 1
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 2--The Future of Concurrency
Avaya Article: Setting Up a SIP A/S Development Environment
IBM Article: How Cool Is Your Data Center?
Microsoft Article: Managing Virtual Machines with Microsoft System Center
HP eBook: Storage Networking , Part 1
Microsoft Article: Solving Data Center Complexity with Microsoft System Center Configuration Manager 2007
MORE WHITEPAPERS, EBOOKS, AND ARTICLES
Webcasts
Intel Video: Are Multi-core Processors Here to Stay?
On-Demand Webcast: Five Virtualization Trends to Watch
HP Video: Page Cost Calculator
Intel Video: APIs for Parallel Programming
HP Webcast: Storage Is Changing Fast - Be Ready or Be Left Behind
Microsoft Silverlight Video: Creating Fading Controls with Expression Design and Expression Blend 2
MORE WEBCASTS, PODCASTS, AND VIDEOS
Downloads and eKits
Sun Download: Solaris 8 Migration Assistant
Sybase Download: SQL Anywhere Developer Edition
Red Gate Download: SQL Backup Pro and free DBA Best Practices eBook
Red Gate Download: SQL Compare Pro 6
Iron Speed Designer Application Generator
MORE DOWNLOADS, EKITS, AND FREE TRIALS
Tutorials and Demos
How-to-Article: Preparing for Hyper-Threading Technology and Dual Core Technology
eTouch PDF: Conquering the Tyranny of E-Mail and Word Processors
IBM Article: Collaborating in the High-Performance Workplace
HP Demo: StorageWorks EVA4400
Intel Featured Algorhythm: Intel Threading Building Blocks--The Pipeline Class
Microsoft How-to Article: Get Going with Silverlight and Windows Live
MORE TUTORIALS, DEMOS AND STEP-BY-STEP GUIDES