EDITOR'S PICKS

 Dressing IT for success

 Slamming the Slammer worm

 Kick your career into high gear

 Instant messaging for business

 Six steps to software license compliance

 Developing your .NET certification strategy

 Take aim at taming these 10 types of techies

 Borland targets .Net developers










Tuesday February 18, 2003.

powered by
Keep a developer's journal
Brian Schaffner, Builder.com

It's standard practice for researchers to keep a detailed journal or log of their work. This allows procedures, methods, results, and conclusions to be scrutinised at a later date.

Software developers rarely practice this discipline. I've been in both camps: as a nonjournal keeper and a detailed journal keeper. I wholeheartedly recommend the practice of keeping a journal and encourage all developers on my projects to maintain and share detailed journal files.

What should go in your journal?

A journal doesn't have to be complicated. A plain-text file is best, so you can add it to your version control system and track changes.

Each day, append the date and start typing. Talk your way through problems and solutions. Write down your options, opinions, observations, test strategies, results, and decisions. If you take a wrong turn, note why things went astray and describe your alternatives. If you encounter a bug or problem, describe it and how you fixed it.

A journal is a diarylike personal account of your work, which means it doesn't replace formal project documentation or comments in the source code. Expect to write approximately a few hundred lines a day.

Finally, don't edit. Describe what you're about to do, and then detail the results. Keep it honest and include the good, the bad, and the ugly.

Should you share your journal with colleagues?

Yes--you and your colleagues should read each other's journals. Remember to check in your journal to the version control system at least once a day.

Glancing through journals takes little time, and you'll get a better understanding of how your project is fitting together and developing. If you see that a colleague is having a problem, you might be able to offer insight early on, rather than having it go unnoticed until the next status meeting.

You can also track the project's development through the journals without interrupting the team's work. You'll get real insights into the progress and see the bottlenecks and problems faster.

Remember that a journal is mainly for the benefit of the individual developer and not the project manager. So avoid the temptation to judge the content harshly or to dictate the style; otherwise, the journals might turn into fictionalised accounts that are useless.

What are the benefits?

Here are a few of the real benefits:

Improved focus and productivity: Most offices and labs have too many distractions; maintaining a journal helps you remain focused. You'll also be more likely to avoid reattempting old solutions, which you dismissed for reasons you might not remember. It might seem contradictory, but you'll find that your productivity increases as you spend time writing things down.

Better, quicker decisions: Describing an idea in a tangible form transforms it from being a passing thought into something clear and understandable. You'll find that you can choose and eliminate ideas more quickly by writing them down and describing your options. If you're a fan of Extreme Programming but can't practice Pair Programming (for practical reasons), then maintaining a detailed journal can be the next best thing to a real programming buddy.

Detailed history: Days, weeks, or months later, you'll be able to recall why you implemented a feature one way rather than another. Source code comments describe the end solution, but the journal describes every step you took to get there.

Better multitasking: It's difficult to switch between projects, but we have to do it. Reading back through your recent journal entries will help you get back on course quickly.

David Brenan is an independent embedded systems developer with more than 15 years of experience. His work includes the design of award-winning professional digital audio products.

Download - White Papers!
Security - Click Here To Read More
Communications - Click Here To Read More
Network Management - Click Here To Read More
Software - Click Here To Read More





ZDNet AUSTRALIA MUST-READS

DHTML: Meeting the cross-platform challenge
In these dynamic times, Web pages need to be ridiculously cross-platformed, which can present a danger for programmers. Here are some tips for writing cross-platform DHTML.
Read Full Story

Handling optimistic concurrency violations in ADO.NET
Multiuser applications often must allow for multiple users to edit the same record concurrently. Learn the two main ways to handle such concurrency issues.
Read Full Story

XML--where do we go from here?
What if every bit of data in every computer included instructions about its content that would allow any other computer to interact with it? There are signs of real progress, if not revolution.
Read Full Story

Store dynamic page responses with output caching in ASP.NET
In ASP.NET, you can cache either an entire dynamic page or a portion of a page. Find out how to perform smart page caching based on a requesting URL, POST parameter, or query string.
Read Full Story

Managers should adopt a technical mentor
You may not have the time to read or the money to burn on analysts' reports, but adopting a technical mentor can help you keep your skills fresh. Here are the pros and cons of making the move.
Read Full Story





GET MORE FROM ZDNet AUSTRALIA

Leading edge for .NET developers
Builder Australia is proud to announce our new .NET coverage. Dedicated to .NET fans, it aims to help you master the .NET framework through technical articles, walk-through tutorials, tips and news.
Don't miss out, visit http://cgi.zdnet.com/slink?195868 now!

Best of Broadband

Telstra won't pay for broadband in the bush
Click Here To Read More
Telstra drops Big Pond prices
Click Here To Read More
Why go wireless?
Click Here To Read More


Sign up for more free newsletters from ZDNet Australia


Send your comments and questions about this newsletter to edit@zdnet.com.au

To change your email address or unsubscribe, go to:
http://www.zdnet.com.au/newsletters/ or send an e-mail to info@zdnet.com.au

ZDNet
Home | News & Technology | IT Manager | Reviews | Jobs
Shopping  | Builder  | Downloads | GameSpot
Security & Privacy Policy| Advertise/Contact| About ZDNet Australia
Copyright © 2001 CNET Networks, Inc. All rights reserved. ZDNet is a registered service mark of CNET Networks, Inc. ZDNet Logo is service mark of CNET Networks, Inc.