ALL >> Business >> View Article
Improve Your Distributed Development Team's Results With Working Software
Requirements and software programming have a strange and sometimes strained relationship. Good requirements are a prerequisite to ensuring you get what you need. But written in a prose style, they rarely offer a full picture for the developer. Thus, over the years, developers have made many attempts at improving this situation. One consistent mechanism they have used is actually showing you what you will get—-first by building and sharing prototypes and eventually evolving to developing and demonstrating working software.
This evolution has been an important enabler to the world of distributed development. As teams are dispersed, they need better means of communicating, and nothing speaks louder than demonstrating the actual product in action. You now have a much earlier opportunity to shape the software as it is developed. This, in turn, enables global development teams to better deliver what you want.
It began with prototyping
The idea of demonstrating a prototype is nothing new—it has been common for a long time in software programming. Fred Brooks wrote about it in ...
... his book, The Mythical Man Month (Brooks, 1975). His description of rapid prototyping included simulations of the product that were not bound by hardware constraints and demonstrated mostly happy path scenarios. Another main point Brooks made: Be prepared to throw away one of the versions of the software that you build.
By the 1980s, 60% of companies were making use of prototyping—twice as many as in the 1970s (Bardgrave & Wilson, 1994). Much of the focus was on user interfaces. However, the tools available to develop prototypes did not make it easy to integrate these user interfaces into the final product. The software development industry then invested a lot of work toward improving integrated development environments (IDEs) to allow faster and easier user interface development. Thanks to those advancements, today we can build the user interface and then develop the supporting business code without discarding the original work.
Then came Agile Development
Enter the Agile Development movement. Its proliferation was partially made possible by a new breed of tools and frameworks that empowered developers to plan for short development cycles and show not only the user interface, but even a working version of the code. The Scrum software process incorporates this standard by requiring teams to show working software to their clients at the end of every month of development (Shwaber & Beedle, 2001).
While these tools and frameworks don't fully remove the necessity for up-front analysis and design, they form a common platform to address infrastructure work, such as logging, error handling and objectification of database access. This allows developers to focus on the business features of the software they are devloping. So it's not necessary to throw one away. Instead, as long as the code base resides on a stable architectural platform, designs are refactored and new requirements are iteratively and incrementally added to a growing code base.
Enhancing communication with working software
These techniques have become the industry standard to utilize whenever possible, regardless of the formal process in place. In fact, several of our clients have used them successfully. By using desktop-sharing technology, globally distributed software development teams can now offer their internal customers a chance to review the software early, while it is being built. The customers may then guide the software in the right direction—significantly increasing the chance that the correct application will be delivered several months in the future. Thus, working software can actually keep a global development team coordinated and enable effective communication—a crucial element for success.
As the current global economic environment pushes organizations to further reduce costs, more and more global development teams are likely to take advantage of working software to improve communication and ensure successful software delivery.
References
Bardgrave, B. C., & Wilson, R. L. (1994). An investigation of guidlines for selecting a prototyping strategy. Journal of Systems Management , 45 (4), 28-35.
Brooks, F. (1975). The Mythical Man Month. Addison-Wesly.
Shwaber, K., & Beedle, M. (2001). Agile Software Development with SCRUM. Prentice Hall.
Rob is the Vice President of Service Delivery at Coherent Solutions. Coherent Solutions provides software development outsourcing for organziations that deliver commercial grade software. Since 1995, the company has helped over 100 software companies take advantage of the benefits of global development teams.
Add Comment
Business Articles
1. Signature Global Lamborghini Residences Sector 71 GurgaonAuthor: santwhitelisted
2. Bathroom Remodeling In Cleveland: Best Contractors, Costs & Ideas
Author: Spot-On Home
3. Understanding The Role Of A Digital Business Card - An Overview
Author: Angus Carruthers
4. Discussion On Building Regulations Worth Knowing
Author: Garry Stacks
5. How Uk Wedding Photographers Can Use Seo And Social Media To Get Fully Booked
Author: Vikram Kumar
6. Ultimate Digital Marketing Guide For Family Clothing E-commerce
Author: Vikram Kumar
7. Boost Your Uk Home Improvement Business With Local Web Design, Seo, And Digital Marketing
Author: Vikram Kumar
8. Boosting Uk Dentists Business Online Presence: Wordpress Web Design And Seo Digital Marketing Across Cities
Author: Vikram Kumar
9. An Ultimate Guide To Mbbs In Belarus!
Author: Rajesh Jain
10. Retail Store Audits: 3 Most Important Ones That Every Brand Should Know About!
Author: D'Art Design
11. Simple Guide For West Facing House Vastu And Graha Shanti Pooja
Author: Pandit Ramakant Guruji
12. Is Ceramic Coating Worth It? Ahmedabad Car Care Guide
Author: autoglowind
13. Marble Blue Stone: A Premium Choice For Elegant And Modern Spaces
Author: mike
14. Luxury Stone Furniture: A Timeless Expression Of Elegance And Strength
Author: mike
15. Importance Of Iso Certification For Ai
Author: Sqccertification






