January 17, 2007
Shaking Things Up
We talk a lot about our experiences in this column about our agile software development practice...so much so, that perhaps it sounds a little self-serving at times. After all, we're heavily invested in agile methodology. So here's a link to another developer's (Russ Nemhauser's) blog...a developer who joined an agile team at a Large Software Company Somewhere in the State of Washington. His background was in BUFD (big up-front design) and he therefore approached this Scrum project (in .NET) with a great deal of skepticism. Read about his conversion here. He also gives an example of test-driven development and talks about why he's now a believer...so much so that he's uncomfortable writing code before he writes the test(s)....and how (at least in this example) it was a time saver. (YMMV, of course.)
An interesting idea:
This doesn't solve the problem of some clients requiring large functional specification documents, but it does offer at least one potential change to the way they're written: the functional specification can be written AFTER the majority of functionality has been developed and delivered. This is a huge step toward an accurate specification and it also drastically reduces the amount of time it takes to write the document.
Posted by rswall on January 17, 2007 | Permalink | Comments (0) | TrackBack
October 30, 2006
Heartland Developer Conference 2006
Bud Wheeler just sent me this excellent overview of HDC 06. Bud is a seasoned developer with Visionpace doing custom software development in Kansas City, with a focus on Microsoft technologies and agile software processes. Thanks Bud!
I just returned from the Heartland Developer Conference (HDC06) held in Omaha Nebraska. If you aren’t aware of this conference I strongly suggest that you look into it next year. It has to be the best value of any conference I have ever attended. It was a well organized and top notch production.
As I understand it this is a roving conference and has been held in a different city every year. This year the conference was held at the Qwest Center which is a great facility that easily handled the needs of vendors and attendees. There were over 500 developers at this years sold out event. Look for information about HDC07 to be out in December or January.
The conference was split into three tracks labeled Think It, Server It and Store It. I found myself in the Serve It track for most of the conference. Of all the sessions I attended the things that really excited me were XAML and ATLAS/AJAX. These technologies look to be very cool and I am going to spend some time over the next couple months playing with them.
The great thing about a conference like this is that the excitement is contagious. The speakers are evangelists for the technologies they present and it is hard not to absorb some of that excitement. What a great way to recharge the ol’ batteries. We too often get caught up in the daily grind of development. It is essential to take a step back and look at the bigger picture. As developers it is our responsibility to not only provide solutions for our customers current business problems but also to look at the future business needs. Developer training is a big part of that and I encourage every developer to spend some time looking beyond their current tasks. For me the chance to talk to other developers is as interesting as the sessions. The opportunity to discuss how they are solving problems is a great way to pick up new ideas.
To paraphrase one of the speakers, software developers are the only professionals that are trying to solve constantly changing problems with a constantly changing set of tools. How are you going to keep up with that if you are not doing something to educate yourself?
Posted by Doug Bliss on October 30, 2006 | Permalink | Comments (0) | TrackBack
March 29, 2006
When the story doesn’t fit
On a recent .NET consulting project in Kansas City, where we were doing software development and agile project management coaching, the team was struggling with sizing our user stories to fit our iterations.
Invariably during our projects we find that some of the user stories we came up with during the initial story workshop don’t really fit in the project development as written. Sometimes they are too large for the time allotted and/or have some high priority tasks and some not so high priority tasks. Other times we’ve learned so much about the project, the initial story doesn’t encompass all the facets it should. The question is what to do with these stories. Should the entire story be tasked out and carried over to the next iteration, should only the necessary tasks be focused on, and the story carried over, or should the story be broken down into smaller stories?
The answer, like a lot of answers when following an agile approach is; it depends. One can make an argument for any of the scenarios listed. Since I’m the kind of person that has a ‘I want to show progress on the burn down’ perspective, I prefer to break the story into smaller stories that ‘slice the cake’. (The stories aren’t all user interface or all back end processing. Rather they have some user interface, some middle tier logic and some back end processing.) What’s important is to capture the stories based on the current understanding, scope them in an appropriate size as much as possible so they don’t have to be broken down again later, and make sure that nothing falls through the cracks.
Once a story is broken into new stories the next thing to consider is how to forecast the new stories. Often times there is the desire to say that since the original story was forecast as a five points, and since we broke it into three new stories, one story that is three points, a second story that is one point, the remaining story must also be one point (5=3+1+1). Don’t do this. Another pitfall is for the team to say “When we started these stories would have all been threes, but since we have a better idea about what we’re doing, they all look like one’s now.” The key is to forecast each of the resulting stories independently and triangulate them against the existing stories for the project, making sure they are put in the right bucket.
The take away is to make sure the user stories reflect what you are doing in an iteration rather than trying to make the iteration fit the stories defined. If this means that some stories need to be removed and rewritten, do it. Just pay attention to the stories that are created to make sure they will fit in the future and that you don’t lose anything in the transition. Also remember that the forecasting for the stories follows the same triangulation used in the original story workshop.
Posted by martinolson on March 29, 2006 | Permalink | Comments (0) | TrackBack
March 24, 2006
.Net and C# coming to the Mac?!?
Wow, this could be huge ... if it stays on track, of course. This actually hits pretty close to home. When we were looking at the next version of Qumana we knew we needed a PC and Mac version. Then, the only viable option was something based on Mozilla (sounds great, lousy documentation) or Java (well supported, but rather sluggish). Rumours and whispers of something like this were tempting but far too vaporware to base a real development plan on.
The big question is, will this matter? Will a lot more apps be written so that Macs can use them? That's tough. As much as this is touted as a "cross-platform solution" I know from the Java experience, you will have to tweak for Mac and PC. It will come down to ... is there a large enough user base to warrant the additional development?
I guess we'll just have to wait and see.
Oh, the image above? That's a test widget in this new programming tool ... in Firefox ... (credit to Adam Kinney)
Tags: .Net, C#, Mac development, Microsoft
Posted by Tris Hussey on March 24, 2006 | Permalink | Comments (1) | TrackBack
Software as a Service (SaaS) ... haven't we done this before?
Software as a Service (SaaS) is the lead article in InfoWorld this week (there is even a downloadable PDF of the report for subscribers/members) with continuing commentary on ZDNet:
It's official: SaaS is the Next Big Thing by ZDNet's Phil Wainewright -- The cover story on the latest issue of InfoWorld has it writ large: Software as a service: The next big thing.
Not to be a curmudgeon, but I don't get the sudden hype around SaaS. I like my hosted web services as much as anyone, but I find this smells a bit like over-hype. As good as a SaaS service might be, and with AJAX and better bandwidth making the apps extremely rich, these applications are still vulnerable to outages, crashes, and when you're offline ... so is access to your data.
But ... what do you think?
Tags: Software as a Service, Saas, Salesforce.com
Posted by Tris Hussey on March 24, 2006 | Permalink | Comments (0) | TrackBack
February 22, 2006
Battle brewing over C++, .NET, and standards
As C++ is before the Ecma for standardization, there is a little problem. Seems that tying it to the Common Language Infrastructure (CLI) ties it too closely to .NET WebProNews continues ...
There seems to be a C++ schism going right now as the Ecma consortium works out standards for the widespread programming language. The specification will bind C++ to the Common Language Infrastructure (CLI). This presents a problem for some because it ties the language a little too closely to .NET.
The basis of the controversy comes from the fact that .NET Framework is an integral part of the CLI standard. As ZDNet pointed out, it also paved the way for Microsoft to say that .NET was standards-compliant. They also pointed out one of the major strengths of .NET is the ability to write in a variety of languages. This isn't a bad thing.
But, ZDNet continues, the CLI really needs support from a "neutral motherload language" like C++. This would allow CLI to gain some clout and really move to the next level. This is the reason Ecma is tying C++ to CLI.
Times like this I long for BASIC ... okay not really. Logo maybe ;-).
Posted by Tris Hussey on February 22, 2006 | Permalink | Comments (0) | TrackBack
February 20, 2006
C# vs VB.NET... is there a difference?
Coding horror compares Coke vs Pepsi as an analogy to C# vs VB.NET. The post is an interesting one for me, not because I'm a programmer, but as a product manager. I have to ask myself when choosing a coding language ... which is most compatible, which has the best support and documentation, which is the easiest for that programmer to code in, how easy is it to find other people to program in it?
Technical considerations aside, sometimes the real-world considerations are the ones that make the final call.
Tags: C#, VB.NET, Coke, Pepsi, programming, software development
Posted by Tris Hussey on February 20, 2006 | Permalink | Comments (0) | TrackBack
February 15, 2006
Scrum plugin for Visual Studio
Via Chris Breisch's blog and scrum plugin for Visual Studio (in beta). And you might like to check out the main blog ... because I saw the magic words "scrum" and "podcast" looks interesting to me.
Tags: Agile, Visual Studio, Scrum
Posted by Tris Hussey on February 15, 2006 | Permalink | Comments (0) | TrackBack
February 06, 2006
.Net and QA are the hot jobs right now ...
From CNN Money:
Two tech jobs in high demand these days are .NET developers and quality assurance analysts.
Developers who are expert users of Microsoft's software programming language .NET can make between $75,000 and $85,000 a year in major cities. (See correction.) If they pursue a job at a company that seeks someone with a background in a given field (say, a firm looking for a .NET developer experienced in using software related to derivatives) they might snag a salary hike of 15 percent or more when they switch jobs.
Those who work in software quality management, meanwhile, might make $65,000 to $75,000 a year and be able to negotiate a 10 percent to 15 percent jump in pay if they switch jobs.
Break out the resumes ... if you are a .NET whiz or a QA master (dare I think about if you're both!) according to CNN Money they are the two hottest areas in tech right now.
But ... from my experience as a manager during the DotCom boom ... jumping ship just to get more cash isn't always the best course. One of my best programmers jumped ship to a little start up and wound up working in an environment where they hired 12 people for about 6 slots ... you had to program great stuff to keep your job, and you knew people where going to be let go. So ... caution is always the best course in times like these.
Posted by Tris Hussey on February 6, 2006 | Permalink | Comments (0) | TrackBack
January 28, 2006
Don't hide these buttons ... save yourself some time ...
I came across this tip on SecretGeek. A couple buttons in Visual Studio .Net that make your life easier in programming. The first is View Code, the other is View Designer. It seems that Microsoft hid these buttons from view in Visual Studio. So ... take two seconds and customize your toolbar.
Tags: Visual Studio, .Net
Posted by Tris Hussey on January 28, 2006 | Permalink | Comments (0) | TrackBack
January 27, 2006
Feed your readers with .Net syndication libraries
Syndication is hot. Personally I subscribe to over 700 of them. Now ... one thing that bugs me when there isn't a feed for a great site (thanks for the sites Doug!). Looks like there are some .Net libs so you can do it...
Powered by Qumana
Posted by Tris Hussey on January 27, 2006 | Permalink | Comments (0) | TrackBack
January 25, 2006
.NET PDF Solution - Siberix Report Writer & Siberix PDF Library
During a current project, I needed a tool for generating PDF documents for reporting on pre-printed forms. The majority of reports in the system use this form. I wanted to find a solution that fit my needs and nothing more. Other systems do so much and very well, but for just developer needs, they are a bit much. I found a utility call Siberix PDF Library and it's counterpart Siberix Report Writer. If you need a tool for PDF generation, I highly suggest these products. At the current time, the price is $149 for the PDF Library and $299 for the Report Writer which is amazing in this day of third-party software tools for reporting. If you purchase the Report Writer, it is actually the Report Writer + PDF Library for $299 so no need to purchase each product separately! Not only is the pricing amazing, but the licensing is tremendous. You would expect utilities like these to have a server license per-install or a per-developer license, but the license states:
To break out how these products work, we need to understand their propose. The PDF Library is an API for .NET 1.0, 1.1, and 2.0 that allows you to programmatically build a PDF document with all the bells and whistles you would except in a PDF API. As stated, the code is compiled and ready for .NET 2.0, so there is no waiting if you have already moved on. The API is very similar to other vendors and could be used by anyone with a basic understanding of .NET. The process for building a PDF is build a Document class, assign styles and properties to the document, and start adding text in free form or tables. Once you have the Document class where you need it, call the Generate method and get a stream for your use to save, or push back to an ASP.NET Response.OutputStream.
If you are like me, you love to work with XML natively and building documents like this makes more since with an XML Editor and XSLT to build a template for transforming an existing document like an RSS feed. This is where Siberix Report Writer comes in to play. This tool takes a XML document, based on their schema, and will generate either the PDF stream or source code for you to integrate with you application. If you use XSLT, you might as well generate the PDF, but if you want the ability to design the template in XML and then use .NET to link in your data, building the source is a highly valuable tool. If you are like me and have a requirement for both, the Report Writer interface supports the ability to Callback into source during the generation of the document for a good mix of the two.
During my evaluation of the product, I contacted their support not excepting to hear back from them anytime that day as I have been used to from other vendors. Instead, 10 minutes later I had an open dialog with their support and was able to get the solution I needed. Other companies could learn from this kind of support.
If you are looking for a PDF API for .NET, I would highly suggest this product. There is a free evaluation online at siberix.com for each product with a user guide and sample source code for you to try out.
Posted by jeff_julian on January 25, 2006 | Permalink | Comments (1) | TrackBack
January 16, 2006
Keep up on Vista (nee Longhorn) and .Net
The LonghornBlog is a cool place if you'd like to keep up on the latest on Vista ... you know I still like the Longhorn name and logo (heck I even have a Longhorn RSS jacket from Gnomedex).
Posted by Tris Hussey on January 16, 2006 | Permalink | Comments (0) | TrackBack
December 09, 2005
The move to web-based software ... end of software or a bigger problem?
From ITWorld Canada comes an article that raises some interesting questions... On-demand spells 'end of software' .
He said the success of Web-based on-demand services would not be restricted to the customer relationship management (CRM) space, but would extend to other business process apps as well. That's because such services are relatively low-cost, less risky and uncomplicated.
"We believe this is the end of software," he said, predicting a move away from client-server as a dominant model for delivery of computing technology. "In a short (period) of time, all technology will be delivered (via) the on-demand service approach." Salesforce.com is counting on its newest on-demand platform – dubbed AppExchange – to move this trend forward.
AppExchange is a Web-based application-sharing service that offers customers a host of pre-built business applications including sales, marketing, productivity tools, customer service, finance, administration and human resources.
Using the service, companies can browse through some 70 applications and test drive the ones they want. Once satisfied, they can install the applications through the on-demand AppExchange system.
So what happens in a few years when the vast majority of our data is stored online? Creating some sort of malicious software to target those data silos will become increasingly irresistible for those who write viruses, worms and the like. And that introduces a pretty big problem for users, and for those running the hosted services.
Posted by Tris Hussey on December 9, 2005 | Permalink | Comments (0) | TrackBack
December 01, 2005
Quick charge into coding ... CodeCharge
The review from Download Squad is from a long time user and sounds very promising. Quick editing into some of the major languages. Here's the final word from the review:
While you can dig into actual code with CodeCharge, the beauty of this application is that it lets you build on any of the following platforms, PHP, ASP, JSP, Perl, ColdFusion, or ASP.NET, and you don't really have to know how to program a single line of code. The downside is that CodeCharge isn't cheap. It'll set you back $140. Once you have a tool like this and access to a web server, however, you'll find yourself building all kinds of useful applications. Who knows, you may unleash the hidden coder in you! CodeCharge is a Windows based application.
Posted by Tris Hussey on December 1, 2005 | Permalink | Comments (0) | TrackBack
November 18, 2005
Ready, set, Scrum!
In rugby the Scrum is like the huddle in American (or Canadian) football. It represents the team frequently coming together discussing common goals and then going off to achieve them. Agile software development concepts are having great success in developing software rapidly and with high quality.

Discussed as part of this eWeek article, the Scrum method is winning advocates across IT, including Microsoft itself. Steve Ballmer feels that Scrum and agile development in general are ways for Microsoft to turn out final products faster.
I found this section of the eWeek article to be a very good explanation, at a high level, of Scrum:
Robert Galen, principal consultant at RGalen Consulting Group LLC, Cary, NC, said Scrum "comes from the rugby notion of the scrum, which is to have the entire team get together and huddle, and then break and do their individual tasks."
Galen said a typical scrum team is made up of between five to 10 people, although there could be more. The team then works in Scrum "sprints" of about 30 days to complete a particular task or set of tasks for a particular milestone.
The team meets daily for 15-minute standup meetings and then they go off to work on their portions of the project. And although there is a "scrum master" or project manager-like position on the team, "self-organization is key to scrum," Galen said.
Scrum efforts do not work well with "a General Patton, but more of a Bill Belichick," Galen said, speaking of the New England Patriots head coach who is known for fostering teamwork.
Meanwhile, at the Software Test & Performance conference earlier this month in New York, Galen said he has used the Scrum process not only for developing applications, but also to test them for quality assurance sign-off.
Posted by Tris Hussey on November 18, 2005 | Permalink | Comments (2) | TrackBack
November 09, 2005
When the Titanic turns ...
Posted by Tris Hussey on November 9, 2005 | Permalink | Comments (0) | TrackBack
July 18, 2005
Some Great Team System and Agile Resources
For those wanting to get started, here are some good Team System and Agile related resources:
Books
Introducing Microsoft® Visual Studio® 2005 Team System Beta Edition
Test-Driven Development in Microsoft .NET
Agile and Iterative Development: A Manager's Guide
Integrating Agile Development in the Real World
Blogs
Directory of folks currently blogging about Team System (courtesy of Rich Hundhausen)
Posted by John Alexander on July 18, 2005 | Permalink | Comments (0) | TrackBack




