De-Risking large Software development projects Mark Carroll Architect, Developer and Platform Strategy Microsoft NZ Peter Fuller Account Manager, Datacom NZ Paul Ramsay National Consulting Manager, Equinox
This is a stickup! Put up your hand if Your organisation builds code for itself; Your organisation builds code for customers Your organisation responds to RFP s or RFI s that have any requirement to build code;
Todays Agenda We hear from two partners about how they de-risk their software development; Datacom large partner active in many different markets and technologies; Equinox specialists in architecture and development with years of experience on a number of platforms Both partners use the same generic models to de-risk software development we talk about those generic models and how they are both are supported by Visual Studio Team System;
Software Project metrics 31 % Projects are canceled 52 % of Projects are over budget. (189% of original estimates) Only 16% of the projects are completed on time and on budget * Standish Group CHAOS Reports Why Should I care? Loss of Income Loss of reputation Loss of Organisation Why do we care? Loss of Income Loss of reputation Loss of Partner
Introducing Peter Fuller from
De-Risking Projects Three Projects all different, all critical E-Census VectorNet Office of Film and Literature (OLFC) All projects had risk, but the approach to risk was very different The one consistent theme is the use of Microsoft technology to derisk the project
E-Census
E-Census Key risks Available and skilled people Stable supported technology stack Performance Price People the biggest risk Integration project of a tuned application to a tuned platform over 2 years Many people, many months, many disciplines - we could not afford the guru effect So it had to be a seriously popular technology supported broadly within both Datacom and the market Technology Stack Wanted an integrated stack which the vendor validated and supported Wanted support Had to be the best supported technology in New Zealand
E-Census Performance Very high targets Followed a scientific process: Modelled, prototyped, built, tested, broke, fixed, tested, broke, fixed, you get the picture Testing was a third of the application budget Used Microsoft Test Centre Price Any risk can be solved if you spend enough We (and Stats) wanted to spend sufficient and no more Microsoft price point supported the kind of iterative process described above In Summary, Microsoft technology Had skills at every level of the stack developer, sysadmin, dba, operations Had a stable stack The technology supported the process The price supported the process
VectorNet Purpose Plan and manage the design and implementation of thousands of field activities targeting wildlife that carry bovine Tb (mainly brush-tailed possums). These Tb vectors infect cattle and deer herds. Extremely important to reduce levels of bovine Tb in New Zealand for agricultural prosperity Nature Browser-based system used across New Zealand Uses.Net 3.0 (Windows Communication Foundation, Windows Workflow Foundation) Integration with ESRI GIS software Quite complex with significant workflow Delivered in an iterative manner, first deployment to production May 2007, 14 day release cycle
VectorNet Risks Key Risks Reliability of the code under pressure The right people and environment Reliability The code would fracture under the combined weight of the release cycle and the complexity of the integration The story is that there was no story WCM, WCF, the rest of the framework was boringly reliable. People Again, people with excellent skills were available within Datacom Joint project led by the customer - first class team co-located on customer site
Office of Film and Literature (OLFC) Background Office of Film and Literature (OLFC) classifies material It needed a new application with robust workflow and reporting processes Flexible, reliable application The Solution A browser-based application on Microsoft.Net 3.0 on SQL 2005 Workflow provided by K2.Net. Uses Windows Workflow Foundation and Windows Communication Foundation Uses Team Services as the development platform Risks Code quality Reliability Project control
OLFC Risks Team System Code quality Does everything you would expect from a code repository. directly from Visual Studio Overnight code builds have become much easier Allows testing to be undertaken earlier in the project Defects caught earlier better code quality and lower cost Reliability Risk Has an automated test capability but much better it enforces unit testing as part of check in! even better it highlights the code that has not been unit tested We really like this, it means that the team lead can confirm reports of progress directly from the source code repository Project management Starting to use the project reporting function in conjunction with the unit testing to determine progress
OLFC Team System Benefits Easy to use Defects are caught earlier - higher quality Iterative development is supported with interim deliverables / value Change can be handled better Project Reporting is superior Want to implement the Microsoft Solution Framework template in the project management section Exceeded our expectations
Introducing Paul Ramsay from
Equinox a bit of background Privately-owned New Zealand company Established in April 1995 Specialise in the software development lifecycle Client and services-led Offices in Auckland and Wellington
Our priorities People make it happen People Process can be the glue that holds everything together Process Tools can enhance productivity and efficiency Tools
People the tool-box Skills: The tools you have in your toolbox ( know what ) Knowledge: What tool to use and when ( know when ) Experience: What s in your bag of tricks? How to apply the tool ( know how )
Process three key approaches Agile Visible Responsive Adaptive Iterative Incremental The Learning Spiral http://www.nald.ca/fulltext/abc/undcur/p50.htm Don t try and drink the ocean
Process tailored to fit Needs to be tailored to the culture and characteristics of your organisation one size fits one Can either be an accelerator or a brake depending on how it is applied High Complexity Formal Processes Low Complexity Agile Processes Low Flexibility High Flexibility
Process points to note People will not follow processes and procedures beyond the point where they believe they will not result in any benefits Only go as far as it makes sense in your organisation: Principles Best practices Policies Standards Finding the right level of detail is an exercise in discovery not a science
Tools integrated development environment
Tools integrated development environment Development language Version control User Build management Test management Defect management Project management Content IDE Context Tracking and reporting
QEII National Trust Covenant Database Development Managing covenants to protect natural features on private land First development using Microsoft VSTS Team Foundation Server Six month project Team of five people www.openspace.org.nz
NZAID Scholarship System Development Managing scholarships to undertake post-secondary study or vocational training Five month project Team of seven people www.nzaid.govt.nz
Schering-Plough Animal Health VetPlan System Redevelopment Original developed by Equinox in 1997 to manage customer loyalty rebate system Redeveloped in 2007 using latest Microsoft technologies Six month project Team of seven people http://www.spah.co.nz
Engagement Awareness Involvement Education
Some final observations Manage the lifecycle Invest in training and development the grass is always greenest where it is watered Don t reinvent the wheel reuse and improve Collect relevant data unobtrusively with no developerperceived interference Always do a post implementation review and apply the lessons learned to your next project deliberate learning Finally, remember it is all about the business and delivering business value
Typical structure to De-Risk Software development Stakeholder & Sponsor Process customisation Process Guidance Process designer Team Portal Project Management MS-Project / Excel / TE Reports / Reviews Development Process Role based IDEs (Arch, Dev,Test, Db-Pro Job allocation and tracking Process Work Item Tracking & Reporting in TFS
Process Templates & Designer Templates based on SCRUM or other process methodologies and even customised process templates can be created for selection.
Example: Linking MS-Project with Work-items
Creating Standard Tasks
Team Portal
Process Guidance
Project to Work-item and back
V Model as it relates Business Case Requirements Team Explorer Release Testing Acceptance Testing to IDE s System Specification Team edition for Testers System Testing Team edition for architects System Design Component Design Team edition for Developers Integration Testing Unit Testing Component Development Team edition for DB-Pros
Work-Items Stateful with their own workflow by type; Can be defined; Accessible to roles determined by security policy; Typical types Task, Risk, Bug etc SQL Server SQL Queries available for all roles SQL Reporting services Can be embedded in Portal using WSS
How Far Can We Get In The Available Time?
Where do we need to shift resources?
Build Failures
Project Manager MS Project or MS Excel Project Lead / Supervisor - Team Explorer
Voice of the Customer Rakon has a reputation for supplying reliable products and is a global leader in the quality testing of frequency control products. The Rakon proprietary test equipment is highly regarded throughout the crystal industry. With this emphasis on quality it is easy to understand why Rakon have utilised processes and technologies that assist us to develop and maintain supporting software infrastructures to a high standard of quality. Previously we used the Rational Unified Process and the supporting Rational technologies to help us meet these software quality objectives but we changed to Visual Studio Team system last year. The key reasons for changing from Rational were because we felt that Visual Studio Team system provided superior integration, offered a much better user experience and was better suited to our method of operation. We also found Visual Studio Team system to be more cost effective in all critical areas. Steve White Software Development Group Manager - Rakon Kiwibank currently have development projects which are using both Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF). We are moving to Visual Studio Team System to allow our developers to work in a team environment with these new technologies. Our developers believe VSTS to be a natural fit when developing with the rich set of features provided by.net 3.0 and its component pieces including WCF and WF. Bohdan Szymanik Chief Architect - KiwiBank At Provoke we take our customer obligations very seriously especially those around ensuring that the solutions we develop for our customers can be maintained and enhanced in the future. Over the last two years we have developed an extensive software development practice around the use of Visual Studio Team system as it is a fully ledged application life cycle management tool incorporating tools, people and process. We have been excited about the addition of the Visual Studio Team edition for Database professionals as it allows us to apply to same rigours of quality control to our work in the Database component of the solutions we build for our customers. Clive Trott Development Manager Provoke Solutions
Summary We heard from two partners on de-risking software development both employed Team system as a key part of their strategy and offerings; We mapped a generic de-risking development model to Team system; If you are not using Team system ask yourself if your current approach is attaining the levels of quality and efficiency you require from your Software development;
What does success look like? Business model Have proper processes in place this is easier with the right supporting technologies; People For VS Team system we are ensuring the right people are out there via training programmes and all the usual MSDN resources; Customer engagements requirement to use this type of approach failed software projects are ugly;
Next Steps Training & readiness For your Developers, Testers and Architects - Ace, Auldhouse and Equinox all have training offerings; For Project managers - Equinox For all roles there are also specific.net Café talks; Competency attainment depends on role; Who do I speak to? Mark Carroll (macarr@microsoft.com) or Dean Edwards (Dean.Edwards@microsoft.com)