June 10, 2009 4:30 PM
Posted by: MichaelDKelly
Everyone wants to finish the application development project he or she is working on. It’s a big deal to complete something. It makes you feel good. You get to cross something off a list or feel the satisfaction of seeing software you worked on make someone’s life better.
Sometimes there’s confusion about what it means to be “done.” Does being “done” mean I’m done? Or that the team’s done? Or that the date we said we’d be done has arrived? Or that the software is finally out the door? Confusion on what it means to be done is a dangerous thing.
Nothing is worse than someone saying they finished something — and sincerely believing they had — to later find out that you both had a different impression of what it meant to be finished. When it happens, you have to deal with both the work, and rework, required to get the item completed and the potential lost of trust on future work.
On my current team, we talk a lot about being done. It’s a big deal. We’ve even developed some bullets around what it means to be done with critical tasks.
During a sprint, a story is “done” when it has been:
- unit tested;
- peer reviewed;
- all alerts have been logged;
- feature tested;
- any defects have been fixed;
- and the product owner accepts the story at sprint review.
A sprint is “done” when:
- all the sprint goals are met;
- all the stories have been accepted by the product owners;
- the team has performed their retrospective;
- and all the work for that sprint has been scheduled and moved to the appropriate release.
Outside of a sprint, a release is “done” when:
- all stories have been merged in;
- all defect fixes have been merged in;
- the merge has been peer reviewed;
- all outstanding test charters for the release have been executed;
- all final regression testing is completed;
- any user acceptance testing is completed;
- all the configuration management work is completed;
- all the configuration management work has been peer reviewed;
- and the release is deployed to production.
So how did our definitions for the word “done” become lists? Each bullet tells a small story about our team and the way we work. Many of the bullet points imply development practices (like peer reviews, unit testing, and exploratory testing) while others are milestones or events (like product owner acceptance or deployment). You get a feel for both our process, and our history when you look at what it means for us to be done.
Think about your own team. What does done mean for you? Is that a shared meaning? Ask around. If done means something different for you or your team, consider posting your meaning in a comment below.
June 5, 2009 5:07 PM
Posted by: Jan Stafford
, Java One
, Peter Moore
Get ready to see the absolute best demo of this year’s JavaOne. No, it’s not a demo of a product that’s for sale. It’s just for fun.
Roaming the exhibit hall at JavaOne here in San Francisco, I met Pete Moore, Nerd Herder at Atlassian. Yes, Nerd Herder is his title. First off, we spent some time talking about Atlassian’s Java powered products. Next, we talked about living in Sydney — a dream of mine. Then, Pete gave me a tee shirt and showed me that tee shirt in action.
What you’ll see is my video of the large screen on which the demo takes place. Remember the camera isn’t pointed at Pete. Believe me, in person, it’s even better.
After this, I’ll look at tee shirt designs in a completely different way.
June 3, 2009 3:49 AM
Posted by: Jan Stafford
On the first day of JavaOne, Appistry showcased its customer Clearent LLC’s successful private-cloud implementation of a merchant payment processing application with Appistry’s CloudIQ platform. My ears perk up when I hear the words “cloud” and “user” because I’ve heard so much about cloud computing and so little about deployments of it. So, I grabbed the chance to interview Sam Charrington, vice president of product management for St. Louis-based Appistry.
In our interview, Charrington talked about private clouds versus public clouds, advised software testers and developers about what to look for in a cloud platform, compared the features of Appistry’s cloud platform to those of VMware and Microsoft and commented on Appistry’s user stories and role in cloud computing at the enterprise application level.
I asked Charrington what software testers or development teams be looking for in a cloud platform. He responded:
“We’ve found that when these kinds of teams are looking at a cloud environment to enhance the way they deliver product, the focus needs to be on three things: abstraction, automation and unification. Abstraction and automation are key because they differentiate true cloud solutions from garden variety virtualization and ensure that the teams will see the maximum acceleration possible from the cloud deployment. Unification is important because when you peel back the layers on any large-scale private cloud initiative, what you see are a number of distinct application environments working in harmony with one another: a true flow of applications and infrastructure across the cloud. Being able to manage all this in a unified way ensures that costs remain low as the environment scales.”
Responding to my questions about cloud adoption, Charrington noted that private clouds have become especially popular for enterprises seeking to enhance development/test environments.
“One of our favorite case studies is the work being done by a Fortune 500 transportation services company, a user of the Appistry CloudIQ Platform,” said Charrington. “In addition to running their production environment, this customer’s CloudIQ Platform-powered private cloud has allowed them to significantly enhance dev/test operations. The ability to effortlessly reconfigure development and test environments on the fly has allowed them to achieve a number of very specific outcomes, including the ability to create new application environments in minutes, down from weeks, and an increase in the server-to-operator ratio by a factor of 10 — as compared to traditional virtualization — resulting in a reduction of operational labor costs.”
Next I asked Charrington to offer examples of when a company should use a private clouds instead of hosted clouds, and vice versa. He replied:
“Private clouds allow enterprises to reap many of the advantages of cloud computing, without the limitations of public clouds in areas such as security, control, visibility and governance. Many enterprises see their private cloud as a starting place, and the centerpiece of an over-arching enterprise cloud strategy that also includes the use of public clouds where appropriate.”
Charrington provides more private versus public cloud comparisons in this video clip, filmed at JavaOne.
Charrington also gave me a rundown of Appristry’s flagship products, CloudIQ Manager and CloudIQ Engine. CloudIQ Manager software facilitates the creation of a private cloud and provides tools for migration to that cloud and management of the applications that live in it. CloudIQ Engine is cloud middleware that provides services and APIs for developers of new “cloud native” applications, offering management components for scaling, optimizing performance and maintaining reliability.
So, I asked, what are the key differences between a private-cloud platform VMware’s or Microsoft’s cloud platform?
“VMware is an infrastructure-focused offering; meaning, in the end, they provide the enterprise with a way to manage virtual machines. VMware and other infrastructure and virtualization technologies are complementary to CloudIQ Platform. When virtualization is present we can ride on top of it, providing abstraction, automation and the unification of disparate cloud environments, as well as much needed application-level services.
“Microsoft Azure, on the other hand, is a platform-as-a-service offering. One key difference between CloudIQ Platform and Azure is the fact that with Azure you are locked in to Microsoft’s infrastructure, while with our platform you can self-host or run on any public cloud infrastructure like Amazon EC2 or GoGrid.”
Appistry’s products support the Microsoft .NET technology stack, said Charrington. Indeed, he said, “some enterprises are starting to look to us as a private cloud version of Azure.”
We circled back to how cloud computing, whether in the private or public form, can benefit software development and testing teams. The real case for the cloud, said Charrington, is availability of resources. Software developers and tester need access to highly dynamic environments in order to be most effective. Yet, getting those resources is usually difficult.
“Anyone who has ever needed to wait days, weeks or even months before new hardware or environments were provisioned knows this problem painfully well,” said Charrington.
Making the creation and dissolution of these application environments fast and painless is a key focus area for our cloud platform.”
Here’s a quick description of Appistry’s project with Clearent LLC.
June 2, 2009 8:06 PM
Posted by: Jan Stafford
Sun CEO Jonathan Schwartz was the first onstage, and Sun co-founder Scott McNealy got a standing ovation; but Oracle CEO was the the true star of this morning’s opening keynote at JavaOne.
Ellison reassured attendees that he and Oracle are behind Java 100%, stating that all of Oracle’s product — except its SQL database — are based on Java. “We are going to continue to invest and accelerate our investment” in Java, Ellison declared.
For on-the-spot commentary, I turned to TheServerSide.com’s top editor, Peter Varhol. In this video, he discusses the keynote’s highlights, including announcements of new products like JavaFX 1.2, Java SE 1.6_14, and Ellison’s big pitch for JavaFX.
May 26, 2009 7:38 PM
Posted by: Rick Vanover
, Rick Vanover
There is no doubt that test environments are the lifeblood of high-quality technology solutions. In a recent discussion with another IT professional, the issue of test environment licensing came up and clearly became a grey area that is applied differently between organizations. In the case of Microsoft licensing, larger enterprises have a distinct advantage to licensing test environments when engaged in Microsoft Software Assurance (SA). While there may be slight differences of what differentiates a test and QA environment, generally a QA system has a longer lifespan. Further, QA systems usually are fully licensed in all regards like their production counterparts.
Fine print and vague or missing clauses are common in software licensing, and test environment licenses share those same ills. For organizations that do not maintain Microsoft SA, the base operating system licensing can be very expensive to maintain for Windows Server, SQL Server database and other systems. For the operating system, evaluation licenses can usually accommodate temporary use. For ongoing use, the practice and options become unclear. The Microsoft SQL Server product continues to offer a free edition, Microsoft SQL Server 2008 Express. The issue from a test/QA standpoint becomes if using the Express edition is representative of the end configuration or product being tested.
This is not an issue for the most part for organizations utilizing free products end-to-end, such as Linux for an operating system and open databases such as MySQL. There may be licensing considerations if any commercial tools or other licensed software titles are used or tested, however.
How are you approaching this topic? Ideally all systems are licensed the same way, but the informal tiers of testing may be omitted from an organization’s larger licensing initiative. Share your comments below on test environment licensing.
May 21, 2009 1:53 PM
Posted by: Jan Stafford
Agile software development
Jon Kern, co-author of the Agile Manifesto, told me recently that many companies won’t adopt the agile development methodology soon. Why? Some companies are doing just fine with waterfall, he said, because it has worked in the past and is still working. Also, they see little chance that their business analysts and leaders will agree to get involved in the development process.
Intrigued by Kern’s assessment, I asked some software development and testing veterans for their views. I asked about their work with and opinions on why companies stick with waterfall development.
It’s true that waterfall methodologies can work quite well, said Mike Kelly, a software testing and development consultant and a fan of the agile methodology.
“I know this will surprise some people, but I’ve worked on several successful waterfall projects,” Kelly said. “It’s crazy, I know. Seriously, I’ve been a member of teams that do roughly the same thing, with minor variation, again and again. The business context is well understood, the requirements are mostly right upfront, and the team kind knows what needs to be done to be successful. If it’s working, it might not make sense to change it.”
Bernard Golden — CEO of IT infrastructure consulting firm, HyperStratus – has worked with development teams that don’t think the agile methodology can be effective in large-scale, enterprise projects. They think that agile is a good micro practice that should live within a good macro project management/planning process. To an extent, he agrees, and thinks agile is “best suited for scoped projects that have small user populations — built on top of robust system infrastructures built as traditional projects.”
Golden is also doubtful that having a “business person be part of the development process ensures that systems will achieve user satisfaction.” Thinking that “one guy can subsume all end user viewpoints and prevent end user political unhappiness strikes me as quite naive about the way organizations works.”
In this short video clip, Golden explains more about why agile may not stack up.
Kelly has also worked on projects where business managers just didn’t want to do more than turn in a list of requirements. “The business [people] didn’t get into business to talk about development methodologies, and to them, it’s often a distraction,” he said.
Requirements analysis expert Robin Goldsmith believes business managers don’t believe that doing systems work is their job.
“Agile is very much driven from a programmer’s perspective, and business folks don’t identify, understand, or agree with it,” said Goldsmith, president of the consultancy, Go Pro Management Inc. “ As an analogy, I have many years of experience working in the most technical of programming roles within IT; but these days I have no interest in fooling around with software internals—I just want stuff to work, and that’s not unreasonable.”
Goldsmith sees the agile-versus-waterfall debate as the subtext behind a larger business-versus-IT cultural issue that causes continual problems for software projects.
Do you agree? I’ll be continuing this discussion with software testing and development experts, and your input would be very valuable. You can share your experiences and views by commenting below or writing to me at email@example.com.
May 15, 2009 2:18 PM
Posted by: Jan Stafford
Moving software development and testing to cloud environments wasn’t a hot topic at Microsoft TechEd 2009 in Los Angeles. Sure, there were some TechEd sessions on cloud computing, and
Microsoft cloud computing evangelist Steve Martin talked up Azure; but a good number of attendees, particularly in the software development field, said cloud isn’t on their agenda now.
“People are waiting to see if cloud computing has staying power and what its true importance will be,” said Wayne Ariola, strategy vice president for Parasoft Corp. told me.
Then again, some attendees and vendors at the show are gung-ho about the cloud. For example, Greg Allen — First Financial Bank SCCM 2007 administrator — told me he’s keen on Microsoft’s virtualization and cloud technologies.
Let’s take a look at what people on both sides of the cloud had to say at TechEd.
Some attendees said that development teams with a wait-and-see cloud adoption strategy could be eating early adopters’ dust. They noted the advantages of using cloud environments for software testing; particularly the ability to test applications in a full production environment.
While the pro-cloud people I met at TechEd don’t advocate dropping development into cloud computing without due diligence, they do think that companies should prepare for and do pilots in cloud environments today.
“It’s not a future technology. It’s a now technology,” said Margaret Lewis, AMD director of commercial ISV marketing. Indeed, she thinks cloud computing is a disruptive technology with the potential to help the economy recover. She foresees the emergence of a bevy of boutique cloud providers for various vertical and horizontal markets. In this video, she explains why cloud preparation and usage should be on software companies’ agenda.
While Lewis sees cloud computing as a recession beater, others at TechEd said that the economy will hold up cloud adoption.
The recession has forced many companies to stall, scrap or not start development projects, moving what’s left to the cloud isn’t a compelling objective now. “They’re also waiting they don’t see cloud as operationally necessary or strategic competitively,” said Ariola. Also, he’s talked to quite a few companies that recently adopted virtualization to consolidate servers, particularly in their test/dev labs, and are happy with the results. They don’t feel an immediate need to do another move right now.
In my TechEd conversations, about a dozen people opined that cloud services aren’t mature or production-ready. Their views reminded me of my recent interview with Eugene Ciurana, director of systems infrastructure at LeapFrog Enterprises, a large U.S. educational toy company, in which he warned that cloud service-level agreements aren’t up to par.
Cloud providers have to work out some thorny issues before scores of development teams get on board, Ariola said. In his work in the field, Ariola has heard many ISVs express concerns about cloud security. Those fears may be well-founded, according to this week’s Forrester Research report citing problems early cloud adopters have had with customer privacy protection.
Ariola thinks dev/test could be a killer app for cloud computing at some point, but right now “it’s not on most application developers radar.” He likened the cloud’s clout today to that of service-oriented architectures (SOA) in its early days. “This is a major change, and it won’t take place overnight.”
Yes, the cloud adoption pros and cons debate will continue for a while. Watch this blog, as well as SearchSoftwareQuality.com and SearchCloudComputing.com, for more information. Meanwhile, check out the news and views in these recent articles and videos:
May 12, 2009 8:43 PM
Posted by: Jan Stafford
, panel discussion
Developers should get their noses off the coding grindstone and spend time developing expertise in a future technology, consultant Ted Neward advised during the Microsoft TechEd panel discussion on “Surviving the downturn.” Too often, he said, developers are so focused on current projects that they don’t think about advancing their careers.
So, if developers should be studying future technologies, what should they choose? “Choose something that will make you rich and something that will make you happy,” said panelist and consultant Aaron Erickson.
In this post, I’ll share some of the career advice from the panel discussion, held at the TechEd conference in Los Angeles. Panelists included Microsoft MVP Rachel Appel; consultant Aaron Erickson; Headspring CTO Jeffrey Palermo and principal consultant Eric Hexter; and moderator Bryan Von Axelson, a Microsoft partner solutions advisor.
When choosing which technologies to study, do some homework so you’ll know which technologies are not going to be winners in the long term, Palermo said. For example, he ignored the first version of Windows Workflow. Other panelists laughingly agreed he’d made a good choice.
“Work on something that raises the bar,” said Hexter. Choose technologies that can help your company leap ahead of competitors.
Neward advised developers to learn a new language every year, even though it may be an exhausting process. Frankly, he said, developers must accept that they’ll always be in school. “If you’re not getting better, you’re getting worse,” he said. “If you’re not excited by a constant pace of learning, you’re not in the right field. The IT space has a higher pace of change than other industries.”
A good practice for ongoing learning is to first learn concepts more than details, Neward said. Once your interest in piqued, other panelists added, then drill down and become an expert on the how-to details.
Don’t just focus on development to do your job better, panelists advised. Beyond studying technologies, expose yourself to different segments of development and IT.
Just being an expert in one job, like programming, is short-sighted, Palermo said. Pay attention to what the other IT guys are doing.
“Go for something beyond your comfort zone,” Appel said. Learning about database management, for instance, could help a developer approach problems in a different manner. Others suggested shadowing data center, network and other managers.
Too many IT people focus on technologies and not business processes, Palermo said. Those who understand the fundamentals of solving business problems will develop better products that meet business requirements.
After the panel discussion, I interviewed Neward about issues relating to software testers. He said that being able to pitch the value – in dollars and cents – of your team’s role in development is critically important during an economic downturn. Here he answers questions about the impact of the recession on software testing, ways software testers can show the value of testing in dollars and cents and career strategies.
May 12, 2009 8:36 PM
Posted by: Jan Stafford
, Chris Aker
, Microsoft Windows
, Zennith Borrego
The keynotes at Microsoft TechEd in Los Angeles today brought mixed reactions from attendees today, according to the 23 IT pros I quickly interviewed as they exited. Most were enthused about promised new enhancements to Windows 7 and Windows Server 2008 R2’s virtualization features. Others wanted Microsoft to give them new technology that they can use today.
The happiest news, most attendees said, is that a new Windows 7 and Windows Server 2008 R2 RC may be released this year. The release date was sort of promised by Bill Veghte – senior vice president of the Widows Business at Microsoft – during his keynote. He said that testing and partner feedback indicates that “Windows 7 is tracking well for holiday availability.”
Microsoft’s planned enhancements to existing virtualization products are good news for Greg Allen, SCCM 2007 administrator for a large financial institution. He sees virtualization bringing great opportunities for savings on server costs and more configuration flexibilitly.
On the flip side, attendees wanted more birds in the hand than in the future, future releases. “I didn’t see or hear anything new or exciting,” Chris Aker of Reed Elsevier Inc. told me. “Mostly, they talked about products I’ve heard about before.”
Zennith Borrego of Ysleta School District’s Technology also came away from the keynote with a positive take on Windows 7. Here’s a video clip from my interview with her.
For in-depth news and updates, watch this space and TechTarget’s Microsoft TechEd news roundup.