SQE Better Software Development Expo Findings
Posted by Brad EgelandI had the pleasure of attending the Expo portion of SQE’s Better Software Development Conference & Expo last week. The slant was definitely toward Agile Software Development which, in part, prompted my post last week about Agile vs. Waterfall software development and the costs associated with each process.
During the Expo, I had the opportunity to speak with representatives from each of the following organizations:
- Rally Software
- QSM
- SQE
- InnerWorkings
- TechExcel
- Net Objectives
- VersionOne
- VMC
I’d like to take some space here to give you some brief info about each of these great vendors and their offerings.
Rally Software
Rally is the leader in Agile application lifecycle management (ALM) dedicated to making distributed development organizations faster and leaner by dramatically cutting the time, cost and effort needed to deliver high quality applications. According to a study by QSM Associates, software-driven companies that rely on Rally’s Agile ALM products and services are 50% faster to market and 25% more productive than industry averages.
It was a Rally Software rep that I first presented my question concerning Agile vs. Waterfall development costs and two of their individuals have commented on the article so far. For more information on Rally Software, visit www.rallydev.com.
QSM (Quantitative Software Management)
Quantitative Software Management was established in 1978. Their principle business centers around helping organizations reduce the overall expense of software and systems development projects. QSM’s SLIM software tools and consultative approach enable organizations to effectively estimate, track, and benchmark their software projects. For more information on QSM, visit www.qsm.com.
SQE (Software Quality Engineering)
SQE assists software professionals and organizations interested in improving customer service, boosting productivity, and improving the return on IT investments through better software quality practices. Beginning in 1986 with professional consulting services, Software Quality Engineering has acquired the largest portfolio of software quality information in the industry. For more information on SQE, visit www.sqe.com.
InnerWorkings
InnerWorkings offers Enterprise software development organizations a complete solution for integrating Microsoft .NET skills learning and software process training. Using InnerWorkings, individual developers and .NET teams build skills through practice writing actual code, including preparation for Microsoft Certification examinations. For more information on Innerworkings, visit www.innerworkings.com.
TechExcel
TechExcel unifies the enterprise by bridging the gap between product development and service/support. This end-to-end environment empowers companies to optimize the relationship between these important organizations without sacrificing autonomy or business processes and provides a collaborative environment that significantly saves time and resources. For more information on TechExcel, visit www.techexcel.com.
Net Objectives
Net Objectives focuses on achieving scalable and effective software development – without the suffering. Net Objectives’ clients prove that this is an achievable goal for any development organization regardless of size. Utilizing the 3 P’s of Lean Principles, Agile Processes and Best Development Practices, development organizations ranging in size from single, small teams to large global enterprises can achieve their goals. Net Objectives can help individuals with their analysis, design and coding practices. They can help teams use agile processes, including Scrum, effectively. Finally, they can help organizations scale their agile team approach to be effective throughout the enterprise.
Net Objectives helps organizations be effective not only in how efficiently software is developed, but also how to be effective in choosing the proper work for each team at the proper time in order to maximize the business value being delivered. For more information on Net Objectives, visit www.netobjectives.com.
VersionOne
VersionOne is recognized by Agile practitioners as the leader in Agile project management tools. By simplifying the process of planning and tracking Agile software projects, they help development teams consistently delivery software faster. Since 2002, companies such as Adobe, BBC, Siemens, CNN, Disney, Dow Chemical, IBM, Lockheed Martin, Sony, 3M and Business Objects have turned to VersionOne to help provide greater value to their customers. Today more than 10,000 teams and 70,000 users in 50 countries use VersionOne’s Agile project management tools to streamline and standardize their agile development efforts. For more information on VersionOne, visit www.versionone.com.
VMC
VMC is a technology consulting company providing flexible and scalable development and integration, IT outsourcing, and customer care solutions for business. Using an integrated PMO methodology and world-class talent and resources, VMC delivers targeted solutions for the unique business needs of their customers, with focus on long-term relationships with their customers, delivering quality, trust and value. VMC’s focus on people is a key differentiator from other technology consulting companies. From customers to partners to employees, VMC understands that the relationships are critical to the company’s success. It’s these relationships that drive VMC to be the leading global partner in providing superior business solutions, enabled by technology, that accelerate our customer’s success. For more information on VMC, visit www.vmc.com.
Agile Software Development Project vs. Standard Software Development Project
Posted by Brad EgelandI traveled through the Expo portion of the SQE Better Software Development Conference & Expo today. The slant was definitely toward Agile Software Development. I had the pleasure of speaking with representatives from QSM, Rally Software, VersionOne, innerworkings, NetObjectives, Software Quality Engineering, and VMC among others.
I have not personally fully managed a project that utilized Agile or Iterative development processes. I was leading a project utilizing an iterative development process on an enterprise-wide software re-write, but unfortunately the project never finished as the company I was working for at the time closed down suddenly, thus sending the remainder of the project to a competitor.
The Standard Process
I’d like to analyze the difference between an Agile Software Development Project and what I’ll call a Standard Software Development Project. To me, the standard software project follows the process that we all grew up with…
- Requirements definition
- Development
- Unit/system testing
- User acceptance testing
- Deployment
- Post-deployment support (break/fix & tech support)
The Agile Process
Agile is much different, often utilizing 2-4 week ‘sprints’ ending in a usable (though not market-ready) product. As an experienced software developer, software manager, and project manager I can certainly embrace the concept that an iterative process that involves short bursts to turn out a usable product that the customer can interact with greatly reduces the chances of being way off the mark in terms of requirements vs. the end product. I can logically assume that the end result is lower costs, less re-work, and a final product that is often much closer to what the customer wanted than what is turned out by a decent percentage of ‘standard’ development projects.
My ‘What If’ Scenario
With what I call the ‘standard’ process there is always a strong likelihood that the end product will not be what the end user actually needs. The risk is great that either the requirements weren’t detailed enough, or development slowly strayed from requirements enough along the way to provide a basically unusable solution after a development cycle that could be a year in length. The possibility for wasted time and huge re-work is much greater. With the Agile process, you can never really be farther than 2-4 weeks off the mark.
The Big Question
So, I can understand the fact that over an entire project portfolio, the likelihood of realizing a significant cost savings could be very high…likely IS very high. Here’s my question:
If we were to take a large software project and run it both ways – standard and Agile – and then let’s assume that both work perfectly…no re-work, no missed requirements, etc. At the end of each version of the project, what shape would the budget be in?
My assumption is, that if everything else is equal…meaning it all goes smoothly with either process…then I would tend to believe that the ‘standard’ process would result in less expense and less effort. Prove me wrong…I want to hear from the readers – especially Agile promoters. Over the long haul – the entire project portfolio – I can see it being the better way to go in terms of cost due to less re-work. But in a perfect world – which is a fairy tale, I know – wouldn’t the cost be less with the standard process of running a software project? I’m not anti-Agile at all, so please don’t read it that way. I’m just trying to provoke some thought and discussion here. Now…respond!