| Raven's profileRaven's Brain v1.0PhotosBlogLists | Help |
|
|
5/24/2008 Software Development: Embracing Criticism Is Good For BusinessChristopher Hawkins has a great post on the benefits of defects and bug reports in software development: Embracing Criticism Is Good Business. If you've worked in software/IT for very long you know how some (a lot of) engineers react to defects in their code. Most dread bug reports, some fear them and others choose to simply ignore them. Read Christopher's post and perhaps print it out and/or share with your team. It's an insightful piece on developing "good" software, really caring about what you're building and striving for the very best while working though defects. It's about changing peoples thinking about bugs and (hopefully) getting development "excited" about rooting out defects until the last, defiant bug is killed. Here's an excerpt:
More great thoughts await you - go read the post if you work in software! posted by Raven at Raven's Brain under Software & Web Development 3/17/2008 Peer Code Reviews Yield More Than a Goodnight's SleepA post from Lisa's bad brain, guest voice inside Raven’s Brain. I have been managing a product development team at msnbc.com for almost three years now and Cohen’s book offers a number of practical, easy to implement, techniques for conducting efficient peer code-reviews--some I had already been exposed to, and some I plan to try out—but it was the chapter on the “Social Effects of Peer Review” that I found the most insightful, considering what I was witnessing within my own team. Cohen states that his experiences with peer code reviews have uncovered “several social issues that managers and team-leads should be aware of. Some are positive and should be encouraged in the group; others are negative and need to be addressed in a way that is both sensitive and effective.” Unexpected positive social aspects The “Ego Effect,” according to Cohen, is one aspect of the peer review process that leaders must be keenly aware of, as it can have positive or negative effects--it can either foster or harm team dynamics. Since we are all ego-driven individuals, we want to be known for our success and not our failures. When a developer is assigned to a project, he or she naturally wants the response to be positive, “oh yeah, his stuff is pretty tight. He’s a good developer,” and not something like “he’s pretty good but makes a lot of silly errors. When he says he’s done, he’s not.” Cohen goes on to argue that “Old Habits Die Easy,” so peer code reviews can be as helpful to the reviewer(s) as the coder(s). He recounts an experience where he was reviewing a particular line of code that was correct, but written differently than he would have done it. Knowing this method would work, he could have moved on, but instead the author asked the developer why it was written this way. What he learned in the process was a new trick that he could easily incorporate into his code. “Normally you think of the review process as unidirectional—the reviewer points out problems for the author, and the author might learn something in the process. But here I was the reviewer, and yet I was the one who was learning!” Knowledge sharing between reviewer and author lead to collective insights that “were spread around correctly – far faster than any other technique we could have invented.” Cohen promises that it gets even better and suggests an exercise that involves logging every error made in a week, including such things as spelling errors in emails was well as mistakes made in code while unit testing. According to Cohen, you will start to recognize patterns in the “mistakes” you make, and by the second or third day, the annoyance of the exercise itself will lead you to start thinking about it consciously, anticipate the mistake, and prevent yourself from making it. “Over time you become more productive, more efficient,” Cohen states. “You’re working faster and smarter….by observing yourself just a little more carefully and systematically.” This, he observes, is systematic personal growth—it begins with the recognition that one tends to make certain mistakes and our desire not to make the same mistakes again leads to self-correcting behavior. Handling hurt feelings, and the “Big Brother” effect If not managed proactively, however, the social effects of peer reviews can be more damaging that helpful. Hurt feelings and the “Big Brother” effect are two negative side-effects of the “Ego Effect” that must be properly mitigated by management in order to maximize the positive social effects and minimize the negative. Everyone responds to and/or perceives criticism differently, thus to foster the positive social effects, managers need to focus on the identification of defects as a positive. The “Big Brother” effect kicks in when developers feel that their defect ratio will be used against them--if someone is looking over our shoulder, we are more likely to mask defects rather than focus on the positive effects of finding one! In order to combat these factors, Cohen argues that managers need to understand that the quantity of defects found in a code review is subject to a variety of influences that do not represent the capability of the developer producing the code, and then instill this same understanding within the team. In order to accomplish the latter, the author suggests four key messages to convey:
A peer review of complex code should surface more defects than a review of less-complex code—“if your reviewer didn’t find them, wouldn’t you worry about the quality of the review?” Studies show the amount of time spent reviewing code has a direct correlation to the number of defects identified, so quantity of defects logged is not necessarily about how “good” the code was. The goal of this process is to make the code as good as possible. Defects are learning experiences and opportunities for personal and team growth. To drive this point home, Cohen insists that managers must reassure the team that defects will NOT be used in performance evaluations. I found this particular argument interesting considering the interview Raven did recently with [Curt finch, who does advocates for just the opposite. Ok, but really. The more defects the better? This is hard to swallow, especially for someone who used to sleep better when we found fewer defects during a code review, that when we found more, because I was satisfied this meant the code was solid to begin with. Rest assured, says Cohen: “the more defects found, the better the team is working together. It doesn’t mean the author has a problem; it means they’re both successfully exploring all possibilities and getting rid of many mistakes. Authors and reviewers should be proud of any stretch of code were many defects were found and corrected.” Ok, then, the more defects the better. If I can rally my team around that, I should be able to maximize the positive effects of the social experience I noticed our reviews becoming due to growth. And, knowing what to look out for, I should be able to mitigate the ego-damaging factors that could undermine the intent. And our peer code reviews might just become something much more valuable than a good night’s sleep! Posted by Lisa Forsyth at Raven's Brain under Software & Web Development 3/11/2008 Programming Humor: Simplicity and SoftwareHere's a great image for techies from Eric Burke over at StuffThatHappens.com. Anyone who's ever worked in software/web development will surely appreciate "simplicity" Direct link ro original image: http://stuffthathappens.com/blog/2008/03/05/simplicity/ I *love* the "OKAY" button!! If you're a glutton for punishment there are some amusing comments following the image at the original post - especially the whole "apples V. oranges" commentary! posted by Raven at Raven's Brain under Software & Web Development 10/31/2007 Nine things you need to know about SaaSThe Journyx PM blog referred me to a great tech article: Nine things you need to know about SaaS. It's a timely article that discusses SaaS as it becomes more mainstream and also highlights potential issues, challenges and questions you should consider. The "9 things you need to know" are:
Some related resources:
posted by Raven at Raven's Brain under Software & Web Development 10/22/2007 Web 2.0 begat Web 3.0 but confusion still aboundsDavid Herron has an interesting post on the future of the internet: Web 3.0??. With so much discussion over Web 2.0:
Some folks have moved on to Web 3.0:
The bullets are just a sample of the articles, posts, videos and more out there on Web 2.0 & 3.0. Back to Herron's post, here is the excerpt I liked discussing other definitions of Web 2.0 and how the details still vary:
Web 2.0: web services, social networking, client side refresh, etc. but are we moving too quickly in trying to define Web 3.0? I know there's even more discussion on that subject. As a PM working on technology, software and web development projects it's critical to stay abreast of current and future trends, it's just hard to keep up when you're not in the nitty gritty tech trenches and able to follow the debates and discussions on what IS or IS not 2.0 or 3.0 or...?
posted by Raven at Raven's Brain under Software & Web Development 9/26/2007 Tech Book: Best Kept Secrets of Peer Code ReviewI received Best Kept Secrets of Peer Code Review from author Jason Cohen of SmartBear in August and just started it. So far so good and that ain't bad! I'll post more when I've actually finished the book, but wanted to commit to reading it in the next few weeks in writing, before something else catches my attention - Look--A shiny object!! I previously posted about the free offer for the book and it appears to still be ongoing. My girlfriend received her copy this week, which she plans sharing with her team, and that reminded me to get to gettin the book read. From the few pages I've read I do think it's going to be interesting for folks involved with software and web development and other facets of the IT sector. Stay tuned.. posted by Raven at Raven's Brain under Software & Web Development Tech PMs: Software Requirements Specifications: The Right WayDeveloper.com has an excellent, detailed article on specs and requirements in the software development world: Software Requirements Specifications: The Right Way. Author Aleksey Shevchenko discusses the importance of software requirements specifications (SRS) and provides eight guidelines that should help you "create a well-written SRS that is both complete and unambiguous". What I appreciated most about the three page article was the detail Shevchenko provides on Use-Cases, which happens to be the foundation for his eight specification tips. You'll read about:
And a lot more. It's a good read for Technology PMs - IT, Software and web-development, and others dealing with design/development/engineering/programming, etc. You'll gain a better understanding of the importance of use-cases and how they can be used to your benefit. Even if you don't write specs you'll still glean a few bits of insight. Link: http://www.developer.com/mgmt/article.php/11085_3681171_1 Enjoy! posted by Raven at Raven's Brain under Software & Web Development 8/22/2007 Software Development and Quality: Best Kept Secrets of Peer Code ReviewLast week I posted about a free technology book: Best Kept Secrets of Peer Code Review. I According to FreeTechBooks "This book is aimed for anyone inside the production department, from the software developers to the managers. Regardless of reader's specific situations, this book will no doubt give readers a new idea on how to deal with those pesky little bugs." As a Tech PM I'm definitely interested in reading it and my partner who works for MSNBC.com as a group manager on the technology team sent the free offer out to the entire dev team. Remember:
FreeTechBooks Link: http://www.freetechbooks.com/about310.html SmartBear Book Link: http://smartbearsoftware.com/codecollab-code-review-book.php 8/17/2007 Web 2.0 And The Top 1,000 ListTech Without Wires has an interesting post on Web 2.0: Web 2.0 Top 1,000 List. Some interesting info on Office 2.0, Web 2.0 expectations and a link to the top 1,000 web 2.0 list:
Read more here: http://www.techwithoutwires.com/50226711/web_20_top_1000_list.php posted by Raven at Raven's Brain under Software & Web Development 8/14/2007 Totally FREE Technology Book: Best Kept Secrets of Peer Code ReviewThanks to Brad Appleton for the heads up regarding a FREE, interesting looking book for programmers/developers/engineers/testers and other tech workers: Best Kept Secrets of Peer Code Review.This is a real, actual paper book - not an e-book, and the offer includes FREE shipping with a no-strings-attached claim.Here's a nice write up from Brad's post:
A free book, free shipping, good review and no spam? Sign me up! Here's a little more on the book from SmartBear:
Read more about SmartBear, the free book offer, table of contents and sample chapters: Brad's post lists other useful resources from SmartBear: posted by Raven at Raven's Brain under Software & Web Development IT Humor: The greatest programming tip ever writtenAmusing "tip of the Day" that most techies will appreciate. Found at techrepublic
posted by Raven at Raven's Brain under Software & Web Development 6/11/2007 Software Development Post: All I Ever Need to Know about Testing I Learned in KindergartenStickyMinds has a great article regarding testing: All I Ever Need to Know about Testing I Learned in Kindergarten. Author Lee Copeland tweaks the lessons in Robert Fulghum's book "All I Really Need to Know I Learned in Kindergarten." into some interesting guidelines for testers. Here are a few of my favorites:
I believe the entire article contains 15 tips geared towards the testing community, but anyone involved in software development could benefit from reading it. Often we forget how difficult a job testers have, trying to catch all the bugs, dealing with egos, changing priorities and deadlines, frequent code updates, builds, environment issues, etc., and I believe that even the simple tips from the article provide insight into how complicated and stressful a testers job can be. You might also browse the comments at the end for some additional thoughts on the subject. Enjoy! posted by Raven at Raven's Brain under Software & Web Development 5/7/2007 Tech post: Programming Promises & The Professional Programmer's Hippocratic Oath As a technology PM I'm always looking for interesting software and web development content. I bookmarked a post from Ted Neward a while back that's worth sharing: Programming Promises (or, the Professional Programmer's Hippocratic Oath. I love working in product development on the technology side and enjoy working with engineers that are interested in developing high quality code and working as a team, rather than focusing on individual performance - So of course I loved this post! It covers Michael Letterle's list of Programming Promises and also discusses Neward's tech-tweaked version of the Hippocratic Oath, aptly renamed as The Profressional Programmer's Hippocratic Oath. Here are a few of my favorite Programming Promises:
Great list, with more detail available on all 12 promises here: http://michaeldotnet.blogspot.com/2007/01/programming-promises.html. As for The Profressional Programmer's Hippocratic Oath, here are a few of my favorite points:
More great info, with additional detail available here: http://blogs.tedneward.com/PermaLink,guid,17a2b01b-f398-4033-b914-d10418fb0a53.aspx. Thanks to Michael and Ted for puting these texts together and sharing with with technology community. All roles on a software, web or technology project are vital - programmer, analyst, pm, tester, etc. - and the more responsibility you take in your own role affects the success of the entire project. We all need to be more accountable for our work and both of these lists provide great info on how to be more effective in your job as a programmer, but are also applicable to a majority of the technology team. posted by Raven at Raven's Brain under Software & Web Development 4/20/2007 Women & Technology: NYT shows decline in women computer science majorsPMThink! references a recent article from New York Times regarding the growing decline in women graduating with computer science degrees. It's an interesting read, here's the intro:
That's not to say that women aren't progressing in other fields, like math and biology noted in the above clip, but the drop in interest to computer science means there will be less women IT professionals to fill future positions. Yikes! Us female PMs need other women IT professionals in the industry! The article goes into more detail on what american colleges are doing to combat the trend and here are a few more interesting points:
Read more here: http://www.nytimes.com/2007/04/17/science/17comp.html?_r=3&ref=technology&oref=slogin&oref=slogin&oref=slogin Are we women canaries? Or is the IT field just not as interesting and seductively lucrative as it was in before the bubble popped and the money trees whithered? Maybe the horror stories of building software on death march projects, working all nighters - heck all weekenders - just to get a critical patch out - has deterred them some. Maybe they're just bored. Hopefully the industry can show future IT girls how important they are to new technology and innovation, and schools and colleges will learn to do more to peak their interest. We definitely need women in the workplace and that includes building software, working with code, developing new technologies, making adavancements and contributions to the IT field, architechting, technical documentation, tech management and so much more. My two cents with a side of ramble.. 4/16/2007 Good Insights On Managing Knowledge WorkersThere's a good post on the challenges of managing knowledge workers at Thinking Faster: What's a manager to do? Here's the intro:
Good insights on managing in the tech sector!
3/17/2007 Peer Code Reviews: Are you a software pooper scooper?Jared has two great posts on peer code reviews. The first is an insightful look at code reviews from a leadership perspective: Are you a software pooper scooper?. Good stuff:
Jared's Blog also has a great post titled The Peer Code Review that provides a great overview of what a code review is, how to coduct a useful session, things to avoid and some benefits of them:
It's a good overview on code reviews and makes a good case for their benefit. As a tech PM, I'm all about delivering quality code, so anything we can do to increase QA in the project is a plus. Besides, code reviews helps to ensure that the test team is getting good code integrated into the system for more testing. Thanks to Jared for posting his experience and tips! NOTE: Raven's Brain has MOVED! Raven's Brain new web site Raven's Brain V2.0 FEED Subscribe to Raven's Brain V2.0 via email posted by Raven at Raven's Brain under Software & Web Development 2/24/2007 Interesting Software Development Post: Testivus - Testing For The Rest Of UsI came across a great article by Alberto Savoia (CTO of Agitar Software): Testivus - Testing For The Rest Of Us. Here's the summary:
If you're a fan of Seinfeld you'll recognize the nod to the mighty festivus in this article, but it goes deeper than that. I'm currently a PM but I used to be a web developer/hack, back when it was easy, and I've developed small components and mock-ups in VB and hacked my way through ASP, XML, scripting, etc., so I'm interested in improving quality through solid development and heaps of testing from a few angles. I understand what developers/prgrammers/engineers face with changing requirements, priorities and schedules, system silos (where a single individual owns a peice of the system), unclear specifications, etc. I also understand how the test/qa teams at most software development companies are the first to have time cut from a project, are under the most pressure during the most critical part of the project, and how help from developers with things like unit testing before integrating code into the build, testing during coding and keeping on top of defects, and thinking about integration with other parts of the system environmentsdev/test/uat/integration/staging/production/et. al), DBs, etc. all add to the quality of the deliverable. In the article Savoia proposes "The Testivus Manifestivus" and provides a first draft to address some of these common issues:
Sound too simple? It's actually common sense when you read the detail on each of the above items. Here's detail on my favorite part of the Testivus Manifestivus:
And there is more detail on each of the other items in the Manifestivus, so check out the complete article for more detail and proper context: http://www.artima.com/weblogs/viewpost.jsp?thread=194506 2/10/2007 Web 2.0 Video: "Web 2.0 ... The Machine is Us/ing Us"Thanks to Jack Vinson for the great reference on Web 2.0:
LINK to post: http://blog.jackvinson.com/archives/2007/02/05/we_are_the_web.html 2/8/2007 Interesting list of the Stages of Software DevelopmentHere is a great list of the Stages of Software Development that were written by Christopher Diggins:
From a PM perspective I found this list to be quite valuable. Our teams are often so rushed to push code out that we don't have the time to do all the steps mentioned, but imagine the quality software we'd turn out if we only had the time! The development world is growing more agile but that doesn't mean that all of these steps aren't needed or executed, and working from a list like the one above could be of great benefit to teams struggling with different methodologies. If you are including the most important steps in your process, no matter what it's called, you're definitely on the right track - keep it up! Thanks to Christopher Diggins for the great info!
2/4/2007 The Power of the Internet: Web 2.0: The Internet, RefreshedBaseline has an interesting article on the power of the web: Web 2.0: The Internet, Refreshed. It discusses Web 2.0, what it means and how to create a successful framework to increase productivity, cost savings and ROI:
Related Raven's Brain posts:
|
|
|