INFORMATION SYSTEMS STRATEGY AND DEVELOPMENT
FOR PROJECT REVERIE
Executive Summary
Software development methodologies (SSADM, DSDM, Agile and Extreme Programming) were examined for possible applications to Project REVERIE which is a prototyping project for social network communications and natural interaction in immersive environments over the internet. DSDM was chosen as the most suitable as it has the best balance of speed of delivery and a structured approach. The sensory interactive technologies in immersive environments lend well to the iterative, adaptive and flexible techniques of the agile programming methods such as DDMS. At the same time, DDMS still retains the disciplined structured process framework of the older structured development methods like SSADM.
Combining DDMS with the project methodology PRINCE2 makes it more effective for a large project like REVERIE. PRINCE2 provides the project management framework that can produce the professional documentation that a high profile project like REVERIE would require. Considering the required deliverables, activities and manpower, 3 years is viable as project duration for REVERIE.
Possible Software Development Methodologies
SSADM (Structured Systems Analysis and Design Method)
SSDM requires that you follow a strict sequence of development process stages while being able to go back to previous stages. There are nomenclatural variations to these stages and a typical one would have: feasibility study, requirements analysis, requirements specification, logical system specification and physical design. SSADM is a disciplined and highly structured methodology which emphasizes completion of stages and minimization or elimination of late-coming changes. The most evolved form is the waterfall model (Rouse, n.d.).
The feasibility study covers suitable technologies, users’ acceptability, operations viability and investment. This stage would be useful in evaluating the many technology options that immersive environments are now offering. Requirements are in the form of use cases that would define the virtual experiences that users would be expecting. The design identifies what immersive technologies would be suitable to create those experiences.
DSDM (Dynamic Systems Development Method)
The RAD (Rapid Application Development) methodology adopted a thinking that legit changes to the system must be welcomed and the effect was that requirements, design and construction became combined into one stage. The next step would simply be the cut-over of the whole system into operation. DSDM still adheres to faster methods like iteration and prototyping but it is still a more disciplined than RAD. (What is DSDM?, n.d.). There are more review activities, documentation and clearer roles for members to play. There are 12 roles which ensure that results and processes are all accounted for.
Prototyping, modeling and configuration management support the needs of an immersive environment development. The applications of the various gadgets for VR sensory interaction like the head mounted display and haptic technologies can be added and changed anytime without delays due to change management. In this way, users and members are encouraged to be more creative because new requirements and designs can be introduced easily. This is crucial for immersive environments because the possibilities for new experiences and situations are much more than older systems.
Agile Software Development (Agile)
Agile advocates modular development that practices early testing, iterations and deliveries where the user can immediately see results. Developers can build on these tested components as new components follow. It is termed as lightweight development compared to the heavyweight style of earlier structured methods. It aims for speed that produces tangible results that can be improved iteratively and shown to the user for validation. This approach for immediate tangible results causes developers and users to have more meaningful interaction. Even interaction among developers becomes more dynamic with practices like co-location and pair programming. Co-location requires that developers prioritize verbal communication in one place and openly criticize each other’s code in a collaborative manner. (Fowler, 2005).
This methodology will do well in developing software for immersive environments. Immediate testing is necessary for correct results to be experienced or observed and users need to be part of the testing as their experiences will validate success. Documentation and planning are still considered important but minimized to give way to more time and effort for building and testing.
Extreme Programming (XP)
XP seeks to maximize the benefits of the Agile methodology by executing best practices to the “extreme’. The emphasis of XP is on testing where it leads to early user involvement and the revisiting of requirements and design. In practice, the developer writes tests at the same time that they are writing code and carries out tests as soon as they are applicable. This test-as-you-go method aptly termed Test Driven Environment gives confidence in the in-process product for both developer and user. Design is best viewed as diagrams with notes rather than as voluminous text that few people will read. This also makes it easier for communication of one’s work to other developers.
XP codifies work practices that are based on the five principles of Communication, Feedback, Simplicity, Courage, and Respect (Extreme Programming, n.d.). These values are indicative of an emphasis on productive collaboration which produces quality software. The basic tasks in the order of importance are coding, testing, listening and designing. Coding and testing is for developing a part of the product while listening is getting the user’s feedback for validation or corrective iteration.
Best Software Development Methodology
The methodology that will provide the best balance between control, speed and flexibility would be DSDM. It advocates speed for tangible results while still maintaining a structure and framework in terms of process. This balance is demonstrated by the following paraphrases based on DSDM Atern principles (Atern principles, 2008), namely:
User involvement. The users must be made to undergo interaction in the immersive environment
Empowered project team. Members chosen must be experts in all the technologies involved (perception, interaction and software) so that they can work independently and with full trust and accountability
Frequent and early delivery of products and components. As soon as an immersion environment and use cases have been set-up, users must be involved immediately for testing and validation so as to generate iteration cycles if necessary
Main criterion of acceptance of deliverables is meeting of business needs. Critical business needs and functionalities must be identified and addressed. The desired user-to-user or user-to-object interactions must be able to fulfill an expected social or business task
Development is iterative, incremental and reversible. Errors can be expected and corrected with constant involvement of users in verification. The various technology gadgets can be rerun together with revised software to achieve desired virtual experiences.
High-level requirements and design. The immersive environments and experiences must be defined without necessarily defining the tools and processes
Constant communication – Developers and users are expected to be working together at all times.
There are three phases in a DSDM project: pre-project, project life-cycle and post-project. The project life-cycle phase has five stages: feasibility study, business study, functional model iteration, design and build iteration, and implementation. Most of the remaining work on REVERIE would be on the functional, design and build iterations where the various interactions between users and objects in the virtual environments over the internet will be simulated and reworked until satisfactory results are achieved.
DSDM has its own tools that collaborate with the immersive technologies of REVERIE. MoSCoW prioritises requirements and scenarios into MUST, SHOULD, COULD and WON'T. Every time there is a new use case for an interaction, it will immediately be prioritized. Timeboxing would assign time and budget for each component, scenario or use case and they will be progressed to completion depending on its MoSCoW classification. Prototyping would be the simulation of the immersive activity over the internet using various sensory processing equipment. It will also include test runs of the program code that will enable the virtual experience. Testing would create various input combinations of voice and movement and expected audiovisual messages that would be verified by the receiving person or object. The workshop prescribed by DSDM can be used to analyze the users experience and validate whether the interaction in the immersive environment was achieved. It can also be used to comment on the testing process and effectiveness of sensory input devices. Modeling is the documentation technique for DSDM using diagrams more than text. Configuration management would record the combination of tools, sensory inputs and messages sent. This would complement the keeping of testing data.
Relevance of PRINCE2
PRINCE2 has seven processes which can match-up well with the development stages of DSDM as shown:
(PRINCE2 Processes, n.d.)
DSDM (Gupta, n.d.),
As shown, PRINCE2 provides more management activities prior to the building phase of the project. This allows for better structuring of the project in terms of stages and packages. The focus of DSDM in iterations of developing and testing is done within the context of work packages in PRINCE2.
DSDM and PRINCE2 also have roles which can be rationalized as well, as follows.
PRINCE2 adds three important roles that provide more control and stability to the project. The Project Assurance Officer provides a high-level view on the various aspects of project success: costs, benefits, user requirements and the technical solution. All of these aspects have to have a satisfactory level of progress for the project to be considered in good status. He watches over the balance of these success parameters. The second role is the Change Authority who offers a counterweight to the accommodating mindset of DSDM practitioners with regards to changes. He makes sure that changes will be addressed as long as it will not endanger the time and cost limits of the project. The third role is that of the Project Support who manages the project control office which provides centralized housekeeping and administrative support to all activities of the project.
PRINCE2 and DSDM have complementing features for product and deliverables management. DSDM has the build iterations to quickly deliver project components while PRINCE2 has product-based planning which provides management and control for the technical products and components. It shows the inventory, description and organization of products as they are being created and iterated swiftly by DSDM. PRINCE2 and DSDM have a good fit (Tudor, 2006).
Cost Effectiveness of the Selected Methodology
Work Breakdown
A realistic idea on the overall cost and duration of the project can be gleaned by defining deliverables, activities and manpower for the project. The total product for REVERIE is:
“an ambient, content-centric Internet‐based immersive environment” which has the following features:
Highly flexible and secure
Where people can work, meet, participate in live events, socialise and share experiences, as they do in real life, but without time, space and affordability limitations.
Two end‐to‐end fully integrated and thoroughly validated prototypes
Virtual communication
Virtual room
Based on the goals of REVERIE, the possible deliverables are as follows:
Immersive communication scenarios and use cases in social networks
Tested methods for end‐to‐end processing and efficient distribution of 3D, immersive and interactive media over the Internet
Tested integration of technologies related to:
3D data acquisition and processing,
Sound processing
Autonomous avatars
Networking
Real‐time rendering
Physical interaction and emotional engagement in virtual worlds
Tested methods for multimodal and multi sensor capturing and processing of media for the virtual body (Usoh, M. and Slater, M., n.d.)
Vision – 3D display, holography, head-mounted display, fulldome
Auditory – 3D audio effect, surround sound
Tactile - haptic technology
Olfaction - Machine olfaction
Gustation – Artificial flavor
Networking techniques for immersive communication
User‐to‐user and user‐to‐object interaction capabilities in users’ homes using the some or all of the following technologies:
Gesture recognition
Brain–computer interface
Speech recognition
Omni-directional treadmill
Realistic audiovisual user‐generated scene compositions
Designs for:
A generic and modular framework architecture for flexible docking‐on of analysis tools
Extensions and updates based on new content engineering algorithms and paradigms.
Roadmap for commercial exploitation of the R&D outputs of REVERIE
In terms of a general project plan using both DSDM and PRINCE2, we can have the following phases and stages for the allotted 156 weeks (3 years of the project).
Work Schedule
ACTIVITY WEEKS
Project Start-up 2
Project Planning 4
Project Direction 2
Stages Delivery 142
Product Delivery 4
Project Closing 2
156
NOTE: Stages with the same letter run in parallel
The project organization will be formed as follows:
Project Board:
Executive
Senior User
Senior Supplier
Business Visionary
Project Assurance
Change Authority
Project Office
Project Manager
Project Support
Technical Coordinator
Team Leader x 2
Business Advisor x 2
Business Analyst x 2
Solution Developer x 6
Solution Tester x 6
Scribe x 2
Facilitator x 2
References
Atern principles, (2008). DSDM Atern Handbook (2008). [online] Available at: https://www.dsdm.org/content/atern-principles [Accessed 6 Apr. 2015].
Caine, M. (2011). DSDM Atern Roles and Responsibilities – Overview. M.C. Partner and Associates. [online] Available at: http://www.mcpa.biz/2011/10/dsdm-atern-roles-and-responsibilities-an-overview/ [Accessed 6 Apr. 2015].
Extreme Programming: A gentle introduction, (n.d.). Extreme Programming. [online] Available at: http://www.extremeprogramming.org/ [Accessed 6 Apr. 2015].
Fowler, M. (2005). The New Methodology. [online] Available at: http://martinfowler.com/articles/newMethodology.html [Accessed 6 Apr. 2015].
Gupta, S. (n.d.). DSDM Project Lifecycle. Quotium. [online] Available at: http://www.quotium.com/performance/dsdm-project-lifecycle/ [Accessed 6 Apr. 2015].
Methodology. (n.d.). reverie. [online] Available at: http://www.reveriefp7.eu/project/methodology/ [Accessed 6 Apr. 2015].
PRINCE2 Processes, (n.d.). Prince2.com. [online] Available at: https://www.prince2.com/uk/prince2-processes [Accessed 6 Apr. 2015].
Rouse, M., (n.d). SSADM (Structured Systems Analysis & Design Method). Techtarget: SearchSoftwareQuality. [online] Available at: http://searchsoftwarequality.techtarget.com/definition/SSADM [Accessed 6 Apr. 2016].
Trainer, A. (2012). PRINCE2 Project Management Team Structure. Silicon Beach Training. [online] Available at: https://www.siliconbeachtraining.co.uk/blog/prince2-project-management-team-structure [Accessed 6 Apr. 2015].
Tudor, D. (2006). PRINCE2 and DSDM: Why should I use both?. [online] Available at: https://www.tcc-net.com/articles/PRINCE2-and-DSDM.pdf [Accessed 6 Apr. 2015].
Usoh, M. and Slater, M. (n.d.). An Exploration of Immersive Virtual Environments. [online] Available at: http://virtualenvironments.pbworks.com/f/Usoh.pdf [Accessed 6 Apr. 2015].
What is DSDM?, (n.d.). Select Business Solutions. [online] Available at: http://www.selectbs.com/process-maturity/what-is-dsdm [Accessed 6 Apr. 2015].