This document discusses how Microsoft Visual Studio 2010 can help improve software development across the lifecycle. It highlights features that help developers understand existing systems through architectural visualization and layer diagrams, eliminate bugs using IntelliTrace for debugging, and streamline processes with improved agile support, reporting, and SharePoint dashboards for increased visibility and risk reduction. A Q&A section is included at the end.
This document discusses practices and obstacles in agile development based on a presentation. It begins with introductions of the presenter and definitions of key terms like agile development. It then discusses approaches for introducing agile development into a company, such as starting with a pilot project or going "stealth". Technical practices covered include test-driven development, collective code ownership, pair programming, refactoring, and continuous integration. The document concludes with resources for further reading.
The document discusses 10 common things that can go wrong in projects, especially those using Oracle Application Development Framework (ADF). Some key issues include: 1) not having direct access to end users can lead to misunderstandings of requirements, 2) starting a project with a full team without establishing architecture can result in inconsistent development, and 3) feature creep and changing requirements can be difficult to accommodate and lead to delays if not managed properly. The document provides warnings and recommendations around these and other common pitfalls to help projects avoid issues and deliver on time and on budget.
The document discusses code smells that indicate issues with software design, including rigidity, fragility, immobility, viscosity, needless complexity, and opacity. It provides examples and questions to help identify when code exhibits these smells and suggests approaches to address them, such as improving reusability, reducing duplication, and employing techniques like peer review and documentation.
What does it mean to be a test engineer?Andrii Dzynia
Test engineering is hard, even harder than software development. Being test engineer puts you in a wider context, with no clear boundaries. You have to find those by yourself. This requires courage. Courage to take action, courage to make mistakes. As a test engineer, you do mistakes every day. You do them so often that sometimes you feel you can predict the future. Scientific explanation to this phenomena is patterns recognition. It is an ability of our brain to match the information from a stimulus with information retrieved from memory. Defect prevention is hard. Together with technical skills one have to develop high social awareness. Working on safety nets never was so important, different types of checks on different levels to make sure software is reliable and serves its purpose to the variety of everyday use-cases. We know that life is so complex and sometimes complicated which makes it impossible to predict all possible outcomes and scenarios. But striving for excellence never was so important as nowadays in such an open, transparent and competitive environment.
Goal of my talk will be to show you my everyday job as a test engineer. Not only how to look for defects, but how to prevent them from happening. Not only how to automate tests(noun), but how to build safety nets to minimize end-user impact. Not only how to inform testing status but how to influence quality on company level.
This document provides an introduction to eXtreme Programming (XP) and agile software development methods. It discusses some common problems with traditional software development approaches such as taking too long, costing too much, and requiring too many people. XP and agile aim to address these problems through principles like rapid delivery of working software in short iterations, frequent feedback, simplicity, respect, and flexibility. The document outlines XP practices like user stories, pair programming, test-driven development, and daily standups that embody these principles. It concludes by noting that agile methods have evolved over decades to become more effective approaches to software development.
Agile Software Development for Non-Developershamvocke
A Crash Course Introduction into the world of Agile Software Development for people with a sparse or non-existent background in Software Development.
I held this presentation as a Brownbag session at ThoughtWorks Hamburg. The TDD part included a live coding session and the part about Continuous Integration and Continuous Delivery was backed with an example of a real Continuous Integration Server that worked on the results from the TDD live coding session.
Agile design focuses on responding quickly to change, prioritizing customer needs, and designing systems that can evolve over time through continuous feedback and incremental changes. Key practices include minimizing upfront design, designing for reversibility and feedback, vertically integrating work in short cycles, and distributing design decisions across self-organizing teams. The goal is to safely deliver value while learning through doing rather than extensive pre-planning.
This document discusses challenges with distributed teams, ways to improve collaboration and trust between distributed teams, and practices for continuous integration and continuous delivery. Some key challenges with distributed teams include communication and collaboration. The document recommends using tools like video conferencing and messengers, as well as innovative ways to conduct design meetings and retrospectives remotely. It also stresses the importance of including all teams early in discussions, having common processes and standards, and dividing responsibilities across phases rather than having different ways of working. The document outlines practices for continuous integration like writing automated tests, committing code frequently, and fixing broken builds immediately. It describes how continuous integration and continuous delivery can reduce risks, improve collaboration and feedback, and help develop software more rapidly.
This document discusses practices and obstacles in agile development based on a presentation. It begins with introductions of the presenter and definitions of key terms like agile development. It then discusses approaches for introducing agile development into a company, such as starting with a pilot project or going "stealth". Technical practices covered include test-driven development, collective code ownership, pair programming, refactoring, and continuous integration. The document concludes with resources for further reading.
The document discusses 10 common things that can go wrong in projects, especially those using Oracle Application Development Framework (ADF). Some key issues include: 1) not having direct access to end users can lead to misunderstandings of requirements, 2) starting a project with a full team without establishing architecture can result in inconsistent development, and 3) feature creep and changing requirements can be difficult to accommodate and lead to delays if not managed properly. The document provides warnings and recommendations around these and other common pitfalls to help projects avoid issues and deliver on time and on budget.
The document discusses code smells that indicate issues with software design, including rigidity, fragility, immobility, viscosity, needless complexity, and opacity. It provides examples and questions to help identify when code exhibits these smells and suggests approaches to address them, such as improving reusability, reducing duplication, and employing techniques like peer review and documentation.
What does it mean to be a test engineer?Andrii Dzynia
Test engineering is hard, even harder than software development. Being test engineer puts you in a wider context, with no clear boundaries. You have to find those by yourself. This requires courage. Courage to take action, courage to make mistakes. As a test engineer, you do mistakes every day. You do them so often that sometimes you feel you can predict the future. Scientific explanation to this phenomena is patterns recognition. It is an ability of our brain to match the information from a stimulus with information retrieved from memory. Defect prevention is hard. Together with technical skills one have to develop high social awareness. Working on safety nets never was so important, different types of checks on different levels to make sure software is reliable and serves its purpose to the variety of everyday use-cases. We know that life is so complex and sometimes complicated which makes it impossible to predict all possible outcomes and scenarios. But striving for excellence never was so important as nowadays in such an open, transparent and competitive environment.
Goal of my talk will be to show you my everyday job as a test engineer. Not only how to look for defects, but how to prevent them from happening. Not only how to automate tests(noun), but how to build safety nets to minimize end-user impact. Not only how to inform testing status but how to influence quality on company level.
This document provides an introduction to eXtreme Programming (XP) and agile software development methods. It discusses some common problems with traditional software development approaches such as taking too long, costing too much, and requiring too many people. XP and agile aim to address these problems through principles like rapid delivery of working software in short iterations, frequent feedback, simplicity, respect, and flexibility. The document outlines XP practices like user stories, pair programming, test-driven development, and daily standups that embody these principles. It concludes by noting that agile methods have evolved over decades to become more effective approaches to software development.
Agile Software Development for Non-Developershamvocke
A Crash Course Introduction into the world of Agile Software Development for people with a sparse or non-existent background in Software Development.
I held this presentation as a Brownbag session at ThoughtWorks Hamburg. The TDD part included a live coding session and the part about Continuous Integration and Continuous Delivery was backed with an example of a real Continuous Integration Server that worked on the results from the TDD live coding session.
Agile design focuses on responding quickly to change, prioritizing customer needs, and designing systems that can evolve over time through continuous feedback and incremental changes. Key practices include minimizing upfront design, designing for reversibility and feedback, vertically integrating work in short cycles, and distributing design decisions across self-organizing teams. The goal is to safely deliver value while learning through doing rather than extensive pre-planning.
This document discusses challenges with distributed teams, ways to improve collaboration and trust between distributed teams, and practices for continuous integration and continuous delivery. Some key challenges with distributed teams include communication and collaboration. The document recommends using tools like video conferencing and messengers, as well as innovative ways to conduct design meetings and retrospectives remotely. It also stresses the importance of including all teams early in discussions, having common processes and standards, and dividing responsibilities across phases rather than having different ways of working. The document outlines practices for continuous integration like writing automated tests, committing code frequently, and fixing broken builds immediately. It describes how continuous integration and continuous delivery can reduce risks, improve collaboration and feedback, and help develop software more rapidly.
Arch factory - Agile Design: Best PracticesIgor Moochnick
This document provides guidance on agile architecture and design principles. It emphasizes that agile design is about responding quickly to change for customers and teams through transparency, lightweight processes, and continuous learning. Key principles discussed include designing incrementally without large upfront design; getting early and continuous feedback; delaying commitment and complexity; and maximizing evolutionary design through reversibility and packaging. The document also covers topics like testing, distributed teams, and delivering frequently.
This document is a slide deck presentation introducing PowerShell. It was presented by Don Jones of Concentrated Technology LLC to explain what PowerShell is, why it is useful for system administration, and demonstrate some key PowerShell patterns and practices through examples. Contact information is provided for ordering Jones' book on PowerShell and scheduling private training sessions.
Get a firsthand look at our new product in a webinar on Tuesday, 17 September.
Many IT organizations tasked with securing infrastructure find that one of their biggest challenges is the vulnerability management process. This process is often manual and inefficient, leaving systems exposed to breaches and attacks.
Our new product, Puppet Remediate, addresses common pain points in the vulnerability management workflow to better protect your infrastructure and reduce manual work. With Remediate, you can:
Eliminate data handoffs between teams. Puppet Remediate integrates with the three major vulnerability scanners — Tenable, Qualys and Rapid7 — providing a single source of truth for IT Ops;
Easily assess the most critical threats. The dashboard shows all vulnerabilities prioritized by relative risk, so you know what to address first;
Agentless remediation. Run a task to remediate vulnerabilities directly from the dashboard. You can upload your own scripts, or make use of existing modules in the Puppet Forge.
Continuous Validation - Lean Startup Machine Sydney 2013Shihab Hamid
This document discusses continuous validation, which involves validating a product idea at each stage of development through techniques like customer interviews, surveys, prototypes and minimum viable products. It emphasizes validating the problem before building a solution by gathering customer feedback to ensure the solution solves a real problem. It also provides tips for quickly building low-fidelity prototypes using tools like Keynote to validate concepts before investing heavily in development and discusses how to gather useful feedback with low friction by keeping surveys and feedback simple.
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014Jwooldridge
Thanks to Liam and the crew from Magentys for arranging a fantastic evening of presentations on all things DevOps.
Attached is my presentation from the event on Enterprise Devops.
For those of you who missed it:
“Join the crowd of 100 industry leaders across the Retail, Finance and Digital sectors for an exciting evening of talks in London’s Tech City on DevOps. Enjoy networking with a chilled beer alongside the experts who are making DevOps work and those who want to make it work.
Whether you’re a corporate or start-up, DevOps should be a hot topic so listen to how the experts are achieving great things, hear their views on the trends and discuss the future of DevOps.”
Jonny
enterprisedevops.com
Make Continuous Delivery work for middle managementMatteo Emili
This document provides guidance on how to gain support for continuous delivery from middle management. It recommends starting small with minimal viable products to test ideas and gain buy-in. Using tools that provide transparency across roles can help align priorities by giving stakeholders shared visibility. Gathering metrics and customer feedback through application insights allows validating that changes are adding value and improving the product for users. An emphasis on communication, removing bottlenecks, and closing the feedback loop can help middle management understand and support the continuous delivery approach.
Presentation given at Heanet 2015 conference, giving a brief outline of what responsive design is and why libraries should take it into consideration when planning the delivery of web services.
The document discusses strategies for software product development that balance speed and quality, including:
1) Focusing on getting a minimum viable product to market quickly through short iterative development cycles rather than extensive planning.
2) Establishing processes like continuous integration, source control, and automated testing to catch defects early and allow fast iteration.
3) Hiring selectively and spreading ownership of the product across a small team to allow flexibility over bureaucracy.
1999: Myths and Realities of installing new software (ERP)Martin van Wunnik
Myth: A complete, detailed planning guarantees a fluid installation of new software.
Reality: The pre-defined planning will not be respected.
Myth: All aspects of the new software are documented.
Reality: The documentation is incomplete.
Myth: The new software works.
Reality: The new software does not work.
Abdulla ali it career software development managerDan Rieb
The document provides information about the role of a software development manager, including definitions, duties, degree requirements, advantages, disadvantages, and future career paths. As a software development manager, one applies programming abilities to complete complex tasks and helps companies improve processes quickly. A bachelor's degree in fields like computer science or information technology is typically required. Advantages include reduced requirements analysis and a software prototype repository, while disadvantages include limitations for large unique projects and a reliance on developer skills. Over time, one may provide advice, code reviews, and work on expert teams.
5 Traits of a Proactive Guard Tour System24/7 Software
You oversee the security department at your property. You very well know that it's impossible to keep an accurate account of areas that have been inspected because clipboards can easily be altered, and wands don't give you accountability of the inspection.
A software, undergoes countless brainstorm sessions, rigorous testing in IT environment management and then comes to the production. The task of adding more features to software is like a maze game. The end question that leaves everybody wondering is “How the hell did this functionality come here?”. Famous by various other terms like, “Scope creep”, “requirement creep”, refers to unforeseen requests for the addition of features that are not listed in the project scope.
Validation Missteps Making Us Full Time Firefighters DVClub
1) The document discusses common missteps that can turn product development teams into "firefighters", such as insufficient planning, not designing for testability, lacking feedback loops, and a lack of transparency.
2) It recommends planning testing in writing, designing products to be testable, creating adaptable feedback loops between teams, and fostering transparency to avoid surprises.
3) Following these practices can help teams avoid becoming "full time firefighters" scrambling to put out fires as deadlines approach by better anticipating and addressing issues earlier.
The document discusses a summer intern project at J.Crew to improve communication between teams using Microsoft Office 365 and shared documents. It describes current issues with miscommunication and multiple emails. The proposed solution is to use Office 365 features like shared documents, comments, and notifications to streamline processes for merchandising, design, production, and technical teams. The long term goal is to implement a product lifecycle management system to more easily track product information across the organization.
Effective feedback should provide precise observations of behavior, consequences of that behavior, and expectations for future behavior. Feedback aims to improve results by focusing on behavior and the future, not winning discussions about the past. When giving feedback, one should describe factual observations instead of assessments, anticipate defensive reactions, remain patient, and establish routines for consistent feedback. The timing of feedback is also important - it should be given as soon as possible after the relevant behavior.
Global collaboration has become the norm in software development today. The document discusses the importance of collaboration, different types of collaboration tools, behaviors for effective virtual teams, and examples of both successful and unsuccessful projects involving global teams. Key challenges with global teams include communication difficulties due to language barriers and cultural differences, but establishing trust through clear expectations and regular communication can help overcome these challenges.
This document describes a feedback method called Speedback, where team members give brief feedback to each other in a rotating partner format similar to speed dating. Each pairing lasts 10 minutes, with partners switching who gives and receives feedback after 5 minutes. The goals are to efficiently collect feedback from all teammates and boost self-awareness and performance. Preparation is encouraged by writing feedback notes ahead of time. Guidelines suggest feedback be actionable, specific, and kind using the ASK and SBI frameworks, focusing on situations, behaviors and impacts rather than personalities.
Remote Work Software for Teams Everywhere QuekelsBaro
Remote Collaboration Software for Teams Everywhere. Overseeing a remote team doesn’t have to be like herding cats. Organize, manage, and track your team’s progress with Process Street!
Sumedha Ganjoo presented on common mistakes made when adopting Scrum. She discussed how having one person act as both the product owner and Scrum master leads to conflicts of interest and less accountability. Other mistakes include not properly estimating work, allowing technical debt to accumulate, focusing on documentation over working software, and customizing Scrum practices without understanding the reasons behind them. The presentation emphasized separating roles, setting clear expectations, prioritizing working software over documentation, and making incremental improvements based on team feedback and retrospectives.
Talk for the Vancouver User Experience group on October 16, 2007 about the user experience of usability projects and how we've re-designed our process.
Don’t Let Process Hold You Back: Best Practices for Cross-Functional Collabor...Tasktop
Creating great software takes many skilled people. There’s business requirements to fulfill, technical requirements to consider, development, testing, packaging, and the release.
While having a single cohesive process is crucial to helping all these teams work together, they’re often working in disparate systems with their own processes and workflows. What’s more, these teams are often spread across different departments, buildings and even time zones.
How can you ensure your teams stay in sync and create better processes that allow individual teams to move fast and be agile, while maintaining effective cross-team collaboration? In this webinar with GitLab, we discuss how establishing a ‘single source of truth’ is critical to functional collaboration, and cover the best practices for:
- Building processes that yield better results
- Keeping cross-functional teams in sync
- Integrating tools for better workflows
- Tips for remote teams
Arch factory - Agile Design: Best PracticesIgor Moochnick
This document provides guidance on agile architecture and design principles. It emphasizes that agile design is about responding quickly to change for customers and teams through transparency, lightweight processes, and continuous learning. Key principles discussed include designing incrementally without large upfront design; getting early and continuous feedback; delaying commitment and complexity; and maximizing evolutionary design through reversibility and packaging. The document also covers topics like testing, distributed teams, and delivering frequently.
This document is a slide deck presentation introducing PowerShell. It was presented by Don Jones of Concentrated Technology LLC to explain what PowerShell is, why it is useful for system administration, and demonstrate some key PowerShell patterns and practices through examples. Contact information is provided for ordering Jones' book on PowerShell and scheduling private training sessions.
Get a firsthand look at our new product in a webinar on Tuesday, 17 September.
Many IT organizations tasked with securing infrastructure find that one of their biggest challenges is the vulnerability management process. This process is often manual and inefficient, leaving systems exposed to breaches and attacks.
Our new product, Puppet Remediate, addresses common pain points in the vulnerability management workflow to better protect your infrastructure and reduce manual work. With Remediate, you can:
Eliminate data handoffs between teams. Puppet Remediate integrates with the three major vulnerability scanners — Tenable, Qualys and Rapid7 — providing a single source of truth for IT Ops;
Easily assess the most critical threats. The dashboard shows all vulnerabilities prioritized by relative risk, so you know what to address first;
Agentless remediation. Run a task to remediate vulnerabilities directly from the dashboard. You can upload your own scripts, or make use of existing modules in the Puppet Forge.
Continuous Validation - Lean Startup Machine Sydney 2013Shihab Hamid
This document discusses continuous validation, which involves validating a product idea at each stage of development through techniques like customer interviews, surveys, prototypes and minimum viable products. It emphasizes validating the problem before building a solution by gathering customer feedback to ensure the solution solves a real problem. It also provides tips for quickly building low-fidelity prototypes using tools like Keynote to validate concepts before investing heavily in development and discusses how to gather useful feedback with low friction by keeping surveys and feedback simple.
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014Jwooldridge
Thanks to Liam and the crew from Magentys for arranging a fantastic evening of presentations on all things DevOps.
Attached is my presentation from the event on Enterprise Devops.
For those of you who missed it:
“Join the crowd of 100 industry leaders across the Retail, Finance and Digital sectors for an exciting evening of talks in London’s Tech City on DevOps. Enjoy networking with a chilled beer alongside the experts who are making DevOps work and those who want to make it work.
Whether you’re a corporate or start-up, DevOps should be a hot topic so listen to how the experts are achieving great things, hear their views on the trends and discuss the future of DevOps.”
Jonny
enterprisedevops.com
Make Continuous Delivery work for middle managementMatteo Emili
This document provides guidance on how to gain support for continuous delivery from middle management. It recommends starting small with minimal viable products to test ideas and gain buy-in. Using tools that provide transparency across roles can help align priorities by giving stakeholders shared visibility. Gathering metrics and customer feedback through application insights allows validating that changes are adding value and improving the product for users. An emphasis on communication, removing bottlenecks, and closing the feedback loop can help middle management understand and support the continuous delivery approach.
Presentation given at Heanet 2015 conference, giving a brief outline of what responsive design is and why libraries should take it into consideration when planning the delivery of web services.
The document discusses strategies for software product development that balance speed and quality, including:
1) Focusing on getting a minimum viable product to market quickly through short iterative development cycles rather than extensive planning.
2) Establishing processes like continuous integration, source control, and automated testing to catch defects early and allow fast iteration.
3) Hiring selectively and spreading ownership of the product across a small team to allow flexibility over bureaucracy.
1999: Myths and Realities of installing new software (ERP)Martin van Wunnik
Myth: A complete, detailed planning guarantees a fluid installation of new software.
Reality: The pre-defined planning will not be respected.
Myth: All aspects of the new software are documented.
Reality: The documentation is incomplete.
Myth: The new software works.
Reality: The new software does not work.
Abdulla ali it career software development managerDan Rieb
The document provides information about the role of a software development manager, including definitions, duties, degree requirements, advantages, disadvantages, and future career paths. As a software development manager, one applies programming abilities to complete complex tasks and helps companies improve processes quickly. A bachelor's degree in fields like computer science or information technology is typically required. Advantages include reduced requirements analysis and a software prototype repository, while disadvantages include limitations for large unique projects and a reliance on developer skills. Over time, one may provide advice, code reviews, and work on expert teams.
5 Traits of a Proactive Guard Tour System24/7 Software
You oversee the security department at your property. You very well know that it's impossible to keep an accurate account of areas that have been inspected because clipboards can easily be altered, and wands don't give you accountability of the inspection.
A software, undergoes countless brainstorm sessions, rigorous testing in IT environment management and then comes to the production. The task of adding more features to software is like a maze game. The end question that leaves everybody wondering is “How the hell did this functionality come here?”. Famous by various other terms like, “Scope creep”, “requirement creep”, refers to unforeseen requests for the addition of features that are not listed in the project scope.
Validation Missteps Making Us Full Time Firefighters DVClub
1) The document discusses common missteps that can turn product development teams into "firefighters", such as insufficient planning, not designing for testability, lacking feedback loops, and a lack of transparency.
2) It recommends planning testing in writing, designing products to be testable, creating adaptable feedback loops between teams, and fostering transparency to avoid surprises.
3) Following these practices can help teams avoid becoming "full time firefighters" scrambling to put out fires as deadlines approach by better anticipating and addressing issues earlier.
The document discusses a summer intern project at J.Crew to improve communication between teams using Microsoft Office 365 and shared documents. It describes current issues with miscommunication and multiple emails. The proposed solution is to use Office 365 features like shared documents, comments, and notifications to streamline processes for merchandising, design, production, and technical teams. The long term goal is to implement a product lifecycle management system to more easily track product information across the organization.
Effective feedback should provide precise observations of behavior, consequences of that behavior, and expectations for future behavior. Feedback aims to improve results by focusing on behavior and the future, not winning discussions about the past. When giving feedback, one should describe factual observations instead of assessments, anticipate defensive reactions, remain patient, and establish routines for consistent feedback. The timing of feedback is also important - it should be given as soon as possible after the relevant behavior.
Global collaboration has become the norm in software development today. The document discusses the importance of collaboration, different types of collaboration tools, behaviors for effective virtual teams, and examples of both successful and unsuccessful projects involving global teams. Key challenges with global teams include communication difficulties due to language barriers and cultural differences, but establishing trust through clear expectations and regular communication can help overcome these challenges.
This document describes a feedback method called Speedback, where team members give brief feedback to each other in a rotating partner format similar to speed dating. Each pairing lasts 10 minutes, with partners switching who gives and receives feedback after 5 minutes. The goals are to efficiently collect feedback from all teammates and boost self-awareness and performance. Preparation is encouraged by writing feedback notes ahead of time. Guidelines suggest feedback be actionable, specific, and kind using the ASK and SBI frameworks, focusing on situations, behaviors and impacts rather than personalities.
Remote Work Software for Teams Everywhere QuekelsBaro
Remote Collaboration Software for Teams Everywhere. Overseeing a remote team doesn’t have to be like herding cats. Organize, manage, and track your team’s progress with Process Street!
Sumedha Ganjoo presented on common mistakes made when adopting Scrum. She discussed how having one person act as both the product owner and Scrum master leads to conflicts of interest and less accountability. Other mistakes include not properly estimating work, allowing technical debt to accumulate, focusing on documentation over working software, and customizing Scrum practices without understanding the reasons behind them. The presentation emphasized separating roles, setting clear expectations, prioritizing working software over documentation, and making incremental improvements based on team feedback and retrospectives.
Talk for the Vancouver User Experience group on October 16, 2007 about the user experience of usability projects and how we've re-designed our process.
Don’t Let Process Hold You Back: Best Practices for Cross-Functional Collabor...Tasktop
Creating great software takes many skilled people. There’s business requirements to fulfill, technical requirements to consider, development, testing, packaging, and the release.
While having a single cohesive process is crucial to helping all these teams work together, they’re often working in disparate systems with their own processes and workflows. What’s more, these teams are often spread across different departments, buildings and even time zones.
How can you ensure your teams stay in sync and create better processes that allow individual teams to move fast and be agile, while maintaining effective cross-team collaboration? In this webinar with GitLab, we discuss how establishing a ‘single source of truth’ is critical to functional collaboration, and cover the best practices for:
- Building processes that yield better results
- Keeping cross-functional teams in sync
- Integrating tools for better workflows
- Tips for remote teams
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0Joakim Lindbom
Corporations are struggling with overly complex systems and system landscapes. DevOps is presented as one piece of the puzzle to go for much leaner and simpler landscapes - all in order to increase the readiness for change and innovation.
The presentation also discusses the the basic thought error behind organising according to Design-Build-Run, which is the basis for most ICT IM outsourcing.
The document summarizes the key capabilities of Microsoft's Visual Studio 2010 and Team Foundation Server for improving the software development lifecycle. It discusses how the tools can help ensure quality code, enhance team collaboration through integration, and allow teams to spend more time creating code rather than debugging it. The tools provide capabilities for version control, build automation, testing, project management, code analysis, modeling, and more to help deliver projects on time and on budget.
A full overview of Team Foundation Server 2010 (not just what's new).
Includes 4 main areas:
- Manage & Plan your Project
- Understand Parallel Development
- No More "No Repro" Bugs
- Reporting on your Entire Portfolio.
Screenshots are included.
Team Foundation Server (TFS) is a platform for collaboration and management of software development projects. It integrates version control, work item tracking, reporting, and project management tools. TFS allows developers, testers, managers, and designers to collaborate through features like version control, tracking work items and bugs, and using reports and dashboards to monitor progress. TFS provides a single system to manage the entire application lifecycle from start to finish.
Covering topics like:
CI CD DevOps Jenkins TFS TeamCity Compile Test Package Delpoy
See Disclaimer in the last slide and/or in file comments, if available.
What IS SharePoint Development? by Mark Rackley - SPTechConSPTechCon
This document provides an overview of SharePoint development. It defines development as bringing something to a more advanced stage through elaboration or working out details. The document outlines different methods of SharePoint development including out of the box, SharePoint Designer, JavaScript/jQuery, PowerShell, and Visual Studio/.NET. For each method it describes what it is, benefits, disadvantages, and skills needed. It provides a comparison of the development options and emphasizes that the right development approach depends on the specific needs and environment.
This document provides an overview of SharePoint development. It defines development as bringing something to a more advanced stage through elaboration or working out details. The document outlines different methods of SharePoint development including out of the box, SharePoint Designer, JavaScript/jQuery, PowerShell, and Visual Studio/.NET. For each method it describes what it is, benefits, disadvantages, and skills needed. It provides a comparison of the development options and emphasizes that the right tool should be chosen for the job.
You got DevOpsed! Your sysadmin team got renamed as the DevOps team. Developers got prod access. Code deploys to prod happen multiple times a day now. In the eyes of the business, things are great. Yet, the security team continues to be left out and really nothing seems to be better. In fact it feels worse.
Time to learn how to hack some devops for great good.
This talk will equip you with advice and tools to join in on the devops. You will also leave with a sample continuous delivery pipeline that is armed to dangerous and ready to identify security issues in a typical web application stack.
We'll use a range of open source technology including OWASP ZAP, gauntlt, brakeman, nmap, sqlmap, arachni and more.
STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...Anna Russo
Step 1 discusses work management in Visual Studio/TFS 2010, including hierarchical work management, improved dashboards and reports, and Excel integration. Step 2 covers defining and reporting on what is considered "done". Step 3 discusses automated builds, including build reports and associating work items. Step 4 focuses on manual testing tools like Microsoft Test Manager for test planning, management, and bug filing.
Pete Marshall - casmadrid2015 - Continuous Delivery in Legacy EnvironmentsPeter Marshall
This document discusses practices for implementing continuous delivery in legacy software environments. It outlines key characteristics of continuous delivery like keeping software deployable throughout its lifecycle. It then provides examples of how one company transitioned their monolithic legacy application to a continuous delivery model by using techniques like the strangler pattern, refactoring to separate concerns, and restructuring their organization into cross-functional product teams. The document emphasizes establishing technical foundations, learning through the build-deploy-learn cycle, and focusing on delivering value to customers.
This document contains questions related to system administration, software development, and DevOps best practices. It covers topics such as scaling applications, handling outages, deploying software, testing systems, configuration management tools, networking, Linux, Windows, security, cloud infrastructure, databases, APIs, websites, continuous integration, source control workflows, and personal interests. The questions are designed to assess a candidate's knowledge and experience in these important technical areas.
How To Do Kick-Ass Software Development, by Sven PetersZeroTurnaround
The document discusses how to do kick-ass software development through agile practices like using Java, improving as a team, collaborating well, automating tasks, and building a kick-ass culture. It emphasizes delivering high quality software quickly through a co-located team with simple workflows, chat for communication, continuous integration, handling flaky tests, and deploying with a single button press. The overall message is that focusing on developer happiness, customer satisfaction, and continual improvement will result in kick-ass software development.
STARWEST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...Anna Russo
Using Microsoft Test Manager, Visual Studio 2010, and TFS 2010 can improve software quality through a 7 step approach: 1) Work management, 2) Defining what "done" means, 3) Automated builds, 4) Manual and automated testing tools, 5) Developer quality tools, 6) Lab management, and 7) Working smart. These tools provide an integrated environment for managing work, automating builds, facilitating manual and automated testing, and providing virtual test environments to improve efficiency and quality.
Visual Studio ALM and DevOps Tools WalkthroughAngela Dugan
If you're considering moving to Team Foundation Server or Visual Studio Team Services, this deck will walk you through the highlights, of which there are a TON!
The document summarizes a presentation about using Microsoft Visual Studio 2010 and Team Foundation Server. It discusses using these tools to trace requirements, code check-ins, builds, and test results. It also provides an overview of Team Foundation Server, describing its main functions like version control, work item tracking, and build automation.
The document discusses digitalization through the use of domain-specific languages (DSLs). It suggests that DSLs can help accelerate development, simplify customization, and express business goals, requirements, design, and implementation in a single language. The document outlines considerations for whether an organization needs a DSL, how to structure a proof of concept, and how to ensure long term maintenance and adoption of the DSL approach.
Server Manager in Windows Server 2012 was redesigned to improve the admin experience. It features a metro style interface for managing local and remote servers simultaneously. Admins can now multi-select servers and start services together, create custom server groups, filter servers, and remotely add roles to local and remote servers including Server Core. Server Manager also integrates with PowerShell for automating management tasks.
This document discusses upgrading an existing Active Directory environment from Windows Server 2003 to Windows Server 2008 R2, including new features in Windows Server 2008 R2, server version requirements, installation options, recommended upgrade scenarios to address, and considerations for time configuration, network ports, Kerberos encryption changes, and other known issues.
Checking the health of your active directory enviornmentSpiffy
The document discusses checking the health of an Active Directory environment. It covers major components like Active Directory replication, SYSVOL replication, name resolution, and domain controller health. It emphasizes the importance of disaster recovery for Active Directory. Some best practices include regularly monitoring replication, event logs, and domain controller health. It's important to configure backups and have a disaster recovery plan to address issues like data loss or loss of domain controllers.
The document discusses how developers can use Visual Studio 2010 and Team Foundation Server (TFS) to work in an Agile environment. It describes how developers can set up their development environment by getting the required source code from TFS, identify and manage their work using work items and queries, work offline by making source code available, and enhance code quality using check-in policies and notes.
The document discusses the Real World Agile Roadshow and getting started with Agile Application Lifecycle Management. It covers the ALM cycle and how operations, developers, designers, and others are involved at different stages. It then discusses the importance of user experience and how the experience itself can be the product from the user's perspective. Finally, it provides an introduction to HTML5 and CSS3 as well as Windows Phone 7 development.
Agile in Action - Keynote: Becoming and Being Agile - What Does This Mean?Spiffy
1. Software is now ubiquitous and critical to business operations, yet many organizations still struggle to deliver software efficiently.
2. Adopting an agile platform and methodology can help organizations rapidly deliver business value through improved productivity and insight, as well as increased flexibility and agility.
3. Integrated agile development tools that support the entire application lifecycle are needed to help development teams successfully implement agile practices as market and business needs become more complex over time.
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)Spiffy
The document discusses an Agile Roadshow presentation on getting started with Agile Application Lifecycle Management (ALM). It covers setting up an Agile project in Visual Studio 2010, including requirements gathering, planning with tools like product and iteration backlogs, and architecture blueprints. The presentation illustrates how Visual Studio and Team Foundation Server support Agile development through features like work item tracking, version control, and customizable process templates.
MS TechDays 2011 - WCF Web APis There's a URI for ThatSpiffy
This document discusses WCF Web API, which allows developers to expose applications, data, and services over HTTP. It provides an overview of WCF Web API, explaining that it handles low-level HTTP details and exposes an HTTP programming model. The document also notes that WCF Web API supports many client and device types, and is important for reaching users on their devices. It outlines the architecture of building a web API for browser and JSON clients with WCF Web API.
This document discusses various topics including Singapore development, blind search comparisons between search engines, the importance of user experience, tangible experiences differentiating the market, the evolution of entertainment through storytelling and immersion, the real social, Kinect functionality, and making something. It promotes the blog and Twitter account of August de los Reyes on delicate genius.
MS TechDays 2011 - Mango, Mango! Developing for Windows Phone 7Spiffy
This document discusses developing applications for Windows Phone 7. It provides resources for saving data locally or to the cloud, an overview of tiles and how to create secondary tiles, introduces sensors available on Windows Phone, and announces upcoming Windows Phone anchor camps in Singapore and Malaysia to provide training and a hackathon for developers. Contact information is provided for questions.
MS TechDays 2011 - Generate Revenue on AzureSpiffy
The document discusses key benefits of cloud computing such as reduced costs, increased storage, high automation, and flexibility. It also outlines some challenges of cloud computing including data governance, manageability, monitoring, reliability, availability, virtualization security, and backend platform flows. The document promotes a cloud platform called SilverCloud and outlines its deployment strategies, leveraging technologies, and best uses.
MS TechDays 2011 - HTML 5 All the Awesome BitsSpiffy
Michael Kordahi is a developer evangelist at Microsoft Australia who focuses on HTML5 development. The document discusses the evolution of HTML5 from a candidate recommendation to full recommendation by the W3C. It summarizes new elements, syntax changes, and capabilities in HTML5 like audio, video, 2D graphics with canvas, and CSS3.
MS TechDays 2011 - Cloud Computing with the Windows Azure PlatformSpiffy
This document provides an overview of the Windows Azure cloud computing platform. It discusses the types of cloud services including Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). It then describes several key Windows Azure services like Compute, Storage, Database, Content Delivery Network, Reporting, Virtual Machines, Service Bus, Access Control, Caching, Virtual Network, and Marketplace. The presentation encourages Singapore companies using Windows Azure to contact Microsoft to have their applications featured. It concludes with inviting questions from attendees.
MS TechDays 2011 - Simplified Converged Infrastructure SolutionsSpiffy
This document discusses Hitachi Data Systems' cloud strategy and solutions for simplified converged infrastructure. It focuses on Hitachi's participation in Microsoft's Hyper-V Cloud Fast Track partner program. Key points include:
- Hitachi provides reference architectures, bill of materials, deployment guides and services for Microsoft Hyper-V cloud solutions.
- An example solution configuration includes the Hitachi Compute Blade 2000 chassis with Hitachi Adaptable Modular Storage 2500 for Hyper-V virtual machines.
- The solutions aim to quickly provide predictable performance and pave the way for further automation and scaling of infrastructure as a service.
MS TechDays 2011 - SCDPM 2012 The New Feature of Data ProtectionSpiffy
This document discusses the past, present, and future of data protection. It highlights how centralized monitoring and management capabilities in the new DPM platform can help reduce costs and fit into existing environments. New features are demonstrated, including enhanced granular media co-location, application enhancements like SQL FileStream support, and the ability to perform item-level recovery of VMs and SharePoint content. Putting these pieces together with a centralized backup team and helpdesk is discussed.
MS TechDays 2011 - Microsoft Exchange Server and Office 365 Hybrid DeploymentSpiffy
A hybrid deployment allows for seamless interactions between on-premises and cloud mailboxes. It enables calendar and free/busy sharing as well as mailbox management from the on-premises Exchange admin center. Users can access their mailboxes with their existing credentials regardless of the mailbox location. Migrations between on-premises and Exchange Online are transparent to users. Planning requires maintaining identity or exchange federation and configuring certificates, domains, and mail routing. The deployment assistant guides setting up the necessary server roles, federation trust, and secure mail flow.
MS TechDays 2011 - How to Run Middleware in the Cloud Story of Windows Azure ...Spiffy
This document summarizes a presentation about Windows Azure AppFabric. It discusses AppFabric as middleware for the cloud, including Windows Azure AppFabric Cache for scalable caching. It also describes the Windows Azure AppFabric Service Bus for interconnectivity across networks through messaging with queues and topics. The presentation demonstrates using queues and topics in the cloud and bridging on-premise messaging with the cloud.
MS TechDays 2011 - Cloud Management with System Center Application ControllerSpiffy
The document discusses System Center Application Controller, which provides hybrid cloud management capabilities. It allows registering private and public clouds, deploying and operating services across clouds, and upgrading services. Key features include cloud registration, service and VM deployment/operations, a library for storing deployment files, and job history for auditing changes. The presentation includes demos of registering clouds, deploying a service, and using the cloud library and job history.
MS TechDays 2011 - Virtualization Solutions to Optimize PerformanceSpiffy
F5 Networks provides application delivery networking solutions that optimize availability, security, and performance for Microsoft applications and platforms. F5 has a 10-year global partnership with Microsoft involving joint product development, strategic planning, and Microsoft technical training. F5's Dynamic Control Plane architecture integrates application delivery, network optimization, security, and management across physical and virtual infrastructure on private and public clouds.
MS TechDays 2011 - Automating Your Infrastructure System Center Orchestrator ...Spiffy
This document provides an overview of System Center Orchestrator 2012 and its capabilities for automating infrastructure. Orchestrator is part of the System Center suite and provides integration, orchestration, and automation capabilities through workflow automation. It can automate tasks across multiple IT components through runbooks and activities. The document demonstrates how Orchestrator can be used to automate tasks like virtual machine provisioning, application recovery, and patch management.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
2. All happy families are alike; each unhappy family is unique in its own way. -Leo Tolstoy, Anna Karenina
3. Signs Of Unhappiness Loose development practices Underestimating ‘No Repro’ bugs Implementation doesn’t match design And more…
4. How much ‘happier’ would you be if… Quickly understand existing systems? You could ensure implementation matched design? You could eliminate Dev/Test Ping-Pong? You could quickly find the root cause of bugs? Had visibility into your projects?
27. Risk comes from not knowing what you’re doing.” - Warren Buffet
28. Can You Answer? What do I need to know now to course correct? Are we going to deliver a quality project on time? What can I do to reduce the risk? What ‘fires’ will we have to put out that we don’t know about?
29. Poor Visibility == Failure Visibility reduces risk, identifies issues. What if you could see through the fog?
30. Out-of-the-Box Agile Support Improved Agile process template. Baked-in best practices. Agile Workbooks. Product Backlog Iteration Backlog
31. Simplified Reporting Improved Reports using SQL Server Reporting Services. Detailed and thorough Workbook queries with Microsoft Office Excel. Fast and flexible
In the book Anna Karenina, Leo Tolstoy states, “All happy families are alike; each unhappy family is unique in its own way.” The same can be said for software development teams. Happy, well-functioning software development teams are all the same—explicit integration of functions, measurement of flow improvements, continuous reduction of waste, common ownership of problems and action on improvements, all traceable to customer and business value. Of course we all aspire to work on, or lead software development teams that can be described this way. Today you are going to learn about ways Visual Studio 2010 can help you and your team can make immediate improvements in how you integrate across functions, reduce waste, identify and communicate problems, plan and take action to mitigate issues to ensure you are solving the business problem and achieving customer expectations.
Imagine a world where your development team performs with incredible efficiency. Where broken builds are a thing of the past, and rework is reduced significantly. Where task estimation is improved with each development iteration. Imaging being able to reproduce any bug, and easily find the root cause quickly, and having the tools to validate the implementation against the design.Ask yourself how much faster you could deliver business value if…You could estimate tasks better?You never had to play bug Ping-Pong?You could quickly find the root cause of bugs?You could quickly understand existing systems and their dependencies?You could ensure that the implementation met the design expectations consistently?You cut in half the number of broken builds?You could quickly provision and share test environments?
With Visual Studio 2010 all of these things become possible. Visual Studio 2010 introduces over 1,000 features and capabilities all of which are designed to improve the productivity of everyone engaged in software development. For teams this means improving development practices to reduce or eliminate rework, and automating repetitive and expensive activities, such as functional testing and regression testing.
There are a wealth of options for .NET developersThere are so many technology trends coming out. Everything from portal applications to mobile to cloud development.At Microsoft, we’re pioneering in a number of these areas. And for non-Microsoft developers, this would represent a massive learning curve. But for Microsoft developers, we’ve enabled building of these applications using the languages and tools that you already know and love. So if you can build a web application with ASP.NET, you’re already prepared for building cloud applications. Windows Server 2008 R2 is just an amazing product. We’ve got a brand new version of IIS, and a new technology called AppFabric that helps you build scalable, high performance applications.SQL Server 2008 R2 data developers a great platform for productively manipulating and syndicating data.Let’s dig into a few of these platforms and show you how we’re working to make your life easier with each one.
Visual Studio is the most productive developer tool on the planet. And today we’re taking that to the next level. Breaking up your flow can really kill your productivity. While we can’t stop your co-workers from interrupting you (yet), we can make it easy to get back into the zone when you lost context. There are literally hundreds of improvements here to talk about.
The Visual Studio 2010 family is made up of a central team server, and a small selection of client-side tools. The team server—Team Foundation Server 2010—is the backbone of your application lifecycle management…<CLICK>…providing capabilities for source control management, (SCM), build automation, work item tracking and reporting. In this release we’ve expanded the capabilities of Team Foundation Server by adding a true test case management system…<CLICK>…and extended it with Lab Management 2010—a set of capabilities designed to better integrate both physical and virtual labs into the development process. We’ve heard your feedback as well, and we have made it to be easier to set-up and maintain Team Foundation Server—in fact it can be installed, configured and ready to use in as little as 20-minutes. <CLICK>On the client-side we have reduces the complexity of or IDE offerings. For developers, you can choose between Visual Studio 2010 Professional, Premium or Ultimate, with each subsequent product containing all of the features of its predecessor. For testers and business analysts we are introducing Test Professional—a new integrated test environment designed with manual testers in mind.<CLICK>For those people who participate in the development efforts, but for whom Visual Studio—the IDE—is not appropriate, including Java developers, project managers and stakeholders the Team Foundation Server extensibility model enables us to provide alternative interfaces. These include both Team Explorer—a standalone tool built with the Visual Studio shell—and Team Web Access. These tools enable anyone to work directly with Team Foundation Server. In October we announced the acquisition of Teamprise, a technology similar to Team Explorer for the Eclipse IDE on Windows, Linux, Mac OS X and other Unix-based operating systems. That technology has been incorporated into the Visual Studio 2010 product line, and we will be announcing how we are productizing it very soon. The most important thing to know is that we will be releasing a Teamprise-based product, and it will also be included as an MSDN benefit for Visual Studio 2010 Ultimate customers.<CLICK>Of course we are continuing our cross-product integration capabilities with Microsoft Office® and Microsoft Expression. We have improved integration between Team Foundation Server and SharePoint Server with new SharePoint dashboards, and we have a new set of capabilities that make SharePoint development much easier than in the past.Across the board the features and capabilities we built into Visual Studio 2010 are a result of the great feedback we have gotten from our customers. This release continues our commitment to enabling you, our customers, to build the right software, in the right way to ensure success for your business.
Throughout the rest of the day you will learn about a variety of capabilities in Visual Studio 2010 that can improve software development across the lifecycle – tools that help you more easily understand existing systems, find and fix bugs quicker, and streamline your development process.
No one comes to work and begins everyday with FILE > NEW PROJECT. The reality is that every day you work with existing projects—in most cases project in which you don’t know the entire project history. Frequently you are working on existing projects that are new to you, or an unfamiliar section within a project that you are familiar with. In either case you are face-to-face with a system you may not fully understand. The challenge with this understanding the system; it is critical to understand things like down-stream dependencies before you make any code changes, to prevent a butterfly effect.
A butterfly effect is based on the premise that is a butterfly flaps its wings on one side of the world, could it cause a hurricane on the opposite side of the world. In this case, could one seemingly innocuous change to one part of the code, break something that you thought was completely unrelated in another part of the system because you weren’t aware of the downstream dependency?Imagine how much faster you could learn about a new system if you could see a diagram of how all of the code and assets are connected. Imagine how much more productive you could be if you could toggle between a diagram of the code and a matrix view showing cross-project dependencies. How would your approach to modifying an existing system change if you could visualize what the project before making any changes.
Visual Studio 2010 Ultimate enables you explore existing architectures and visualize code and assets in a variety of ways. By visualizing the code you can quickly understand how the various pieces are connected. You can easily visualize project assemblies, or top level namespaces, for example, and drill through the solution all the way to the method-level. Along the way you will see all of the upstream and downstream connections enabling you to more easily understand the system without overwhelming you. This powerful visualization capability enables developers to identify risks and potential impacts in a graphical format.This visualization capability enables you to better understand the system dependencies and drill through them to the code-level where a call sequence will be executed. From there you can automatically generate a sequence diagram of the call sequence to learn what happens—what components are used and what methods are called—during the code execution.
Understanding the system is only half the battle. Code has a tendency to "go bad" as time passes, due in a large part to unintended dependencies that are introduced as new code gets added to, or changed in the system. As you make changes to the system—maintaining and extending it—you will need to control its complexity and prevent “code rot.” How can you ensure your changes are in line with the overall design of the system? How can you ensure the changes you are making maintain the architectural integrity of the design?
Visual Studio 2010 Ultimate introduces a new model type—the layer diagram. This tool enables you to create a visual depiction of your logical architecture. For many of you, you probably do this today with tools like Microsoft Visio, or even PowerPoint. All too often people use a whiteboard to diagram the logical architecture and write “Do Not Erase” in the corner. The layer diagram modernizes this activity. It is a versionable resource that can be authored and viewed within Visual Studio ensuring you maintain the history of your design.Of course, having a fancy diagram, with lots of color does nothing to ensure that the implementation of the design matches the intent of the diagram. To solve this problem the layer diagram is an active resource; you can associate assets—classes, namespaces, assemblies, etc.—to objects in the layer diagram and then validate the implementation against it. For example, you could associate a Foo.Web namespace with the Presentation Layer of the diagram, and define the associations of that layer respective to other elements in the diagram, such as a Business Layer and a Data Access Layer. When you validate the implementation against the diagram, any code that calls into an asset that it is not permitted to—explicitly defined by an association of the two elements in the diagram—will generate a Dependency Validation Error. This indicates that the implementation doesn’t adhere to the design intent, and this is how you will maintain architectural integrity.
In their book The Hitchhiker's Guide to Lean: Lessons from the Road, Jamie Flinchbaugh and Andy Carlino describe how every process in every industry has five distinct steps: queue, setup, run, wait and move, and how the focus has been on improving the run part of the process.For decades the focus has been on the run part of the process; running the machine, building the forecast, or unloading the truck. This is where organizations direct most of their energy. While it is important, and offers opportunities for adding value, run is not the most wasteful process. There is plenty of waste in the other four steps, however.The authors go on to describe a common scenario in order to identify the parts of the process and highlight how improving the run part doesn’t achieve the desired result. This same principle can be applied to how you deal with a natural artifact of any software development effort…bugs.
Typically fixing a bug—that is, writing the code—is not the time consuming step in the process. Finding the cause of the bug can be exponentially more challenging and time consuming.Take the five steps defined by Flinchbaugh and Carlino—queue, setup, run, wait and move—as they related to a bug.This type of collaboration is exactly what Visual Studio 2010 has been designed to support. With the combination of new tools and capabilities, testers and developers will be able to collaborate like never before. In fact, they will be able to collaborate without even thinking about it. By simply performing their daily tasks with these new tools they will gain the benefits of collaboration. This is enabled in two ways—with the new Microsoft Test Manager 2010 and IntelliTrace.
Microsoft Test Manager 2010 is to manual testers what Visual Studio is to developers; it is the primary interface that a tester uses to create test cases, organize test plans, track test results, and file bugs when defects are found. Test Manager is integrated with Team Foundation Server, and is designed to improve the productivity of testers. That means that manual testers no longer have to rely on Word or Excel documents to manage and track their test cases in inefficient and time consuming ways. They now have first class support for planning, executing and tracking tests, all integrated with the rest of the team enabling them to be more efficient and accurate.As a tester runs through a test case, Test Manager collects information about what is happening during the test execution—what steps the tester is performing, systems information for the test environment and what is the tester seeing on her screen. This automatic data collection enables the tester to focus on performing accurate, value-add tests, instead of documenting excess information. When a defect is discovered, the tester can file a bug from within Test Manager. When a new bug is created all of the data that was collected during the test run is attached to the bug creating an actionable bug.
An actionable bug is one that is so rich with information that it is nearly impossible for you to take immediate action toward the resolution. Since it includes the data that was automatically collected—steps to reproduce, system information, and screen capture—there is no need to go back to the tester for more information. You no longer need to engage in bug Ping-Pong—where a bug is passed back and forth between a developer and test because there isn’t enough information to even get started fixing the bug. With an actionable bug you can see exactly what the tester did to discover the bug through the steps to reproduce and the automatic video capture of the tester’s screen. You can quickly identify any differences between your environment and the test environment through the system information that was automatically collected.This data is immensely valuable, but still may not be enough. Imagine if you could attach the Visual Studio debugger to the test execution performed by the tester. How much faster could you find the cause of a bug if you could replay the test execution, moving through it like a DVR—forward and backward—examining all of the code execution along the way? That is exactly what IntelliTrace enables you to do.
IntelliTrace is a set of technology in Visual Studio that enables you to effectively go back in time and watch code execution as it occurred in the past. In the case of a bug filed by a tester, IntelliTrace provides a historical record of the code execution during the test run that you can attach the Visual Studio debugger to. By doing this you are able to step through the actual code execution from the test run as if you were actively debugging it at the time. Of course, since it is a historical record, you can’t change anything that occurred, but you can move through the code execution—back and forth—examining the events, the variable states and even exceptions that were thrown along the way. This type of historical record acts as an accelerant to finding the root cause of a bug. You no longer have to attempt to reproduce the bug to see it in action.Of course, sometimes you’d like to debug history even when there isn’t a bug involved. Think about all the times you’ve been writing code, and doing a quick smoke test of your implementation where something unexpected happens and there was no breakpoint set. What happens next? You set a handful of breakpoints, hoping to catch the unexpected event in action, and repeat your smoke test. If you are lucky you hit a breakpoint right before the event and can debug it. Rather than setting a bunch of breakpoints and repeating the smoke test, would you like to just rewind the execution a little so you could see the event happen?Just as IntelliTrace enables you to debug historical events provided in an actionable bug, it enables you to debug your current session history. You can use the Debug History window in Visual Studio to search backward through your current debugging session for events, or to examine what took place during the code execution.
The American businessman, Warren Buffet once said, “Risk comes from not knowing what you’re doing.” How much risk are your projects in right now? How much do you know about “what you’re doing?” Every day activity happens in your projects—new code is written, bugs are fixed, tests are run. But what does that mean to your project? Are you on track to deliver a successful project?
Can you answer the following questions?Are we going to deliver a quality project on time?What do I need to know now to course correct?What ‘fires’ will we have to put out that we don’t know about?What can I do to reduce the risk?Knowing the answers to these questions could make the difference between success and failure for your project.Of course, there are dozens or more reasons why a project fail. These may include late requirements that cause the project to restart, changes in business priority, poor quality implementation that causes rework, ship-stopping bugs discovered late in the cycle, or simply getting to the end of the project’s timeline before you’ve implemented enough code to meet the requirements.
Each of these reasons provides its own unique challenges, but they all share one common trait. Poor visibility means failure. More transparency into the project activities could have surfaced issues, mitigated risk, and helped ensure the project outcome was put into production.How would your project lifecycle change if you could easily see, at any time, how much work was remaining in the current iteration? Or how many high priority bugs were currently active? Would your project risk decrease if you had a dashboard-type view of key performance indicators (KPIs) that communicated the status of remaining work, builds and bugs?With new tools in Visual Studio 2010 you can easily discover this kind of information with out-of-the box reports that support best practices for Agile, and provide early indicators of project health, and surface potential concerns. Standard and customizable reports and dashboards make it easy for you to track KPIs and communicate status, risk and project trending information.
With Visual Studio 2010 the investment in Agile continues. The Agile process template has been improved and now has out-of-the-box tools for Agile teams. This increased level of Agile support means that you can take advantage of best practices including creating and maintaining a Product Backlog, planning iterations with an eye on previous performance—including managing planned interruptions such as holidays and Spikes, and managing status with an Excel based burndown.The new Agile Planning Workbooks enable you to use the most popular tool used by Agile teams and Scrum masters – Microsoft Office Excel. The new Product Backog and Iteration Backlog workbooks enable you to plan your efforts with a light weight easy to use tool that is completely integrated with your team’s repository, Team Foundation Server. As you add user stories to the Product Backlog, they are added as new work items in Team Foundation Server. As you distill stories into tasks, those too are added as new work items in Team Foundation Server. Finally you have light-weight, easy to use Agile planning tools that integrate with Team Foundation Server right out of the box.
As you burndown your iteration backlog, it is important to have visibility into the progress and status to mitigate risk. Team Foundation Server offers two great mechanisms for reporting – SQL Server Reporting Services and Excel workbook queries.The pre-configured reports are designed to give you one-stop access to critical information. Every report was designed with your needs in mind. As you review a report you will find information not previously included—a description of the report and what it is intended to show, a list of questions you could be asking that are answered by the report, and links to other related reports. All of this will help you learn to use the reports more effectively, and get the information you need quickly.If the canned reports don’t provide exactly what you need, you can easily create Excel workbook queries. These reports are based off of queries built in Team Foundation Server, and they provide fast access to a wealth of information.
Discovering information is important, and I could argue that making that information available to the team and stakeholders is equally important. The newly designed SharePoint dashboards enable you to not only discover the information, but also share it with others. Each dashboard is designed to give you a comprehensive view of a [particular topic—including Burndown, Quality, Bugs, and more.Of course, with SharePoint and Excel services you could create custom dashboards to suit any need you may have.These dashboards enable you to provide transparency into your project, with little effort on your part, allowing you to focus on delivering a great piece of software.
By making even small improvements across the lifecycle you can eliminate unhappiness and deliver higher quality software, faster.Visual Studio 2010 will help you reduce, eliminate or automate wasteful activities. During the course of the rest of the day you will learn in more detail how Visual Studio 2010 will…Help you understanding the systems you have, control their complexity and communicate requirements.Improve developer-tester collaboration, and enable you to eliminate bugs faster.Streamline your development practice and put your focus on innovation not process.And implement some advanced capabilities including build automation, and our newest tool, Lab Management 2010.