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. Why Regular Industrial Cleaning Machine Maintenance Is ImportantAuthor: Steve Smith
2. Luxury Sliding Glass Doors: Modern Elegance And Functionality
Author: Mike Parkar
3. Luxury Sliding Doors: A Perfect Blend Of Style And Space Efficiency
Author: Mike Parkar
4. Regulatory Staffing Services : A Complete Guide To Compliance And Regulatory Consulting Services
Author: Futurz
5. Corporate Event Company In Gujarat: Planning Experiences That Speak For Your Brand
Author: salmonpink
6. Why Singapore Businesses Choose Maxicabs For Convenient Group Travel
Author: Sukhwant Gill
7. Choosing The Right Event Planner In Ahmedabad For Your Special Occasion
Author: salmonpink
8. Smart Investment Planning For Short-term And Long-term Goals
Author: Amass Capital
9. Garage Door Track Adjustment: A Practical Guide For Brooklyn Residents
Author: Gadi Baladev
10. Why Businesses Need Reliable Industrial Cleaning Machine Services
Author: Steve Smith
11. Improving Hotel Wayfinding Through Clear And Consistent Signage
Author: saasAro
12. Podcast Clipping Agency Plan: Step-by-step Blueprint
Author: Jennifer White
13. Smart Ways To Prepare For Unexpected Weather While Travelling
Author: saasAro
14. Staying Comfortable In The Strong Sunlight Of High-altitude Ladakh
Author: saasAro
15. Buy Verified Veve Account: Build A Reliable Checklist For Account-related Decisions
Author: Anykyc Solution






