Agile in Action - Act 2: Development
Upcoming SlideShare
Loading in...5
×
 

Agile in Action - Act 2: Development

on

  • 1,234 views

 

Statistics

Views

Total Views
1,234
Views on SlideShare
1,091
Embed Views
143

Actions

Likes
0
Downloads
4
Comments
0

3 Embeds 143

http://spiffy.sg 139
http://spiffy1.capturepagedesigns.com 3
http://www.spiffy.sg 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Agile in Action - Act 2: Development Agile in Action - Act 2: Development Presentation Transcript

  • The Real World Agile Roadshow – Getting started with Agile Application Lifecycle ManagementAgile in Action – Act 2:The Backend
  • The ALM Cycle choon@azaas.com Operations Management Developers Write and Debug Code Solution Requirements Deployment Management Version Control Code Quality Application Lifecycle Database Specialists Quality Solution Assurance and Database Design Architecture Testing Database Versioning Test Data Generation Development | 2
  • choon@azaas.comThe Windows Azure Platform:A (Very Quick!) Introduction
  • The Windows Azure Platform choon@azaas.comWindows Azure is an internet-scale cloud services platform hostedin Microsoft data centers around the world, providing a simple, reliable andpowerful platform for the creation ofweb applications and services. Benefits FLEXIBILITY & CONTROL: Host services in the cloud, or integrate SCALABLE COMPUTING with on-premises applications AGILITY: Respond quickly to business needs with software and SECURE STORAGE services integration EFFICIENCY: Deploy new solutions SERVICES MANAGEMENT quickly, leveraging existing expertise and assets FOCUS: Invest in delivering WINDOWS AZURE services and value, not on PLATFORM INTEGRATION managing technology infrastructure TRUST: A reliable and secure platform, hosted in best-of-class data centers around the world, provided by the leader in service and support | 4
  • Windows Azure Building Blocks choon@azaas.com | 5
  • Windows Azure Compute Services choon@azaas.comScale out by replicating worker Two role types: Web Role & Worker Roleinstances as needed. Windows Azure applications are built with web roles, worker roles, or a combination ofAllows applications to scale both deployed to a number of VM instances.user and compute processingindependently. Each instance runs on its own VM (virtual machine), replicated as needed | 6
  • Windows Azure Storage Services choon@azaas.com | 7
  • Our MicroFinance HD Application … choon@azaas.com ... uses Azure Table Storage to store data ... is a web application hosted in a web role ... exposes table storage data through a WCF data service Client applications can access the WCF service:  HTML 5 rich client application (with optimizations for IE9 and Safari/iDevices)  Windows Phone 7 Silverlight client application (with push notification feature)  … any native client application through REST/web service calls Different clients provide different, customized user experiences.  Focus on re-use, we do not want to write completely new applications | 8
  • Table Storage Basics choon@azaas.com Each storage account can have an unlimited number of tables with unlimited size per table. Tables contain entity objects (rows) which have properties (columns). Each entity requires 3 properties: RowKey, PartitionKey, TimeStamp. The storage API is REST-based – storage operations use standard HTTP transport and verbs (GET/PUT). | 9
  • choon@azaas.com DemoDeveloping withWindows Azure | 10
  • choon@azaas.comVisual Studio 2010 ALM… for Developers
  • Visual Studio 2010 ALM for Developers choon@azaas.com Understand and model the application and make changes to source code that meet users requirements Write code to create new functionality based on users’ requirements View source code changeset merges and branch hierarchies Resolve version conflicts quickly and easily See detailed information about the effect of changes Use rollback to eliminate the effect of one or more changesets View how code changes affect testing by using Test Impact Analysis Create virtual environments using Visual Studio Lab Management | 12
  • Typical Agile Developer Tasks choon@azaas.com Review existing architecture and design Set up the development environment  Development and test environments require source code Manage schedules and work  Tasks, bugs and other work items are managed against schedules Perform common development tasks  Create new code  Make code changes  select a task or bug  check out required files  modify code  verify that changes are correct  check in | 13
  • Setting Up the Development Environment choon@azaas.com Developers will find themselves having to:  Update their development environment so that they have the required source code:  TFS uses the concept of workspaces to map server resources to dev resources  See http://www.woodwardweb.com/teamprise/000333.html for details  Workspaces can be private, public or public (limited)  Workspaces can be cloaked or active  Organisations might want to use TFS sidekicks from www.attrice.info  Fix bugs in a released or deployed version of the application – this requires a specific version of the source code instead of the latest version  Easily achieved with TFS version control | 14
  • Identifying and Managing Work choon@azaas.com Developers typically identify their workload using Work Item queries Queries are available at both team and individual levels Task and Bug are important work items for developers to address Easily accessed through Team Explorer from Visual Studio: | 15
  • Working Offline choon@azaas.com Source Code can be made available for disconnected working  Train, plane, on the road … A VS 2010 extension is available from the Visual Studio Gallery ‘Go online’ to commit changes: | 16
  • Enhancing Code Quality choon@azaas.com Check-in policies are rules that are set at the team project level and enforced on developer machines before code can be checked in 4 out-of-the-box, but others available from the TFS Power Tools:  Builds - requires that build breaks must be fixed before a new check-in  Code Analysis - requires that code analysis is run before check-in  Testing Policy - requires that check-in tests are completed before check-in  Work Items - requires that one or more work items be associated with the check- in Custom policies can be created in-house using Microsoft.TeamFoundationServer.VersionControl.Client.PolicyBase | 17
  • Enhancing Code Quality choon@azaas.com Check-in notes is free-form text that can be associated with a check-in 3 out-of-the-box note types, but others can easily be added  Code Review  Security Reviewer  Performance Reviewer | 18
  • Using TFS Version Control choon@azaas.com Team Project settings control functionality and behaviour: | 19
  • Version Control Security choon@azaas.com Configurable access permissions – deny/grant  Windows groups  Windows users  TFS 2010 groups  Inherited from containers or explicit Can be managed from:  Team Explorer  tf.exe (the administration command line)  3rd party tools | 20
  • Changesets choon@azaas.com Represent checked-in changes:  Can be associated with work items  Can have associated comments  Can be the subject of check-in policies  Can cause an email notification via alerts  Simple HTML or via SOAP web service for complete customization  Are atomic – they succeed or fail as a unit  Are numbered sequentially within Team Project Collections | 21
  • Shelvesets choon@azaas.com Represent server-controlled but unchecked changes  Shelvesets are different from changesets  There are no shelveset policies (unlike check-in policies)  Shelvesets can be deleted  Shelvesets are not version-controlled – they have no history etc.  Shelvesets cannot be linked to work items Shelvesets are often used for:  Interrupted work  Code review  Code handoff  Build validation (builds are possible against shelvesets) | 22
  • Version Control History choon@azaas.com Allows answers to questions such as:  Which work items were completed by a specific file change?  Who checked in changes?  What changes have been made this week?  Have bug fixes been merged across all necessary branches? | 23
  • Version Control Compare choon@azaas.com In-built comparison functionality  Files and folders  2 server files/folders  2 local files/folders  1 local file/folder and 1 server file/folder Annotate functionality  Shows changes made by each user in earlier versions of a file | 24
  • Version Control Lock choon@azaas.com Temporarily stop changes to files/folders  Check-in  Users can continue to make local changes in other workspaces  Changes cannot be checked-in until the lock is removed  Check-out  More restrictive  Stops users from checking out and making changes Guarantee first check-in to the holder of the lock | 25
  • Branching and Merging choon@azaas.com Branching  Creates parallel code versions  Isolates risks from different code changes  Takes code snapshots for isolated changes (e.g. releases)  Helps manage concurrent work by multiple teams  Can add complexity Merging  Brings together parallel versions Both can be visualised in new TFS 2010 windows Branching and Merging strategies whitepaper: http://msdn.microsoft.com/en-us/library/bb668955.aspx | 26
  • choon@azaas.com DemoUsing TFS Version Control | 27
  • choon@azaas.com | 28
  • choon@azaas.com