De-Risking large Software
development projects
Mark Carroll – Architect, Developer and Platform Strategy – Microsoft NZ Peter Fuller – Account Manager, Datacom NZ
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
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
• 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
• 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
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
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
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
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
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
Equinox – a bit of background
• Privately-owned New Zealand company
• Established in April 1995
• Specialise in the software development lifecycle
• Client and services-led
Our priorities
Process can be the “glue” that holds
everything together
People
Process
Tools
Tools can enhance productivity and
efficiency People
People – the “tool-box”
“What’s in your bag of tricks?”
•
Skills:
The tools you have in your
toolbox (“know what”)
•
Knowledge:
What tool to use and when
(“know when”)
•
Experience:
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
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 Low Complexity Low Flexibility High Flexibility Formal Processes Agile ProcessesProcess – 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
• Build management
• Test management
• Defect management
• Project management
• Tracking and reporting
IDE
Content
Context
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
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
developer-perceived 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
Development Process
Job allocation and
tracking Process
Project Management
Stakeholder & Sponsor
MS-Project / Excel / TE
Reports / Reviews
• Process designer Process customisation • Team Portal Process GuidanceRole based IDEs (Arch, Dev,Test,
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
V–Model
as it
relates
to IDE‟s
Component
Design
Component
Development
Unit Testing
Integration
Testing
System
Testing
Acceptance
Testing
Release
Testing
System
Design
System
Specification
Requirements
Business
Case
Team edition for Testers Team edition for DevelopersTeam
Explorer
Team edition for architects Team edition for DB-ProsWork-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 ?
Pro ject Lea d / Sup erv is or -T eam Ex plorer Projec t M anager M S Projec t or M S Ex c el
Voice of the Customer
Kiwibankcurrently 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 Provokewe 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
Rakonhas 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.