Skyway Collaborative Software Delivery™

Introduction

Skyway’s innovative tool, Skyway Visual Perspectives, combined with the Skyway Collaborative Software Delivery methodology, provides a visual and collaborative workspace that enables JEE development and deployment to proceed more quickly and more accurately than ever before.  Using the power of our modeling environment and the effectiveness of our collaboration workspace, the end-user customer is finally able and willing to participate throughout the software delivery process. 

Interactive Delivery

Skyway Collaborative Software Delivery is an innovative delivery approach that leverages the standard benefits of iterative development using a simple 4 step process:   

  • Prototyping – provide customers with the right solution the first time (as a production-ready application) in only a few hours or days using the power of enterprise web application design models and Skyway Visual Perspectives to more effectively and efficiently capture business requirements.
  • Planning – use the application structure of the validated prototype as the basis to create a project estimate and assign resources to tasks to determine project delivery cost and timelines.  This ensures that the software will be delivered with right features on time and on budget. 
  • Development– leverage the baseline application created during prototyping and planning, combined with the enterprise web application modeling benefits to deliver weekly solution increments until the final solution is ready for deployment.  Depending on the composition and location of the team, the customer may want to take advantage of the Skyway Workspace Enabled RightShoring ™ approach.  Customers report developer productivity improves up to 10x using our award winning Skyway Visual Perspectives.   
  • Deployment – configure and deploy enterprise web applications simply, flexibly, and iteratively on a monthly basis throughout the lifetime of the application using visual models of each environment for seamless promotions; starting from development environments all the way to the running production environment.

At last, the customer’s time commitments for providing business requirements are compressed to hours at a time (rather than days or weeks) and he/she is able to see working solutions in a matter of days (rather than weeks or months).  Combined with the Skyway Visual Perspectives, the Skyway Collaborative Software Delivery methodology enables IT teams to deliver more accurate software applications in much faster timeframes.

Back To Top

Prototyping

Skyway Software's approach to Prototyping builds upon and adapts a well known practice of creating software prototypes during the design phase of traditional software development efforts.  The Skyway Visual Perspectives enables a collaborative effort between the customer, stakeholders, and solution architect to define/refine the actual solution requirements through visual prototypes produced in rapid iterations of increasing complexity.

Using the Skyway Visual Perspectives working prototypes can often times be delivered in one day.  In addition, prototypes created in the Skyway Visual Perspectives are in fact working software and are used 100% downstream in the development process.  This means the prototype does not have to be thrown away and/or manually transferred to a true IDE as with other prototyping and simulation tools available on the market today.  This is a huge leap forward and can mean up to 50% of development can be complete by the time the Prototype is completed. 

prototyping
  • Stakeholders actively engaged
  • Requirements evolve visually
  • Stakeholders see and know what they are getting
  • Working baseline solution created for development

The prototyping process flow typically includes the following activities:

  1. Gather Requirements – Initial Session
    • The team starts with discussing high level concepts and groups requirements into feature sets
    • Requirements are entered in requirements tracking tool and version number assigned
  2. Build Initial Prototype
    • Solution Architect uses Skyway Builder to create the high level prototype application structure based on the feature sets identified in the initial requirements gathering session. 
    • Initial focus is main page and navigation to sub pages – all logic stubbed out.
  3. Gather Requirements – Review Initial Prototype
    • The beginning of visual driven requirements gathering
    • Solution Architect uses Skyway Director to deploy to prototype runtime environment and reviews initial running prototype with team
    • Based on review, additional high level concepts/feature sets may be identified and added to requirements tracking tool
    • Team plans the order of feature sets to be elaborated during the prototyping iterations
    • More detailed requirements discussed and captured for feature set
    • Requirements are entered and labeled with new version number
  4. Build Prototype – Add First Feature Set
    • Solution Architect uses Skyway Builder to evolve prototype application structure based on the elaborated feature sets identified in the requirements gathering session. 
    • Simple logic added
    • Complex logic and integration stubbed out
    • Updated prototype application structure is labeled with requirements version number
  5. iterationsPrototype Iterations
    • Gather Requirements – For each feature set
    • Determine if requirements are validate – consensus from stakeholders, including customers
    • Build Prototype – Add feature Set

By engaging the stakeholders during short, frequent, and iterative sessions, the prototyping process delivers faster feedback and supports visually validating the requirements, while at the same time enabling the solution architect to create the baseline structure of the working application to be used by the delivery team during the development & deployment phase.

Back To Top

Planning

Planning uses the application structure created by the Solution Architect during the prototyping process as a basis for generating the project plan.  Planning involves applying an estimating model against the elements of the application structure, followed by an exercise to map resources to development and deployment tasks for the application, and finally associate costs to resources and determine dependencies to create a project delivery timeline.  Since the prototype serves as the basis for the project plan and also the basis for the validated requirements, the end result is a credible project plan that satisfies the stakeholders and the team responsible for delivering the project.  Another interesting action afforded by the prototype and planning exercise is the ability of the stakeholders to adjust the requirements, if the estimated cost and timelines exceed the needs of the business.

planning
  • Project cost analysis based on prototype
  • Stakeholders review the project delivery estimate.
  • Project development launched with confidence

The planning process flow typically includes the following activities:

  1. Generate Project Estimate
    • Solution Architect applies project estimation model against the application structure of the validated prototype
  2. Create Project Plan
    • Using the project estimate as input the Solution Architect works with IT management to assign appropriate resources to tasks, associate costs to resources, and calculate timelines based on effort and dependencies
    • Project plan reflects cost and time to deliver the application 
  3. iterationProject Plan Review Iteration – Cost Analysis
    • Solution Architect reviews with the Stakeholders the cost and timelines calculated to deliver the application that will satisfy the validated requirements captured during the Prototyping process (or during the scope adjustment)
      • a. Project Plan Approval? – Stop, Adjust Scope, or Move forward to Development Phase
        • After analyzing the cost, the stakeholders may decide that the business case does not hold and can stop the project
      • b. Adjust Scope
        • Solution Architect uses Skyway Director to deploy to prototype runtime environment and reviews running prototype with team
        • Stakeholders identify functionality that can be deferred and request Solution Architect to recalculate cost and timelines based on reduced scope
        • Reduced scope requirements are marked and assigned with new version number in the requirements tracking tool
      • c. Update Prototype
        • Solution Architect reviews the reduced requirements and updates prototype application structure to satisfy reduction
        • Updated prototype application structure is labeled with requirements version number
      • d. Recalculate Project Estimate
        • Solution Architect applies project estimation model against the reduced scope application structure of the validated prototype
      • e. Create Project Plan
        • Using the project estimate as input the Solution Architect works with IT management to assign appropriate resources to tasks, associate costs to resources, and calculate timelines based on effort and dependencies
        • Project plan reflects cost and time to deliver the application 

A few key benefits come out of the prototyping & planning phase.  First, the stakeholders (which include the customers) buy into the prototype as identifying the requirements of the application and the project plan as identifying the cost and timelines to deliver the application.  Second, the delivery team (which includes the project manager, architects, developers, testers, environment managers, etc) buys into the project plan as being credible since it is based on estimating models against the baseline application structure of the prototype.  Third, the delivery team has a baseline application, which jump starts the development process.

Back To Top

Development

Development gets a jumpstart with the working baseline solution created during the prototyping process.  Combining this jumpstart with the modeling benefits of the Skyway Visual Perspectives, IT organizations are able to optimize productivity of their development teams.  As another benefit of using the baseline solution, IT organizations have the application structured for feature release (defined as solution modules) development to provide quick incremental releases to the user community.

development
  • Stakeholders remain actively engaged
  • Prototype serves as application baseline
  • Full development team collaborates by using workspace

The development process flow for a solution module typically includes the following activities:

  1. iBuild & Test
    • Solution Architect provides daily guidance/review with one or more developers
    • Developers visually model and test components of the solution module
    • Elaborated solution module versioned controlled
    • Weekly review with Business Analyst
    • Weekly review with Testers to defined test cases
    • Weekly running application review with stakeholders (may be longer intervals)
    • Project metrics captured
    • Elaborated requirements captured – scope adjusted as appropriate
    • Weekly readiness assessment for promotion to shared environments conducted
  2. iRelease Readiness Testing
    • Solution module promoted through shared technical environments
    • Testers run tests appropriated for environment (e.g., integration, performance, production staging)
    • Developers provide fix it support testing
    • Solution Architect provides daily guidance
    • Elaborated solution module versioned controlled
    • Weekly review with Business Analyst
    • Weekly running application review with stakeholders (may be longer intervals)
    • Project Metrics captured
    • Elaborated requirements captured – scope adjusted as appropriate
    • Weekly release readiness assessment conducted
  3. iIncremental Solution Release
    • Release and environment managers validate release readiness
    • Solution Architect provides final stakeholder review
    • Incremental solution released to user community
    • Project Metrics captured

Development delivers validated solution increments that are built faster and are fully aligned with business requirements.  Applications are delivered in weeks, rather than months, and delayed sign offs by the customers no longer occur.

Back To Top

Skyway Workspace Enabled RightShoring ™

The workspace provides an elegant approach to full collaboration with a highly distributed development team. Since all development is performed with “self-describing” and versioned controlled visual application models, IT organizations can seamlessly integrate offshore development teams into the development process.  All development team members work with and share the self-describing visual models through their individual workspaces.  The application models can be shared through a common version control interface (if network bandwidth is sufficient) or through a model import/export synch up process (for intermittently connected teams or teams with insufficient network bandwidth).  The fundamental process for distributed development is similar to the non-distributed development using the Skyway Visual Perspectives.  The difference is the physical interaction among the distributed team members.  

The distributed development process flow for a solution module typically includes the following activities:

  1. Build & Test
    • a. Initial development iteration – (first time only)
      • Solution Architect kicks off development/review session with remote developers
      • Remote developers begin module elaboration; check in and label their modifications
      • Remote developers export their versioned model and send to Solution Architect
      • Solution Architect imports model, reviews, provides feedback, exports, and sends updated model to remote team
    • b. Remote development
      • Remote developers import versioned model, check in, and add label
      • Remote developers makes requested changes and further elaborate the module
      • Remote developers check in modified module, provide notes/questions, and label their modifications
      • Remote developers export their versioned model and send to Solution Architect
    • c. Daily local module review & feedback
      • Solution Architect checks in received export and synchs up with version label
      • Solution Architect reviews and provides feedback notes in model
      • Updated model labeled, exported, and sent back to remote team
    • d. Weekly local module review & feedback
      • Solution Architect checks in received export and synchs up with version label
      • Solution Architect reviews running application with stakeholders and adds feedback notes in model
      • Solution Architect reviews application with Business Analyst and adds feedback notes in model
      • Testers review module to help create test cases
  2. Build and Test iteration continued until Solution Architect determines module is ready for shared environments.

  3. iRelease Readiness Testing
    • e. Local team runs through the tests
      • Same process as in the Development section
    • f. Remote team works as Fix It team
      • Communication and model synch up is the same as in Build & Test
      • Depending on location, this could be a 24 hour test/fix it cycle – i.e. both teams are working during normal hours, but a test and fix it cycle complete each day.
  4. iIncremental Solution Release
    • g. Same process as in the Development section

Back To Top

Deployment

Deployment helps users configure and deploy applications simply, flexibly, and iteratively throughout the lifetime of the application using the models built with Skyway Visual Perspectives.

deployment
  • Stakeholders remain actively engaged, viewing the deployed application
  • Develop and Deploy Pattern – separation of concern between the design of an application and the runtime implementation of an application
  • Visual environment modeling – applications, application servers, and DBMS
  • Deployment of consistent, high quality software through model generated code

The delivery steps included within deployment typically include the following:

  • Model and configure environments with Skyway Director
  • Deploy validated module into shared testing environments and validate with current released solution increment
  • Enable distributed Team-level interactions via Skyway Visual Perspectives
  • Conduct “fix it” review sessions with each developer multiple times per week
    • Developer/Tester location is irrelevant (i.e., they may reside offshore) – Skyway Model Enabled Rightshoring 
    • Developer and Tester work in tandem to test and fix software module
  • Conduct weekly validation sessions with customer
  • Deliver validated software increment  and release to user community (production)  - typically monthly releases

Deployment delivers a validated production release that integrates easily with the current production environment and can be maintained simply by modifying the underlying models (even by developers new to the project) due to the ease of using models in a truly collaborative delivery environment.

Back To Top

How to Contact Us

Contact Skyway’s CEM Team via email at info@skywaysoftware.com or by phone at +1 813.288.9355.

Back To Top