A Day In The Life

A Day In The Life Of A Developer: A Day In The Life Of A Developer Grady Booch Chief Scientist
In The Early Days Of Rational: In The Early Days Of Rational
In The Early Days Of Rational: In The Early Days Of Rational We sought to build a software development environment that supported modern software engineering practices We built our own products We built our own tools We built our own hardware
In The Early Days Of Rational: In The Early Days Of Rational The state of the practice of software engineering was subtly yet materially different Domain Before the Web Before most contemporary programming languages Best practices Before object-orientation Tools Before most team-oriented tools Culture Before open source and agile programming
The World Of The Developer Has Changed: The World Of The Developer Has Changed
The World of the Developer Has Changed: The World of the Developer Has Changed
The World Of The Developer Has Changed: The World Of The Developer Has Changed
The World Of The Developer Has Changed : The World Of The Developer Has Changed
The World Of The Developer Has Changed: The World Of The Developer Has Changed
Forces In Software: Forces In Software
The Development Team: The Development Team
The Development Team: The Development Team Team Size 1 2 4 8 16 32 64 128 256
The Development Continuum: The Development Continuum Development is a team sport Teams typically deliver systems, not just applications Such systems are rarely self-contained Services, infrastructures, and platforms serve as the dark matter of the development continuum Systems represent critical masses in the fabric of the development continuum
The Development Continuum: The Development Continuum
In The Current Days Of Rational: In The Current Days Of Rational Domain The presence of the Web impacts virtually all development Programming languages, services, infrastructures, and platforms continue to evolve Best practices We better understand what works and what doesn’t Tools We better understand how to automate those practices Culture Peopleware issues are growing
Culture: Culture All meaningful development is formed by the resonance of activities that beat at different rhythms The activities of the individual developer Social dynamics among small sets of developers Dynamics among teams of teams
What Do Developers Really Do?: What Do Developers Really Do? There exist some soft studies The Psychology of Computer Programming Gerry Weinberg Peopleware: Productive Projects and Teams Tom DeMarco and Tim Lister The Peopleware Papers Larry Constantine
What Do Developers Really Do?: What Do Developers Really Do? There exist a few empirical studies By The Way, Has Anyone Studied Real Programmers Yet? Larry Votta Empirical Studies of Software Engineering: a Roadmap in The Future of Software Engineering (forthcoming) Dewayne Perry, Adam Porter and Lawrence Votta Designing the Working Process: What Programmers Do Besides Programming Jorg Strubing A Day In The Life Grady Booch
What Do Developers Really Do?: What Do Developers Really Do? There are secondary sources that infer what developers do Communication and Design with the Internet: A Guide for Architects, Planners, and Building Professionals Jonathan Cohen Collaborative Development Environments (CDEs)
Has Anyone Studied Real Programmers Yet?: Has Anyone Studied Real Programmers Yet? Larry Votta in the Proceedings of the Ninth International Software Process Workshop (ISPW9) 'We should study what [developers] do, and then build productive theories … to explain why they are doing what we observe. Finally, we should refine these theories by demonstrating and confirming our hypotheses through sequences of experiments.'
Designing The Working Process: Designing The Working Process Jorg Strubing in the NATO Advanced Research Workshop for User-Centered Requirements For Software Engineering Environments, 1991 'Being a sociologist, I have found that designing software is a highly cooperative social process.' 5 year investigation First series of experiments with 10 open-ended interviews and one group discussion Second series of experiments with 25 interviews with programmers and a couple of expert interviews
What Programmers Do: What Programmers Do Organizing the working steps Representation of design decisions and ideas Communication and negotiation Programming is a task requiring Very heterogeneous activities and requirements Management of ambiguity Significant 'negotiativeness'
A Day In The Life: A Day In The Life Grady Booch, experiment conducted on Tuesday, March 27, 2001 involving 50 developers from around the world Artifacts generated include Photo Pre-day survey Desktop snapshot Timesheets
Photos: Photos
Timesheet: Timesheet
Timesheet: Timesheet
Desktop Snapshots: Desktop Snapshots
Analysis: Analysis Gender 81% male, 19% female Location Austria, Germany, Canada, United States, India, Australia, New Zealand, Venezuela, Russian Federation Job title Software engineer, chief architect, tool smith, analyst, programmer, chief technologist Experience 9 years average 1 year minimum, 43 years maximum Coworkers 1,325 average 1 minimum, 17,000 maximum
Analysis: Analysis Domain GUI for technical users Posting system for TV advertising Telecommunication networks Banking and financial applications Order processing Managing fishing quotas Embedded military Web portals 'Anything our customer desires'
Analysis: Analysis Platform 46% Unix 41% Windows 7% Linux 5% pure Web Language 37% Java 35% C/C++ 28% other (Perl, Visual Basic, Ada, assembler) Tools Most use Visual Studio, Visual Age, or JBuilder (some use several) 10% use open source development tools Most use Microsoft Office
Analysis: Analysis Analysis 16% average 5% minimum, 40% maximum Design 14% average 1% minimum, 40% maximum Coding 16% average 0% minimum, 60% maximum Testing 10% average 0% minimum, 50% maximum
Analysis: Analysis On the phone 3% average 0% minimum, 20% maximum Reading 7% average 0% minimum, 31% maximum Productive meetings 10% average 0% minimum, 30% maximum Useless meetings 7% average 0% minimum, 15% maximum
A Forthcoming State Change: A Forthcoming State Change The importance of team productivity will supercede the importance of individual programmer productivity Tools such as Visual Café, JBuilder, and Visual Studio are important in making the individual programmer more productive Success is defined by the ability to manage the creative, engineering, and production teams Development as a team sport
Collaborative Development Environments: Collaborative Development Environments Using the Web to change the nature of software development Web-based Artifact-centric Individual tools are invisible Provides different views to different stakeholders
By The Web: Practice: By The Web: Practice DoD systems Construction and manufacturing Open source
By The Web: Foundations: By The Web: Foundations ICSE 98 Workshop on Software Engineering Over the Internet Frank Maurer Agile Software Engineering Environment Over The Internet Aoyama The Spearmint Approach To Process Definition And Process Guidance Becker-Kornstaedt, et al A Proposal Of An Internet-based Software Development Process Model For COTS-Based Systems Development Hirai, et al An Internet Based Software Process Management Environment Maurer, et al Using The Internet To Combine And Analyze Distributed Software Engineering Data Tesoriero, et al A Web-based Synchronous Cooperative Editor For Software Development Yang, et al A Web-based Document Review System Konno, et al Providing An Experience Base In A Research Context Via The Internet Feldmann, et al
By The Web: Foundations: By The Web: Foundations ICSE 99 Workshop on Software Engineering Over the Internet Frank Maurer A Web-based Virtual Room For Small Team Collaboration Penedo Distributed Software Development With CHIME Dossick MILOS: A Model Of Interleaved Planning, Scheduling, And Enactment Holz Approaching Process Support For Virtual Software Corporations Maurer Implementing An Internet-Enabled Software Experience Factory: Work In Progress Seaman A Process Web Center Purper Exploiting The web To Manage Software Development Artifacts: The Labyrinth Project Cattaneo DISC: A Distributed Web Based Software Configuration Management System Hoang Integrity, Authentication, Privacy, And Delegation: Security Goals In Automated Software Configuration Management Over The Internet Devanu Enterprise Software Deployment: It's The Control, Stupid Hall An Architecture For Supporting 'Pay-per-use' Downloadable Systems Based On Java 2 And JavaSpaces Wong Web-site Quality Evaluation Method: A Case Study On Museums Olsina Open-Source Software Development Cubranic
By The Web: Foundations: By The Web: Foundations ICSE 00 Workshop on Software Engineering Over the Internet Frank Maurer Sophisticated Hypertext Functionalities For Software Engineering Bompani, et al Internet-based Software Engineering Enables And Requires Event-Based Management Tools Cook Global Problem Management System - Development Experience And Lessons Gao, et al Distributed Component Engineering Using A Decentralized, Internet-based Environment Grundy Virtual Software Inspections Over The Internet Harjumaa, et al Configuration Management And Open Source Projects van der Hoek Synchronized Multimedia For Internet-Wide Process-Centered Software Engineering Environments Kaiser, et al Building A Virtual Marketplace For Software Development Tasks Kotting, et al A Strategy For The Integration Of Software Process Support Technology Into Organizations Becker-Konrstaedt Establishment Of A Distributed Software Center Of Excellence Through Intel Ireland Melody Ontology-based Retrieval Of Software Process Experiences Nour, et al A Review-Report-Oriented Knowledge-Management System Kudo, et al
By The Web: Foundations: By The Web: Foundations ICSE 01 Workshop on Software Engineering Over the Internet Frank Maurer
Points Of Friction: Points Of Friction Start up Work product collaboration Communication Knowledge and experience Status Project memory Time starvation Stakeholder cooperation Stuff that doesn’t work
Creating A Frictionless Surface: Creating A Frictionless Surface Start up Making the virtual project environment just an URL away Work product collaboration Artifact storage with change management, meta-knowledge, and semantically rich tools Communication Discussions, virtual meetings, and project dashboard Time starvation Virtual agents Stakeholder cooperation Process automation Stuff that doesn’t work
Return On Investment: Return On Investment Economic Cost of startup Cost of using/administering Business Support for nomadic developers Support dynamically created teams Technology Gives in house and dispersed employees a single point of access that includes all the development tools, techniques, and collaborative functions they need
A Survey Of CDE Sites: A Survey Of CDE Sites Other domains Asset management www.componentsource.com Information services www.rational.net Infrastructure www.webex.com Netmeeting, Webex Community www.groove.com Software www.sourcecast.com
Other Domains: Manufacturing: Other Domains: Manufacturing Design Engineering, February 2000 ConceptWorks Pivotal Envision-i OnsSpace E-Vis
Other Domains: Construction: Other Domains: Construction
Asset Management: Asset Management
Information Services: Information Services
Information Services: Information Services
Information Services: Information Services
Information Services: Information Services
Information Services: Information Services
Community: Community Lotus Notes Created by Ray Ozzie, bought by IBM Basically an electronic bulletin board Newsgroups Adobe groupware
Community: Community
Community: Community
Community: Community
Community: Community
Community: Community Groove features Visual indicators Awareness (of users and content) Text/voice chat within/outside spaces Message history File viewers Microsoft Office integration File management Role-based access control Sketchpad and calendar tools User reporting
Community: Community Sharepoint Search engine Data access and indexing Subscription Microsoft Office integration Version control Workflow Document profiling Dashboard Microsoft VisualStudio integration
Software: Software
Software: Software
The Focus of a CDE: The Focus of a CDE
Artifact Management: SCM Continuum: File Management Heavy CM Simple Versioning Moderate CM Artifact Management: SCM Continuum No shared components Hierarchies of shared Components Not Parallel Highly Parallel Shared Storage
Software: Software Methodologies and Developer Resources Internet A Preview of Rational Hosted Tools and Services Daniel Wedge and Rich Hillebrecht Session#RTL08
Collaborative Development Environment: Collaborative Development Environment Project Workspace 4Project Assignment 4Access Rights 4Team Management 4Collaboration
Collaborative Development Environment: 4Change Management 4Document Management 4Requirements Management Collaborative Development Environment Team Tools Project Workspace
Collaborative Development Environment: Collaborative Development Environment Methodologies and Developer Resources Team Tools Project Workspace Development Resources 4Reusable Assets 4Web-based Training 4Best Practices
Forms Of Collaboration: Forms Of Collaboration Mailing lists are great for Small groups with a common purpose; conversations that wax and wane over time; communities that are just getting started; newsletters and announcements Message boards are great for Asking and answering questions; encouraging in-depth conversations; managing high-volume conversations; providing context, history, and a sense of place Chat rooms are great for Holding scheduled events; preparing for – and debriefing after – live events; discussing offline events as they’re happening; hanging out– relaxing, flirting, gossiping, visiting Whiteboards are great for Brainstorming, communicating, and discussing Netmeetings are great for One on one discussions Webex meetings are great for Group presentations and distributed discussions
Virtual Team Management: Virtual Team Management Instant messaging Virtual meeting room Application sharing Centralized document storage management Searching and indexing Document check in/out Co-browsing Electronic document workflow Calendaring and scheduling Online event notification Project resource profiling Whiteboards Online voting and polling Roger Fournier, Infoworld, March 5, 2001
Virtual Team Management: Virtual Team Management Tools, for both connected and disconnected use Discussion groups Project dashboards/metrics Self-publication of content Collaboration must be in context Security Backup Personalization Virtual agents for daily hygiene Meeting automation
One Hundred Small Things: One Hundred Small Things Basic hygiene Integration with Outlook, Project, Palm Webification of all artifacts Rethink the concept of a project and a subproject Creature comforts Publish and subscribe mechanism Picking up crumbs Workflow assistance Status assistance
Stages Of Maturity: Stages Of Maturity Stage 0 Simple artifact storage and navigation Stage 1 Basic mechanisms for collaboration Stage 2 Advanced mechanisms; basic tools for manipulating artifacts Stage 3 Advanced tools; creation of virtual presences
Engineering Software: Engineering Software There is a time and a place for coding in the zone Yet, development is indeed a team sport Individuals and teams must cope with high degrees of uncertainty, ambiguity, and chaos While at the same time, demanding creativity, predictability, and repeatability We can only hope to engineer the illusion of simplicity Reducing the friction of development frees developers to build great software

Add a comment

User name:

Comment:

Related presentations

Related pages

A Day in the Life – Wikipedia

A Day in the Life; The Beatles; Veröffentlichung: 30. Mai 1967: Länge: 5:39: Genre(s) Psychedelic Rock, Artrock: Autor(en) Lennon/McCartney: Text: John ...Read more

Life Day - Wookieepedia - Wikia

Life Day was a Wookiee holiday celebrated by the inhabitants of Kashyyyk every three years. It...Read more

Life in a Day - YouTube

Life In A Day is a historic film capturing for future generations what it was like to be alive on the 24th of July, 2010. Executive produced by Ridley ...Read more

Bewegen mit Herz e.V. - A happy Day of Life | Facebook

A Day In A Life | Home

Be the first to know about our exclusive offers, new arrivals and the latest 'a day in a life' reportage.Read more

SlideSearchEngine.com is a specialised online agregator and search engine! We collect presentations from publicly available sources.
These presentations are classified and categorized, so you will always find everything clearly laid out and in context.
We are staying up to date! We are looking for more relevant data on social networks.