SlideShare a Scribd company logo
1 of 34
1 | P a g e
Going Agile – A Case Study
Dwayne Read
Software Process Consultant
Strategic Systems
[email protected]
Grey Properjohn
Systems Analyst
Snowden Technologies
[email protected]
Abstract
This case study examines the approach undertaken by Snowden
Technologies in adopting a
range of agile techniques into their product and custom software
solutions for the mining
industry. The catalyst to adopt various agile techniques
stemmed from the growth of the
development team (30+) and the need to further integrate the
development activities across
multiple offices. This required a clearer and more consistent
approach to the software
development process.
Snowden Technologies involved the users (Developers, Project
Managers, Team Leaders,
Geologists, etc) upfront and proritised the project’s scope
resulting in the selection of specific
techniques from a range of agile methodologies (XP, FDD,
Scrum, Crystal, DSDM, RAD/JAD).
Implementation of the techniques paralleled various agile
principles through the use of scoped
releases, development iterations and feedback through regular
reflections. The selected agile
techniques (e.g. iterative development, Domain Object Models,
code inspection, automated
testing) were incorporated into a consistent software process
with various “value add”
techniques (e.g. CUT complete, code coverage, code analysis)
that integrated with the
development tools.
The key lessons learnt from the this approach were that to
incrementally introduce agile
techniques was very effective; embedding the process elements
into the development tools
helped to reinforce the techniques; and it proved that the agile
techniques and PRINCE 2 for
project management could be customised to collaborate into an
effective solution. The latter
required some compromises from the “pure” agile view such as
to allow a project schedule to
define all Work Packages (Iterations) at the start of each Stage
(Releases).
1. Keywords
Agile, methodology, software process, change management,
project management, brain-
storming, reflection, iterative development, JAD, Domain
Object Model, architecture, code
inspection, automated testing, Team Foundation Server, TFS,
PRINCE 2.
2. Background
Snowden Technologies is a division of the Snowden Group that
provides global consultancy
services and software solutions to the mining industry, and has
a development capacity of over
thirty developers located in Perth (head office), Brisbane and
Johannesburg. The reliance on
delivering quality software solutions to its clients has continued
to increase over recent years to
the point that being able to rapidly respond to the needs and
unique/specific requirements of
clients is a critical success factor to the business.
2 | P a g e
3. Motivation to Go Agile
The driving force to initiate and implement the new agile
techniques originated from
expansion of Snowden’s development capacity which presented
the necessity for a clearer
defined and (multi) team oriented approach to its software
development activities. Key areas
identified by Snowden developers and managers that were
targeted as part of this approach
were:
1. Specification and scope definition
2. Estimation (essentially reducing the non-billable hours)
3. Minimising defects and instigating code quality reporting
4. Establishing standard and consistent practices across teams
and offices
5. Improving system deployment and build processes
6. Providing feedback mechanisms (within and across teams)
7. Initiating mentoring programs (sharing skill sets)
The need to address these key software development areas were
being compounded by
the ongoing growth of the team (in a time of very competitive
recruitment) and the need
to improve the Project Management process. Four separate
improvement projects had
been identified by the business as focus areas, one of which was
the Agile Project (the
other three were Project Management (PRINCE 2), SPI (the
Snowden Project Index
reporting tool), and Team Foundation Server (TFS)). The
intention was that the Agile
Project would be able to address the majority of the identified
key areas by selecting and
tailoring the techniques from a range of industry proven agile
methodologies. The
techniques would define the "Snowden Technologies Agile"
methodology, herein referred
to as STAg.
4. Approach
The starting point was a brainstorming session (based on the
typical Cause-Effect diagram
technique) conducted with all developers to examine the causes
behind the identified
problems. As a facilitated brainstorming session, all
participants contributed their ideas,
of which, 99 tentative causes were identified in the session. The
"top 10" causes were then
examined in more detail in terms of the impact, influence, cost,
effort and duration.
Figure 1: Brainstorming Output with Highest Priority Causes
Highlighted
3 | P a g e
From this, a prioritised list of the "top 10" was determined and
the higher priority items became
the basis of the selection of the agile techniques (from the likes
of eXtreme Programming (XP)
[1], Scrum [2], FDD [3], Crystal [4], DSDM [5] and even
RAD/JAD [6]).
Project teams were formed for all four improvement projects,
with the Agile and TFS project
teams merging within the first month due to the overlap of
process and tool. There was a total of
four staff involved in the Agile Project (one lead ~50% to 80%
of his time, and 3 "consulting"
staff, one being an external agile consultant).
Consistency of concepts and terminology between the Agile
Project and the Project
Management/PRINCE 2 project was deemed important to ensure
a clear message was
communicated to all. As such, close and regular communication
between the projects (with two
individuals common to both) was ensured. As a result, the Agile
Project used the PM/PRINCE
2 concept and terminology for "Stages" (Releases from XP [1])
and “Work Packages”
(Iterations from XP).
Following the Agile principle [7] of "satisfy the customer
through early and continuous
delivery" (plus wanting to avoid any "big bang") the definition,
templating and training of
techniques were undertaken as (2-4 week) Work Packages
(Iterations), with introduction of
these techniques primarily undertaken through pilot projects.
This was the vehicle to trial the
selected techniques and mentor the handful of developers and
team leads involved, who
eventually would become "seeds" of this knowledge in the next
project they worked on.
Some techniques (such as code inspection) were rolled out
across all active developments using
in-house workshops, where the immediate benefits were more
obvious. Several in-house
training sessions were also conducted to provide the developers
with overviews of the "Best of
Agile" techniques (including a customised version for
Snowden’s other development offices),
plus an overview of automated build and
test processes that formed part of the
second stage of STAg
Following the agile principle [7] of
"business people and developer must
work together", working groups of 3-5
employees were used for various
techniques to ensure that a suitable
cross-section of inputs and ideas were
brought together. There were working
groups for the Code Inspection, Coding
Standards and Estimation.
Focused feedback from the pilot
project team members was sought, via
Figure 2: Stages and Work Packages Define the Fundamental
Scope and Schedule Controls
(other activities are derived from the PRINCE 2 Project
Management methodology)
Figure 3: Reflection Sessions Proved Useful to Adjust the
Direction and for Positive Reinforcement
4 | P a g e
Reflection workshops, on a monthly basis, with global feedback
from all developers sought via
the weekly Tec meeting with the Agile Project as an agenda
item, and also through direct
communications with the Agile Project team members. These
feedback mechanisms were the
start of establishing a continuous improvement philosophy.
5. Process Flow
A "road-map" of the development process showing the
relationship of the selected
techniques was produced in the first Work Package for the
project. This is seen as the
equivalent of the "logical architecture" model and also captures
the high level
requirements of the proposed implemented methodology. This
agile view, Figure 4, also
served as a planning and progress "information radiator" (as per
the Crystal
methodology [4]), by highlighting the techniques that were
being introduced for a given
Stage of the Agile Project. Figure 4 shows the process road-map
at the time of writing this
paper. This includes a handful of techniques from the Project
Management / PRINCE 2
process (e.g. High Level Requirements, Project Brief, Authorise
Project/Stage, Stage Test
Plan and Stage Acceptance Testing) which serves to give further
context in the
developers’ view.
The STAg methodology process road-map captures the complete
suite of activities,
which were prioritised and implemented, mostly via pilot
projects incrementally. The
implementation of each activity included the creation of “cheat
sheet(s)” which are one
page summaries of each technique(s) employed with examples
of the output, and
templates where applicable. The effectiveness of the activities
introduced to date are
listed below in the order of implementation.
Figure 4: Snowden Technologies’ Agile (STAg) Process Road-
map
5 | P a g e
Technique
Priority
(Stage-
Wrk Pkg)
Number of: Effectiveness
Notes
Cheat
Sheets Templates
Quality Mgnt
Daily Brief 1-2 1 - Medium High Ideal communication
Reflection 1-2 1 1 Medium High Good for feedback and
morale
Code
Inspection
1-3 1 2 V. High Medium Immediate roll-out,
progress indicator
Code
Analysis
1-4 1 - High Low A high number of issues
initially
Check In 1-4 1 - Medium Low More of a “given”
Coding
Standards
1-4 2 2 Medium Low To ensure consistency
Estimation 1-5 2 1 Medium High Project and Stage
estimates using
Wideband Delphi
CUT
Complete
1-6 1 1 High High Ensures Code Insp, auto-
test, code analysis, etc
Test
Harness
2-1 1 1 V. High Medium Automated testing is
seen as a must
6. The People Side
The highest priority cause of development issues identified in
the initial brainstorming
session was "communication". Snowden’s main driver for
establishing clear
communication channels derived from the agile principle that
the focus should be on
"individuals and interactions over processes and tools" from the
Agile Manifesto [7]. As
such, two key aspects were focused on to improve the
communication:
1. All developers, project managers and domain experts were
involved throughout
the Agile Project. This includes working groups, feedback
sessions, training
sessions, weekly Tec meetings and "Seeds" roles within project
teams)
2. Agile techniques that actually facilitate (or at least prompt
for) focused
communications (e.g. JAD sessions, Work Package
prioritisation, design sessions,
code inspections, daily briefs and Domain Object Model
walkthrough) were
selected to form part of the STAg.
The implementation of this communication approach was
conducted in the Stage One
Work Package named "Communication", and its deliverables
included rollout of the Daily
Brief, Reflection meetings and Role Identification (including
the "Seed" role). Outlining
the project roles and their lines of communication through the
Role Identification
deliverable helped to reinforce each of the related activities.
The established project roles and their relationships are shown
in Figure 5, with the
grayed/italic roles proposed for later adoption.
6 | P a g e
After the initial roll-out of the techniques, a focus group was
established to help
facilitate the introduction and mentoring of subsequent
techniques across the three
development sites. This group was named the Technical
Operations Management Group
or “TOM Group”
7. Tools
Initially, there was a separate improvement project focused on
the primary
development tool set - Microsoft's Team Foundation Server
(TFS). It soon became
obvious that the process needed to be the primary focus and that
the tools needed to
support, automate and reinforce elements of this. As such, the
two improvement projects
were merged with the emphasis to integrate the applicable
process elements into the tools.
The following activities (from Figure 4) relate to the use of the
tools in the context of the
STAg methodology:
• Check In and Check Out
• Test Harness (automated) -
TFS has an NUnit style
automated test framework
• Code Analysis
• Code Coverage
• CUT Complete
• Continuous Integration
Build
• Email Notification of
Failure
• Nightly Build
• Weekly Build
Project
Manager
Technical
Coordinator
Team
Coordinator
Developer
Technical Writer
Configuration &
Build Coordinator
Architect
Chief
Architect
Developer Quality
Assurance
Manager
Quality
Assurance Officer
Divisional
Manager
End User
To
Divisional Manager
Shared Specialists
Internal Project TeamClient Project Team
To End User
Legend
Current
Role
Reports To
Communicates With
Communicates Heavily
To Architect
To Architect
To Domain Expert
Planned
Role
Quality Assurance
Domain Expert
Client Internal
Executive
Client Internal
Seed
Figure 5: Team Structure - Focused Roles/Responsibilities
Helped to Reinforce the Activities
Figure 6: CUT Complete Implemented as an
Extension to TFS
TFS provided Snowden the ability to modify
incorporating and reinforcing the
and Unit Test) implemented in Stage One
tools with consistency in naming conventions, tailored training,
etc to help reinforce the related
activities.
8. Lessons Learnt
In qualifying the lessons learnt for this paper, we have
Reflection on both the approach
the STAg methodology. As such, the "Keep/Problem/Try"
used to "reflect" on the lessons learnt:
8.1. Keep
8.1.1 Implementing Agile Techniques:
• Involvement of all developers,
experts are a must.
• Focus on the gradual introduction of techniques
4 weeks duration) and pilot
• Establish a clear "road
• Develop cheat sheets
example(s).
• Reflection sessions
• A clear (and simple) role definition to
identify resourcing
8.1.2 Applied Agile Techniques:
• Code Inspection -
and communication tool
quality of the code with minimal effort (we
found an additional
maintenance defects in the first month).
Figure 7: Automated Testing = TFS Test Harness + Naming
the ability to modify and extend its behavior, which proved
ideal for
incorporating and reinforcing the new STAg activities,
especially the “CUT complete” (Code
implemented in Stage One. Other elements simply required the
use of
tools with consistency in naming conventions, tailored training,
etc to help reinforce the related
In qualifying the lessons learnt for this paper, we have
effectively
on both the approach taken and the selection of agile techniques
. As such, the "Keep/Problem/Try" (from Crystal
used to "reflect" on the lessons learnt:
Agile Techniques:
Involvement of all developers, team leaders, project managers
are a must.
radual introduction of techniques - utilising Work Packages (
) and pilot projects.
lear "road-map" of the techniques - ideal information radiator
heat sheets - one page (A5) summary of each technique with
Reflection sessions - focused feedback every 4 to 6 weeks with
key staff
r (and simple) role definition to
resourcing short-falls.
Applied Agile Techniques:
- powerful peer review
and communication tool, that improves the
quality of the code with minimal effort (we
found an additional 387 run-time and 664
maintenance defects in the first month).
: Automated Testing = TFS Test Harness + Naming Convention
+ TFS Result Window
Figure 8: Summary of Some of the
Defects Found in Code Inspections
7 | P a g e
extend its behavior, which proved ideal for
STAg activities, especially the “CUT complete” (Code
ther elements simply required the use of in-built
tools with consistency in naming conventions, tailored training,
etc to help reinforce the related
effectively presented a
and the selection of agile techniques employed in
[4]) prompts are
project managers and domain
ork Packages (at 2-
ideal information radiator.
one page (A5) summary of each technique with
focused feedback every 4 to 6 weeks with key staff.
Convention + TFS Result Window
: Summary of Some of the
Defects Found in Code Inspections
8 | P a g e
• Automated build and test - specs the code and provides the
best form of
regression testing.
• Daily briefs – a vehicle for good communication!
• Work Packages - frequent closure on subset of scope - good
for team morale.
• Static Code Analysis – an integrated tool and process
providing easy
identification of code problems.
• Reflection sessions - positive reinforcement and adjustments
where required.
• CUT complete - tool integration and definitive statement of
quality and progress.
8.2. Problems (with some explanation)
• Communication and Scope Definition – The implementation of
the first Work
Package was delayed due to a misunderstanding of the business’
expectations of the
deliverables by the project team.
A couple of elements caused this situation:
a. There was no formal briefing or introduction to the projects’
expectations and
objectives within the team (there was no real "ownership” or
“big picture” view
of the project);
b. The project team did not have a clear understanding of the
scope of their
deliverables to be able to communicate effectively amongst each
other and with
other developers in the business.
This was resolved initially in the first Reflection session by
showing concrete
examples of what was required to be produced (templates, cheat
sheets, etc) and by
providing positive feedback on the direction. Getting closure on
the first work
packages from each project (which delivered the "road-map")
was also an effective
reinforcement of the intended approach. It still took an another
2-3 weeks before the
idea that the group was to actually define the scope of their
projects (drawing from
industry techniques and methodologies) - but when they did
then the true
"ownership" began.
• Information radiators – The use of Microsoft SharePoint and
pin-up boards as
information radiators were not as effective as we hoped. They
are still useful, but
the regular Tec meetings are by far the most effective forum to
share the
information and seek feedback. In addition, reflection sessions
complimented this
well. Ultimately, "face-to-face”, albeit involving video-
conferencing, is the best.
• Other offices – The understanding and up-take of techniques
in Snowden’s other
development offices were initially limited. Having only two
developers involved in
teleconferencing sessions and video recordings of in-house
training is now seen as
inadequate. One senior developer was involved in pilots, yet
due to location was
isolated when the sharing of knowledge was paramount. If the
"seeds" had been
identified and available for mentoring "face-to-face" the
techniques would have
rolled across offices easier.
• Alignment with management practices and tools - The
evolutionary development
style of iterative development (Work Packages being scoped and
planned every 2-3
weeks) was a difficult one for the Project Management planning
view to handle. A
compromise was developed that required the Work Packages to
be identified at the
start of the Stage for planning purposes (although this is not
considered agile). The
(re)prioritization of the later Work Packages would occur to
still give the
opportunity to ensure the focus is on the highest risk and most
important set of
features for the next Work Package.
9 | P a g e
There is concern that the initial Work Package allocation will
bias the subsequent
prioritization session and therefore lose some of the benefit of
this approach (but at
least the highest priority elements will still be in the initial
Work Packages at the
start of the Stage). There was also the alignment with the in-
house project
management system (SPI) and accounting systems through the
integration of
reporting requirements and mapping of Stages and Work
Packages to a relatively
restrictive (and fixed) structure.
8.3. Try
• Create a defined set of objectives for any improvement
program (at a Stage level)
• Establish more working groups – although a trade off, and we
see it still needs to be
selective, but we should (and will) have more working groups to
define and refine
particular techniques. This was done for the Coding Standards,
Code Inspection and
Estimation activities and worked well by getting a variety of
inputs and ownership.
• Ensure the "Seeds" are more involved in the working groups
as they need to "own"
and represent the techniques moving forward.
• Increase the communication and visibility to all developers on
the progress and
direction of the techniques being implemented.
• Establish a continuous improvement environment - this is
more an ethos and
openness to improve the way we work, but so long as we
maintain the Reflection
session (and follow through on the agreed actions) then this
should be sustainable.
• An exchange program between the team members. There were
a few visits by staff
from other offices which facilitated a much deeper exchange of
knowledge and
techniques as well as building up a stronger relationship.
9. Summary
Overall, the approach used so far in tailoring and introducing a
selection of agile
techniques has worked well. The most fundamental lesson learnt
has been to involve as
many of the “users” (developers, team leaders, etc) as possible
throughout the entire
improvement project. It's also been critical that it is done in
small, digestible slices (i.e.
Iterations / Work Packages) and to seek and give feedback all
the way through.
Having the target areas for improvement provided a clearer
view for the adoption of
particular agile and value add techniques. We selected the
techniques from a range of
industry agile methodologies, some common, some fairly
unique, but all of them to
improve our target areas. What has been selected and tailored to
date is working and
working well. Testimony to this is the very successful delivery
of the single and multi-
team projects that piloted the initial techniques:
“… it was a very successful trip… big smile on his face and
feeling very proud… [the
projects] were within 5% of the budget – both delivered on
time!”
Rayleen Riske, Project Manager and Geologist
The STAg diagram is a key information radiator providing an
ongoing reference point
for the context of our development activities on a given project
as well as identification of
further improvements we wish to incorporate.
The realization that the integration and alignment of our agile
software development
methodology with the project management methodology and
development tools was
important as the three perspectives need to complement each
other.
10 | P a g e
Not only have we established a "continuous improvement"
mindset, but we have
reinforced this through explicitly embedding feedback
mechanisms throughout the STAg
methodology itself.
10. Acknowledgements
The author’s would like to acknowledge the contributions of the
following colleagues
that have been and continue to be involved in the Agile Project
(in alphabetical order):
Jeffrey Alexander
Paul Fox
Peter Gibbes
Chris Gilbert
Mark Holst
Rayleen Riske
and all the developers, team leaders and project managers that
have been involved.
11. References
[1] K. Beck, eXtreme Programming Explained – Embrace
Change, 2
nd
Ed., Addison Wesley, 2004
[2] Advanced Development Methods Inc., “Controlled Chaos:
Living on the Edge”, 1996
[3] S. Palmer, and J. Felsing, A Practical Guide to Feature-
Driven Development, Prentice Hall, 2002
[4] A. Cockburn, Crystal Clear: A Human-Powered
Methodology for Small Teams, Addison Wesley, 2004
[5] DSDM Consortium and J. Stapleton, DSDM: Business
Focused Development, 2
nd
Ed., Addison Wesley, 2003
[6] J. Wood and D. Silver, Joint Application Development,
Wiley, 1995
[7] K. Beck, et al., “Manifesto for Agile Software
Development”, www.agilemanifesto.org , 2001

More Related Content

Similar to 1 P a g e Going Agile – A Case Study Dwayne .docx

Fixed Price Distributed Agile Projects
Fixed Price Distributed Agile ProjectsFixed Price Distributed Agile Projects
Fixed Price Distributed Agile ProjectsRaja Bavani
 
Lightweight Processes: A Definition
Lightweight Processes: A DefinitionLightweight Processes: A Definition
Lightweight Processes: A DefinitionGlen Alleman
 
Guidelines to minimize the cost of software quality in agile scrum process
Guidelines to minimize the cost of software quality in agile scrum processGuidelines to minimize the cost of software quality in agile scrum process
Guidelines to minimize the cost of software quality in agile scrum processijseajournal
 
Methodology Framework
Methodology FrameworkMethodology Framework
Methodology FrameworkBob Sanders
 
CH02_Software_development_life_cycle (1).pptx
CH02_Software_development_life_cycle (1).pptxCH02_Software_development_life_cycle (1).pptx
CH02_Software_development_life_cycle (1).pptxKhcThKhnhHuyn1T20ACN
 
Agile Development unleashed
Agile Development unleashedAgile Development unleashed
Agile Development unleashedlivgeni
 
A Survey Of Agile Development Methodologies
A Survey Of Agile Development MethodologiesA Survey Of Agile Development Methodologies
A Survey Of Agile Development MethodologiesAbdul Basit
 
Factors Influencing the Efficacy of Agile Usage
Factors Influencing the Efficacy of Agile UsageFactors Influencing the Efficacy of Agile Usage
Factors Influencing the Efficacy of Agile UsageDr. Amarjeet Singh
 
System Development Overview Assignment 3
System Development Overview Assignment 3System Development Overview Assignment 3
System Development Overview Assignment 3Ashley Fisher
 
Software Development Life Cycle: Traditional and Agile- A Comparative Study
Software Development Life Cycle: Traditional and Agile- A Comparative StudySoftware Development Life Cycle: Traditional and Agile- A Comparative Study
Software Development Life Cycle: Traditional and Agile- A Comparative Studyijsrd.com
 
Lean as Agile methodology – A Study
Lean as Agile methodology – A StudyLean as Agile methodology – A Study
Lean as Agile methodology – A StudyEswar Publications
 
Software Process in software engineering
Software Process in software engineeringSoftware Process in software engineering
Software Process in software engineeringMuhammadTalha436
 
Difference Unified Processes
Difference Unified ProcessesDifference Unified Processes
Difference Unified ProcessesHARKUL
 
A sustainable procedural method of software design process improvements
A sustainable procedural method of software design process improvementsA sustainable procedural method of software design process improvements
A sustainable procedural method of software design process improvementsnooriasukmaningtyas
 

Similar to 1 P a g e Going Agile – A Case Study Dwayne .docx (20)

Fixed Price Distributed Agile Projects
Fixed Price Distributed Agile ProjectsFixed Price Distributed Agile Projects
Fixed Price Distributed Agile Projects
 
Hp2413471352
Hp2413471352Hp2413471352
Hp2413471352
 
Lightweight Processes: A Definition
Lightweight Processes: A DefinitionLightweight Processes: A Definition
Lightweight Processes: A Definition
 
Harvinder Singh-Resume
Harvinder Singh-ResumeHarvinder Singh-Resume
Harvinder Singh-Resume
 
Guidelines to minimize the cost of software quality in agile scrum process
Guidelines to minimize the cost of software quality in agile scrum processGuidelines to minimize the cost of software quality in agile scrum process
Guidelines to minimize the cost of software quality in agile scrum process
 
Methodology Framework
Methodology FrameworkMethodology Framework
Methodology Framework
 
Web Testing
Web TestingWeb Testing
Web Testing
 
CH02_Software_development_life_cycle (1).pptx
CH02_Software_development_life_cycle (1).pptxCH02_Software_development_life_cycle (1).pptx
CH02_Software_development_life_cycle (1).pptx
 
Agile Development unleashed
Agile Development unleashedAgile Development unleashed
Agile Development unleashed
 
A Survey Of Agile Development Methodologies
A Survey Of Agile Development MethodologiesA Survey Of Agile Development Methodologies
A Survey Of Agile Development Methodologies
 
Factors Influencing the Efficacy of Agile Usage
Factors Influencing the Efficacy of Agile UsageFactors Influencing the Efficacy of Agile Usage
Factors Influencing the Efficacy of Agile Usage
 
System Development Overview Assignment 3
System Development Overview Assignment 3System Development Overview Assignment 3
System Development Overview Assignment 3
 
Software Development Life Cycle: Traditional and Agile- A Comparative Study
Software Development Life Cycle: Traditional and Agile- A Comparative StudySoftware Development Life Cycle: Traditional and Agile- A Comparative Study
Software Development Life Cycle: Traditional and Agile- A Comparative Study
 
Process Models IN software Engineering
Process Models IN software EngineeringProcess Models IN software Engineering
Process Models IN software Engineering
 
Aup
AupAup
Aup
 
Lean as Agile methodology – A Study
Lean as Agile methodology – A StudyLean as Agile methodology – A Study
Lean as Agile methodology – A Study
 
Software Process in software engineering
Software Process in software engineeringSoftware Process in software engineering
Software Process in software engineering
 
Prasanth_Pendam_QA_9.5 Years
Prasanth_Pendam_QA_9.5 YearsPrasanth_Pendam_QA_9.5 Years
Prasanth_Pendam_QA_9.5 Years
 
Difference Unified Processes
Difference Unified ProcessesDifference Unified Processes
Difference Unified Processes
 
A sustainable procedural method of software design process improvements
A sustainable procedural method of software design process improvementsA sustainable procedural method of software design process improvements
A sustainable procedural method of software design process improvements
 

More from honey725342

NRS-493 Individual Success PlanREQUIRED PRACTICE HOURS 100 Direct.docx
NRS-493 Individual Success PlanREQUIRED PRACTICE HOURS 100 Direct.docxNRS-493 Individual Success PlanREQUIRED PRACTICE HOURS 100 Direct.docx
NRS-493 Individual Success PlanREQUIRED PRACTICE HOURS 100 Direct.docxhoney725342
 
Now the Earth has had wide variations in atmospheric CO2-level throu.docx
Now the Earth has had wide variations in atmospheric CO2-level throu.docxNow the Earth has had wide variations in atmospheric CO2-level throu.docx
Now the Earth has had wide variations in atmospheric CO2-level throu.docxhoney725342
 
NR224 Fundamentals SkillsTopic Safety Goals BOOK P.docx
NR224 Fundamentals SkillsTopic Safety Goals BOOK P.docxNR224 Fundamentals SkillsTopic Safety Goals BOOK P.docx
NR224 Fundamentals SkillsTopic Safety Goals BOOK P.docxhoney725342
 
Nurse Education Today 87 (2020) 104348Contents lists avail.docx
Nurse Education Today 87 (2020) 104348Contents lists avail.docxNurse Education Today 87 (2020) 104348Contents lists avail.docx
Nurse Education Today 87 (2020) 104348Contents lists avail.docxhoney725342
 
Now that you’ve seen all of the elements contributing to the Devil’s.docx
Now that you’ve seen all of the elements contributing to the Devil’s.docxNow that you’ve seen all of the elements contributing to the Devil’s.docx
Now that you’ve seen all of the elements contributing to the Devil’s.docxhoney725342
 
NR360 We Can But Dare We.docx Revised 5 ‐ 9 .docx
NR360   We   Can   But   Dare   We.docx   Revised   5 ‐ 9 .docxNR360   We   Can   But   Dare   We.docx   Revised   5 ‐ 9 .docx
NR360 We Can But Dare We.docx Revised 5 ‐ 9 .docxhoney725342
 
Nurse Practitioner Diagnosis- Chest Pain.SOAPS-Subjective.docx
Nurse Practitioner Diagnosis- Chest Pain.SOAPS-Subjective.docxNurse Practitioner Diagnosis- Chest Pain.SOAPS-Subjective.docx
Nurse Practitioner Diagnosis- Chest Pain.SOAPS-Subjective.docxhoney725342
 
NURS 6002 Foundations of Graduate StudyAcademic and P.docx
NURS 6002 Foundations of Graduate StudyAcademic and P.docxNURS 6002 Foundations of Graduate StudyAcademic and P.docx
NURS 6002 Foundations of Graduate StudyAcademic and P.docxhoney725342
 
Nurse workforce shortage are predicted to get worse as baby boomers .docx
Nurse workforce shortage are predicted to get worse as baby boomers .docxNurse workforce shortage are predicted to get worse as baby boomers .docx
Nurse workforce shortage are predicted to get worse as baby boomers .docxhoney725342
 
Now, for the exam itself. Below are 4 questions. You need to answer .docx
Now, for the exam itself. Below are 4 questions. You need to answer .docxNow, for the exam itself. Below are 4 questions. You need to answer .docx
Now, for the exam itself. Below are 4 questions. You need to answer .docxhoney725342
 
Nur-501-AP4- Philosophical and Theoretical Evidence-Based research.docx
Nur-501-AP4- Philosophical and Theoretical Evidence-Based research.docxNur-501-AP4- Philosophical and Theoretical Evidence-Based research.docx
Nur-501-AP4- Philosophical and Theoretical Evidence-Based research.docxhoney725342
 
NU32CH19-Foltz ARI 9 July 2012 1945Population-Level Inter.docx
NU32CH19-Foltz ARI 9 July 2012 1945Population-Level Inter.docxNU32CH19-Foltz ARI 9 July 2012 1945Population-Level Inter.docx
NU32CH19-Foltz ARI 9 July 2012 1945Population-Level Inter.docxhoney725342
 
Nurse Working in the CommunityDescribe the community nurses.docx
Nurse Working in the CommunityDescribe the community nurses.docxNurse Working in the CommunityDescribe the community nurses.docx
Nurse Working in the CommunityDescribe the community nurses.docxhoney725342
 
nursing diagnosis1. Decreased Cardiac Output  related to Alter.docx
nursing diagnosis1. Decreased Cardiac Output  related to Alter.docxnursing diagnosis1. Decreased Cardiac Output  related to Alter.docx
nursing diagnosis1. Decreased Cardiac Output  related to Alter.docxhoney725342
 
Nursing Documentation Is it valuable Discuss the value of nursin.docx
Nursing Documentation Is it valuable Discuss the value of nursin.docxNursing Documentation Is it valuable Discuss the value of nursin.docx
Nursing Documentation Is it valuable Discuss the value of nursin.docxhoney725342
 
NR631 Concluding Graduate Experience - Scope Project Managemen.docx
NR631 Concluding Graduate Experience - Scope  Project Managemen.docxNR631 Concluding Graduate Experience - Scope  Project Managemen.docx
NR631 Concluding Graduate Experience - Scope Project Managemen.docxhoney725342
 
Number 11. Describe at least five populations who are vulner.docx
Number 11. Describe at least five populations who are vulner.docxNumber 11. Describe at least five populations who are vulner.docx
Number 11. Describe at least five populations who are vulner.docxhoney725342
 
ntertainment, the media, and sometimes public leaders can perpetuate.docx
ntertainment, the media, and sometimes public leaders can perpetuate.docxntertainment, the media, and sometimes public leaders can perpetuate.docx
ntertainment, the media, and sometimes public leaders can perpetuate.docxhoney725342
 
Now that you have  completed Lesson 23 & 24 and have thought a.docx
Now that you have  completed Lesson 23 & 24 and have thought a.docxNow that you have  completed Lesson 23 & 24 and have thought a.docx
Now that you have  completed Lesson 23 & 24 and have thought a.docxhoney725342
 
nothing wrong with the paper, my professor just wants it to be in an.docx
nothing wrong with the paper, my professor just wants it to be in an.docxnothing wrong with the paper, my professor just wants it to be in an.docx
nothing wrong with the paper, my professor just wants it to be in an.docxhoney725342
 

More from honey725342 (20)

NRS-493 Individual Success PlanREQUIRED PRACTICE HOURS 100 Direct.docx
NRS-493 Individual Success PlanREQUIRED PRACTICE HOURS 100 Direct.docxNRS-493 Individual Success PlanREQUIRED PRACTICE HOURS 100 Direct.docx
NRS-493 Individual Success PlanREQUIRED PRACTICE HOURS 100 Direct.docx
 
Now the Earth has had wide variations in atmospheric CO2-level throu.docx
Now the Earth has had wide variations in atmospheric CO2-level throu.docxNow the Earth has had wide variations in atmospheric CO2-level throu.docx
Now the Earth has had wide variations in atmospheric CO2-level throu.docx
 
NR224 Fundamentals SkillsTopic Safety Goals BOOK P.docx
NR224 Fundamentals SkillsTopic Safety Goals BOOK P.docxNR224 Fundamentals SkillsTopic Safety Goals BOOK P.docx
NR224 Fundamentals SkillsTopic Safety Goals BOOK P.docx
 
Nurse Education Today 87 (2020) 104348Contents lists avail.docx
Nurse Education Today 87 (2020) 104348Contents lists avail.docxNurse Education Today 87 (2020) 104348Contents lists avail.docx
Nurse Education Today 87 (2020) 104348Contents lists avail.docx
 
Now that you’ve seen all of the elements contributing to the Devil’s.docx
Now that you’ve seen all of the elements contributing to the Devil’s.docxNow that you’ve seen all of the elements contributing to the Devil’s.docx
Now that you’ve seen all of the elements contributing to the Devil’s.docx
 
NR360 We Can But Dare We.docx Revised 5 ‐ 9 .docx
NR360   We   Can   But   Dare   We.docx   Revised   5 ‐ 9 .docxNR360   We   Can   But   Dare   We.docx   Revised   5 ‐ 9 .docx
NR360 We Can But Dare We.docx Revised 5 ‐ 9 .docx
 
Nurse Practitioner Diagnosis- Chest Pain.SOAPS-Subjective.docx
Nurse Practitioner Diagnosis- Chest Pain.SOAPS-Subjective.docxNurse Practitioner Diagnosis- Chest Pain.SOAPS-Subjective.docx
Nurse Practitioner Diagnosis- Chest Pain.SOAPS-Subjective.docx
 
NURS 6002 Foundations of Graduate StudyAcademic and P.docx
NURS 6002 Foundations of Graduate StudyAcademic and P.docxNURS 6002 Foundations of Graduate StudyAcademic and P.docx
NURS 6002 Foundations of Graduate StudyAcademic and P.docx
 
Nurse workforce shortage are predicted to get worse as baby boomers .docx
Nurse workforce shortage are predicted to get worse as baby boomers .docxNurse workforce shortage are predicted to get worse as baby boomers .docx
Nurse workforce shortage are predicted to get worse as baby boomers .docx
 
Now, for the exam itself. Below are 4 questions. You need to answer .docx
Now, for the exam itself. Below are 4 questions. You need to answer .docxNow, for the exam itself. Below are 4 questions. You need to answer .docx
Now, for the exam itself. Below are 4 questions. You need to answer .docx
 
Nur-501-AP4- Philosophical and Theoretical Evidence-Based research.docx
Nur-501-AP4- Philosophical and Theoretical Evidence-Based research.docxNur-501-AP4- Philosophical and Theoretical Evidence-Based research.docx
Nur-501-AP4- Philosophical and Theoretical Evidence-Based research.docx
 
NU32CH19-Foltz ARI 9 July 2012 1945Population-Level Inter.docx
NU32CH19-Foltz ARI 9 July 2012 1945Population-Level Inter.docxNU32CH19-Foltz ARI 9 July 2012 1945Population-Level Inter.docx
NU32CH19-Foltz ARI 9 July 2012 1945Population-Level Inter.docx
 
Nurse Working in the CommunityDescribe the community nurses.docx
Nurse Working in the CommunityDescribe the community nurses.docxNurse Working in the CommunityDescribe the community nurses.docx
Nurse Working in the CommunityDescribe the community nurses.docx
 
nursing diagnosis1. Decreased Cardiac Output  related to Alter.docx
nursing diagnosis1. Decreased Cardiac Output  related to Alter.docxnursing diagnosis1. Decreased Cardiac Output  related to Alter.docx
nursing diagnosis1. Decreased Cardiac Output  related to Alter.docx
 
Nursing Documentation Is it valuable Discuss the value of nursin.docx
Nursing Documentation Is it valuable Discuss the value of nursin.docxNursing Documentation Is it valuable Discuss the value of nursin.docx
Nursing Documentation Is it valuable Discuss the value of nursin.docx
 
NR631 Concluding Graduate Experience - Scope Project Managemen.docx
NR631 Concluding Graduate Experience - Scope  Project Managemen.docxNR631 Concluding Graduate Experience - Scope  Project Managemen.docx
NR631 Concluding Graduate Experience - Scope Project Managemen.docx
 
Number 11. Describe at least five populations who are vulner.docx
Number 11. Describe at least five populations who are vulner.docxNumber 11. Describe at least five populations who are vulner.docx
Number 11. Describe at least five populations who are vulner.docx
 
ntertainment, the media, and sometimes public leaders can perpetuate.docx
ntertainment, the media, and sometimes public leaders can perpetuate.docxntertainment, the media, and sometimes public leaders can perpetuate.docx
ntertainment, the media, and sometimes public leaders can perpetuate.docx
 
Now that you have  completed Lesson 23 & 24 and have thought a.docx
Now that you have  completed Lesson 23 & 24 and have thought a.docxNow that you have  completed Lesson 23 & 24 and have thought a.docx
Now that you have  completed Lesson 23 & 24 and have thought a.docx
 
nothing wrong with the paper, my professor just wants it to be in an.docx
nothing wrong with the paper, my professor just wants it to be in an.docxnothing wrong with the paper, my professor just wants it to be in an.docx
nothing wrong with the paper, my professor just wants it to be in an.docx
 

Recently uploaded

Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docxPoojaSen20
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 

Recently uploaded (20)

Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docx
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 

1 P a g e Going Agile – A Case Study Dwayne .docx

  • 1. 1 | P a g e Going Agile – A Case Study Dwayne Read Software Process Consultant Strategic Systems [email protected] Grey Properjohn Systems Analyst Snowden Technologies [email protected] Abstract This case study examines the approach undertaken by Snowden Technologies in adopting a range of agile techniques into their product and custom software solutions for the mining
  • 2. industry. The catalyst to adopt various agile techniques stemmed from the growth of the development team (30+) and the need to further integrate the development activities across multiple offices. This required a clearer and more consistent approach to the software development process. Snowden Technologies involved the users (Developers, Project Managers, Team Leaders, Geologists, etc) upfront and proritised the project’s scope resulting in the selection of specific techniques from a range of agile methodologies (XP, FDD, Scrum, Crystal, DSDM, RAD/JAD). Implementation of the techniques paralleled various agile principles through the use of scoped releases, development iterations and feedback through regular reflections. The selected agile techniques (e.g. iterative development, Domain Object Models, code inspection, automated testing) were incorporated into a consistent software process with various “value add” techniques (e.g. CUT complete, code coverage, code analysis) that integrated with the
  • 3. development tools. The key lessons learnt from the this approach were that to incrementally introduce agile techniques was very effective; embedding the process elements into the development tools helped to reinforce the techniques; and it proved that the agile techniques and PRINCE 2 for project management could be customised to collaborate into an effective solution. The latter required some compromises from the “pure” agile view such as to allow a project schedule to define all Work Packages (Iterations) at the start of each Stage (Releases). 1. Keywords Agile, methodology, software process, change management, project management, brain- storming, reflection, iterative development, JAD, Domain Object Model, architecture, code inspection, automated testing, Team Foundation Server, TFS, PRINCE 2. 2. Background
  • 4. Snowden Technologies is a division of the Snowden Group that provides global consultancy services and software solutions to the mining industry, and has a development capacity of over thirty developers located in Perth (head office), Brisbane and Johannesburg. The reliance on delivering quality software solutions to its clients has continued to increase over recent years to the point that being able to rapidly respond to the needs and unique/specific requirements of clients is a critical success factor to the business. 2 | P a g e 3. Motivation to Go Agile The driving force to initiate and implement the new agile techniques originated from expansion of Snowden’s development capacity which presented the necessity for a clearer defined and (multi) team oriented approach to its software development activities. Key areas identified by Snowden developers and managers that were targeted as part of this approach
  • 5. were: 1. Specification and scope definition 2. Estimation (essentially reducing the non-billable hours) 3. Minimising defects and instigating code quality reporting 4. Establishing standard and consistent practices across teams and offices 5. Improving system deployment and build processes 6. Providing feedback mechanisms (within and across teams) 7. Initiating mentoring programs (sharing skill sets) The need to address these key software development areas were being compounded by the ongoing growth of the team (in a time of very competitive recruitment) and the need to improve the Project Management process. Four separate improvement projects had been identified by the business as focus areas, one of which was the Agile Project (the other three were Project Management (PRINCE 2), SPI (the Snowden Project Index reporting tool), and Team Foundation Server (TFS)). The intention was that the Agile Project would be able to address the majority of the identified
  • 6. key areas by selecting and tailoring the techniques from a range of industry proven agile methodologies. The techniques would define the "Snowden Technologies Agile" methodology, herein referred to as STAg. 4. Approach The starting point was a brainstorming session (based on the typical Cause-Effect diagram technique) conducted with all developers to examine the causes behind the identified problems. As a facilitated brainstorming session, all participants contributed their ideas, of which, 99 tentative causes were identified in the session. The "top 10" causes were then examined in more detail in terms of the impact, influence, cost, effort and duration.
  • 7. Figure 1: Brainstorming Output with Highest Priority Causes Highlighted 3 | P a g e From this, a prioritised list of the "top 10" was determined and the higher priority items became the basis of the selection of the agile techniques (from the likes of eXtreme Programming (XP) [1], Scrum [2], FDD [3], Crystal [4], DSDM [5] and even RAD/JAD [6]). Project teams were formed for all four improvement projects, with the Agile and TFS project teams merging within the first month due to the overlap of process and tool. There was a total of four staff involved in the Agile Project (one lead ~50% to 80% of his time, and 3 "consulting" staff, one being an external agile consultant). Consistency of concepts and terminology between the Agile Project and the Project Management/PRINCE 2 project was deemed important to ensure a clear message was
  • 8. communicated to all. As such, close and regular communication between the projects (with two individuals common to both) was ensured. As a result, the Agile Project used the PM/PRINCE 2 concept and terminology for "Stages" (Releases from XP [1]) and “Work Packages” (Iterations from XP). Following the Agile principle [7] of "satisfy the customer through early and continuous delivery" (plus wanting to avoid any "big bang") the definition, templating and training of techniques were undertaken as (2-4 week) Work Packages (Iterations), with introduction of these techniques primarily undertaken through pilot projects. This was the vehicle to trial the selected techniques and mentor the handful of developers and team leads involved, who eventually would become "seeds" of this knowledge in the next project they worked on. Some techniques (such as code inspection) were rolled out across all active developments using in-house workshops, where the immediate benefits were more obvious. Several in-house
  • 9. training sessions were also conducted to provide the developers with overviews of the "Best of Agile" techniques (including a customised version for Snowden’s other development offices), plus an overview of automated build and test processes that formed part of the second stage of STAg Following the agile principle [7] of "business people and developer must work together", working groups of 3-5 employees were used for various techniques to ensure that a suitable cross-section of inputs and ideas were brought together. There were working groups for the Code Inspection, Coding Standards and Estimation. Focused feedback from the pilot project team members was sought, via
  • 10. Figure 2: Stages and Work Packages Define the Fundamental Scope and Schedule Controls (other activities are derived from the PRINCE 2 Project Management methodology) Figure 3: Reflection Sessions Proved Useful to Adjust the Direction and for Positive Reinforcement 4 | P a g e Reflection workshops, on a monthly basis, with global feedback from all developers sought via the weekly Tec meeting with the Agile Project as an agenda item, and also through direct communications with the Agile Project team members. These feedback mechanisms were the start of establishing a continuous improvement philosophy. 5. Process Flow A "road-map" of the development process showing the relationship of the selected techniques was produced in the first Work Package for the project. This is seen as the equivalent of the "logical architecture" model and also captures the high level
  • 11. requirements of the proposed implemented methodology. This agile view, Figure 4, also served as a planning and progress "information radiator" (as per the Crystal methodology [4]), by highlighting the techniques that were being introduced for a given Stage of the Agile Project. Figure 4 shows the process road-map at the time of writing this paper. This includes a handful of techniques from the Project Management / PRINCE 2 process (e.g. High Level Requirements, Project Brief, Authorise Project/Stage, Stage Test Plan and Stage Acceptance Testing) which serves to give further context in the developers’ view.
  • 12. The STAg methodology process road-map captures the complete suite of activities, which were prioritised and implemented, mostly via pilot projects incrementally. The implementation of each activity included the creation of “cheat sheet(s)” which are one page summaries of each technique(s) employed with examples of the output, and templates where applicable. The effectiveness of the activities introduced to date are listed below in the order of implementation. Figure 4: Snowden Technologies’ Agile (STAg) Process Road- map 5 | P a g e Technique Priority
  • 13. (Stage- Wrk Pkg) Number of: Effectiveness Notes Cheat Sheets Templates Quality Mgnt Daily Brief 1-2 1 - Medium High Ideal communication Reflection 1-2 1 1 Medium High Good for feedback and morale Code Inspection 1-3 1 2 V. High Medium Immediate roll-out, progress indicator Code Analysis 1-4 1 - High Low A high number of issues initially Check In 1-4 1 - Medium Low More of a “given”
  • 14. Coding Standards 1-4 2 2 Medium Low To ensure consistency Estimation 1-5 2 1 Medium High Project and Stage estimates using Wideband Delphi CUT Complete 1-6 1 1 High High Ensures Code Insp, auto- test, code analysis, etc Test Harness 2-1 1 1 V. High Medium Automated testing is seen as a must 6. The People Side The highest priority cause of development issues identified in the initial brainstorming session was "communication". Snowden’s main driver for establishing clear
  • 15. communication channels derived from the agile principle that the focus should be on "individuals and interactions over processes and tools" from the Agile Manifesto [7]. As such, two key aspects were focused on to improve the communication: 1. All developers, project managers and domain experts were involved throughout the Agile Project. This includes working groups, feedback sessions, training sessions, weekly Tec meetings and "Seeds" roles within project teams) 2. Agile techniques that actually facilitate (or at least prompt for) focused communications (e.g. JAD sessions, Work Package prioritisation, design sessions, code inspections, daily briefs and Domain Object Model walkthrough) were selected to form part of the STAg. The implementation of this communication approach was conducted in the Stage One Work Package named "Communication", and its deliverables included rollout of the Daily Brief, Reflection meetings and Role Identification (including the "Seed" role). Outlining
  • 16. the project roles and their lines of communication through the Role Identification deliverable helped to reinforce each of the related activities. The established project roles and their relationships are shown in Figure 5, with the grayed/italic roles proposed for later adoption. 6 | P a g e
  • 17. After the initial roll-out of the techniques, a focus group was established to help facilitate the introduction and mentoring of subsequent techniques across the three development sites. This group was named the Technical Operations Management Group or “TOM Group” 7. Tools Initially, there was a separate improvement project focused on the primary development tool set - Microsoft's Team Foundation Server (TFS). It soon became obvious that the process needed to be the primary focus and that the tools needed to support, automate and reinforce elements of this. As such, the two improvement projects were merged with the emphasis to integrate the applicable process elements into the tools. The following activities (from Figure 4) relate to the use of the tools in the context of the STAg methodology: • Check In and Check Out
  • 18. • Test Harness (automated) - TFS has an NUnit style automated test framework • Code Analysis • Code Coverage • CUT Complete • Continuous Integration Build • Email Notification of Failure • Nightly Build • Weekly Build Project Manager Technical Coordinator Team Coordinator Developer Technical Writer Configuration &
  • 19. Build Coordinator Architect Chief Architect Developer Quality Assurance Manager Quality Assurance Officer Divisional Manager End User To Divisional Manager Shared Specialists Internal Project TeamClient Project Team To End User Legend Current Role
  • 20. Reports To Communicates With Communicates Heavily To Architect To Architect To Domain Expert Planned Role Quality Assurance Domain Expert Client Internal Executive Client Internal Seed Figure 5: Team Structure - Focused Roles/Responsibilities Helped to Reinforce the Activities Figure 6: CUT Complete Implemented as an Extension to TFS
  • 21. TFS provided Snowden the ability to modify incorporating and reinforcing the and Unit Test) implemented in Stage One tools with consistency in naming conventions, tailored training, etc to help reinforce the related activities. 8. Lessons Learnt In qualifying the lessons learnt for this paper, we have Reflection on both the approach the STAg methodology. As such, the "Keep/Problem/Try" used to "reflect" on the lessons learnt: 8.1. Keep
  • 22. 8.1.1 Implementing Agile Techniques: • Involvement of all developers, experts are a must. • Focus on the gradual introduction of techniques 4 weeks duration) and pilot • Establish a clear "road • Develop cheat sheets example(s). • Reflection sessions • A clear (and simple) role definition to identify resourcing 8.1.2 Applied Agile Techniques: • Code Inspection - and communication tool quality of the code with minimal effort (we found an additional maintenance defects in the first month). Figure 7: Automated Testing = TFS Test Harness + Naming the ability to modify and extend its behavior, which proved ideal for incorporating and reinforcing the new STAg activities, especially the “CUT complete” (Code
  • 23. implemented in Stage One. Other elements simply required the use of tools with consistency in naming conventions, tailored training, etc to help reinforce the related In qualifying the lessons learnt for this paper, we have effectively on both the approach taken and the selection of agile techniques . As such, the "Keep/Problem/Try" (from Crystal used to "reflect" on the lessons learnt: Agile Techniques: Involvement of all developers, team leaders, project managers are a must. radual introduction of techniques - utilising Work Packages ( ) and pilot projects. lear "road-map" of the techniques - ideal information radiator heat sheets - one page (A5) summary of each technique with Reflection sessions - focused feedback every 4 to 6 weeks with key staff r (and simple) role definition to resourcing short-falls.
  • 24. Applied Agile Techniques: - powerful peer review and communication tool, that improves the quality of the code with minimal effort (we found an additional 387 run-time and 664 maintenance defects in the first month). : Automated Testing = TFS Test Harness + Naming Convention + TFS Result Window Figure 8: Summary of Some of the Defects Found in Code Inspections 7 | P a g e extend its behavior, which proved ideal for STAg activities, especially the “CUT complete” (Code ther elements simply required the use of in-built tools with consistency in naming conventions, tailored training, etc to help reinforce the related effectively presented a and the selection of agile techniques employed in [4]) prompts are
  • 25. project managers and domain ork Packages (at 2- ideal information radiator. one page (A5) summary of each technique with focused feedback every 4 to 6 weeks with key staff. Convention + TFS Result Window : Summary of Some of the Defects Found in Code Inspections 8 | P a g e • Automated build and test - specs the code and provides the best form of regression testing. • Daily briefs – a vehicle for good communication! • Work Packages - frequent closure on subset of scope - good for team morale. • Static Code Analysis – an integrated tool and process providing easy identification of code problems. • Reflection sessions - positive reinforcement and adjustments
  • 26. where required. • CUT complete - tool integration and definitive statement of quality and progress. 8.2. Problems (with some explanation) • Communication and Scope Definition – The implementation of the first Work Package was delayed due to a misunderstanding of the business’ expectations of the deliverables by the project team. A couple of elements caused this situation: a. There was no formal briefing or introduction to the projects’ expectations and objectives within the team (there was no real "ownership” or “big picture” view of the project); b. The project team did not have a clear understanding of the scope of their deliverables to be able to communicate effectively amongst each other and with other developers in the business. This was resolved initially in the first Reflection session by showing concrete examples of what was required to be produced (templates, cheat
  • 27. sheets, etc) and by providing positive feedback on the direction. Getting closure on the first work packages from each project (which delivered the "road-map") was also an effective reinforcement of the intended approach. It still took an another 2-3 weeks before the idea that the group was to actually define the scope of their projects (drawing from industry techniques and methodologies) - but when they did then the true "ownership" began. • Information radiators – The use of Microsoft SharePoint and pin-up boards as information radiators were not as effective as we hoped. They are still useful, but the regular Tec meetings are by far the most effective forum to share the information and seek feedback. In addition, reflection sessions complimented this well. Ultimately, "face-to-face”, albeit involving video- conferencing, is the best. • Other offices – The understanding and up-take of techniques in Snowden’s other development offices were initially limited. Having only two
  • 28. developers involved in teleconferencing sessions and video recordings of in-house training is now seen as inadequate. One senior developer was involved in pilots, yet due to location was isolated when the sharing of knowledge was paramount. If the "seeds" had been identified and available for mentoring "face-to-face" the techniques would have rolled across offices easier. • Alignment with management practices and tools - The evolutionary development style of iterative development (Work Packages being scoped and planned every 2-3 weeks) was a difficult one for the Project Management planning view to handle. A compromise was developed that required the Work Packages to be identified at the start of the Stage for planning purposes (although this is not considered agile). The (re)prioritization of the later Work Packages would occur to still give the opportunity to ensure the focus is on the highest risk and most important set of
  • 29. features for the next Work Package. 9 | P a g e There is concern that the initial Work Package allocation will bias the subsequent prioritization session and therefore lose some of the benefit of this approach (but at least the highest priority elements will still be in the initial Work Packages at the start of the Stage). There was also the alignment with the in- house project management system (SPI) and accounting systems through the integration of reporting requirements and mapping of Stages and Work Packages to a relatively restrictive (and fixed) structure. 8.3. Try • Create a defined set of objectives for any improvement program (at a Stage level) • Establish more working groups – although a trade off, and we see it still needs to be selective, but we should (and will) have more working groups to define and refine
  • 30. particular techniques. This was done for the Coding Standards, Code Inspection and Estimation activities and worked well by getting a variety of inputs and ownership. • Ensure the "Seeds" are more involved in the working groups as they need to "own" and represent the techniques moving forward. • Increase the communication and visibility to all developers on the progress and direction of the techniques being implemented. • Establish a continuous improvement environment - this is more an ethos and openness to improve the way we work, but so long as we maintain the Reflection session (and follow through on the agreed actions) then this should be sustainable. • An exchange program between the team members. There were a few visits by staff from other offices which facilitated a much deeper exchange of knowledge and techniques as well as building up a stronger relationship. 9. Summary Overall, the approach used so far in tailoring and introducing a selection of agile techniques has worked well. The most fundamental lesson learnt
  • 31. has been to involve as many of the “users” (developers, team leaders, etc) as possible throughout the entire improvement project. It's also been critical that it is done in small, digestible slices (i.e. Iterations / Work Packages) and to seek and give feedback all the way through. Having the target areas for improvement provided a clearer view for the adoption of particular agile and value add techniques. We selected the techniques from a range of industry agile methodologies, some common, some fairly unique, but all of them to improve our target areas. What has been selected and tailored to date is working and working well. Testimony to this is the very successful delivery of the single and multi- team projects that piloted the initial techniques: “… it was a very successful trip… big smile on his face and feeling very proud… [the projects] were within 5% of the budget – both delivered on time!” Rayleen Riske, Project Manager and Geologist
  • 32. The STAg diagram is a key information radiator providing an ongoing reference point for the context of our development activities on a given project as well as identification of further improvements we wish to incorporate. The realization that the integration and alignment of our agile software development methodology with the project management methodology and development tools was important as the three perspectives need to complement each other. 10 | P a g e Not only have we established a "continuous improvement" mindset, but we have reinforced this through explicitly embedding feedback mechanisms throughout the STAg methodology itself. 10. Acknowledgements The author’s would like to acknowledge the contributions of the following colleagues that have been and continue to be involved in the Agile Project
  • 33. (in alphabetical order): Jeffrey Alexander Paul Fox Peter Gibbes Chris Gilbert Mark Holst Rayleen Riske and all the developers, team leaders and project managers that have been involved. 11. References [1] K. Beck, eXtreme Programming Explained – Embrace Change, 2 nd Ed., Addison Wesley, 2004 [2] Advanced Development Methods Inc., “Controlled Chaos: Living on the Edge”, 1996 [3] S. Palmer, and J. Felsing, A Practical Guide to Feature- Driven Development, Prentice Hall, 2002 [4] A. Cockburn, Crystal Clear: A Human-Powered Methodology for Small Teams, Addison Wesley, 2004 [5] DSDM Consortium and J. Stapleton, DSDM: Business Focused Development, 2 nd
  • 34. Ed., Addison Wesley, 2003 [6] J. Wood and D. Silver, Joint Application Development, Wiley, 1995 [7] K. Beck, et al., “Manifesto for Agile Software Development”, www.agilemanifesto.org , 2001