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)

Discussion: Wired, MSDN

Tags: , , ,

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: , ,

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 ;-).

Tags: , , ,

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: , , , , ,

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: , ,

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.

Tags: , ,

Posted by Tris Hussey on February 6, 2006 | Permalink | Comments (0) | TrackBack

January 28, 2006

Don't hide these buttons ... save yourself some time ...

Don't hide these buttonsI 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: ,

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...

Hat tip.

Tags: , , ,

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:

The Corporate License includes unlimited number of company's developer seats, unlimited number of company's web servers and unlimited number of distributions as a part of your application.

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.

Tags: PDF. .NET. Microsoft

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).

Tags: , ,

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.

At a lot of levels it makes sense.  Why buy a whole large software package, and the hardware infrastructure to support it, when you can pay as you go?  Host it.  Use as you need to.  Moving, flexible licensing.  Sounds great.  Web-based CRM, web-based office apps, web-based accounting ... Wait.  What if it goes down?  What if it gets hacked?  What if there is a large-scale Internet outage (remember Sober?)
Here's a bit that I quoted in a post by Mack D. Male ...
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.
This is exactly the question that needs to be asked when investigating a web-based, on-demand solution.  What about back ups?  Local copies?  Security and monitoring?
Given these concerns, this probably means that in most cases, some tasks might be moved to web-based solutions, while core, mission critical functions will for the most part remain local.

Posted by Tris Hussey on December 9, 2005 | Permalink | Comments (0) | TrackBack

December 01, 2005

Quick charge into coding ... CodeCharge

codecharge.jpgThe 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.
Technorati Tags : ,

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.

Interestingly, I think I've been scrumming for years.  In past efforts my teams would often share responsibilities for key portions of development giving each person ownership of the entire project. It works extremely well at shortening timelines (or making up lost time when something has gone off the rails). Regardless, this kind of distributed team effort certainly appears to have a lot of promise.

Posted by Tris Hussey on November 18, 2005 | Permalink | Comments (2) | TrackBack

November 09, 2005

When the Titanic turns ...

Gee, think something has been going on at Microsoft lately?  Naw, just a sea change.  Breaking news earlier today (following my standard let the news sit before I blog it policy) was the release of by Dave Winer of internal e-mails from Bill Gates and Ray OzzieMark Evans of the National Post (Canada) had some great commentary first thing (the benefit of being on the East Coast) and Scoble just gushed his enthusiasm ... which is a really good sign.
So, what's the fuss about?  Essentially Microsoft is embracing "Web 2.0" and it seems like the age of giant super apps is drawing to a close.  Ray Ozzie recognizes that the small, light app is key.  That extensible applications like Skype and Google Earth and Flickr are winning the day.  Why?  Because they are agile.  Rapidly deployed.  Slick.  Ray even said that the days of the complex app are over.  They suck up too much dev time.
I think this is truly the watershed moment of 2005.  I think this is similar to the announcement of IE getting serious attention.  Netscape ruled the day.  No one thought the first versions of IE were anything but dreck.  Now.  Now IE is top of the heap.  It's taken years for Netscape to come back to a point where they aren't Netwho?  But Microsoft saw the writing on the walls with Firefox.  Small, light, extensible app.  Doesn't try to do everything.  Let individuals and other companies go beyond the core functions.
Clearly Microsoft is betting on the .Net and related technologies horse.  AJAX and browser-based applications are going to be more and more common.  How about a "light" version of Word that does pretty much just the core stuff, but you can add on other functions like outlining or something?
Yeah, we're going to look back at this next year and think that this was a big moment.  Either that or we're going to think we were all nuts.
Technorati Tags : , ,

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