Wiki Markup
(+)  See [OLE:OLE Spec Writing & Requirements Analysis] and related team pages for implementation of below model.


The following and linked document represent the new project development cycle as set forth by Tim McGeary, former FC Chair, and previous Project Manager, Brad Skiles. More information and details will be forthcoming on the roles and responsibilities of Core Team and SMEs in the overall process. See also  [OLE:OLE Spec Writing & Requirements Analysis]  for an overview and training for SMEs in the unique swimlane tasks.



!OLE Flow V16.png|thumbnail,border=1!

{html}<A href="https://docs.google.com/a/kuali.org/viewer?a=v&pid=explorer&chrome=true&srcid=0B1zG4eNDtxYpM2RhZTI3N2QtOGNkMS00OGQyLThkMGUtYjhmYzNjZDc5YjA4&hl=en_US" mce_href="https://docs.google.com/a/kuali.org/viewer?a=v&pid=explorer&chrome=true&srcid=0B1zG4eNDtxYpM2RhZTI3N2QtOGNkMS00OGQyLThkMGUtYjhmYzNjZDc5YjA4&hl=en_US" target="_Blank">Draft Development Cycle & Approach_v16, 1/13/2012</A>{html}
\\
{html}<A href="https://docs.google.com/a/kuali.org/document/d/1ybw-WwuGdFhvUDlbha1BVNnaTFObWEbLNYzHqui4MIQ/edit?hl=en_US" mce_href="https://docs.google.com/a/kuali.org/document/d/1ybw-WwuGdFhvUDlbha1BVNnaTFObWEbLNYzHqui4MIQ/edit?hl=en_US" target="_Blank">Draft Development Cycle - Narrative Description, 1/6/2012 (rev. 02/03/12)</A>{html}

(click to view or download full-size PDF)

h2. Development Process Overview & Assignments

(see most current in linked version above)


{color:#000000}{*}last revised: February 3, 2012{*}{color}
{color:#000000}{*}Kuali OLE Development Cycle{*}{color}

h4h5. Introduction

{color:#000000}The Kuali OLE development cycle has lacked strong definition to support necessary accountability and efficiency of resources (Partners, Core Team, and HTC). &nbsp;In order to relieve bottlenecks and create better efficiencies, the Kuali OLE development cycle has been re-organized into three major sections, each with a primary owner:{color}
{color:#000000}Functional Design (Partnership){color}
{color:#000000}Technical Design (Core Team){color}
{color:#000000}Coding
Coding (HTC Global Services){color}

{color:#000000}The narrative below will guide you through the development cycle diagram. &nbsp;The goal of separating the development cycle into three phases, each with a different primary owner, is to create processes that co-exist independently, each building up inventories that will be cyclically re-prioritized.{color}

h4h3. Functional Design - Kuali OLE Partners

{color:#000000}{_}Starting Point: Kuali OLE Roadmap{_}{color}

{color:#000000}{_}Ending Point: Handoff Functional Specifications{_}{color}
{color:#000000}The Kuali OLE Partners are wholly accountable for the Functional Design phase. &nbsp;This phase will begin with the established Roadmap and end with a handoff of functional specifications to the Core Team. &nbsp;During this phase, the {color_}SME Teams{color:#000000}_} and {_}TigerSpec Writing Teams{_}{color} {color:#000000}and{color} {color:#000000}{_}Spec Writing Teams{_}{color} {color:#000000} will work independent from the Core Team to document functional requirements.  &nbsp;If needed, a member(s) of the{color} {color:#000000}{_}Core{_}{color} {color:#000000}and {color_} {color:#000000}{_}HTC On-HTC On-shore{_}{color} {color:#000000}teams will be available to consult on documentation.{color}

h5. Scope/Roadmap

{color:#000000}The functional design phase starts from the Kuali OLE Roadmap ({color}{color:#000000}\#1{color}{color:#000000}), which is an organic document being revised regularly to meet the requirements, constraints, and dependencies of the project.  &nbsp;The Roadmap team will regularly present revisions to the Functional Council and Board for approval.{color}

h5. TigerSME Teams

{color:#000000}Each {color_}SME {color:#000000}{_}Tiger Team{_}{color} {color:#000000}Team{_} is made up of a{color} {color:#000000}FC Member, TC Member,{color} {color:#000000}and{color} {color:#000000}Systems Analyst (SA){color}{color:#000000}. &nbsp;The{color} {color:#000000}Tiger The SME Team SA{color} {color:#000000}is committed to Kuali OLE for 50% FTE or 20 hours per week.  &nbsp;Based on the Roadmap, each{color} {color:#000000}{_}TigerSME Team{_}{color} {color:#000000}will assign and prioritize the appropriate user stories for each release point ({color}{color:#000000}\#2{color} {color:#000000}and{color} {color:#000000}\#3{color}{color:#000000} point (\#2 and \#3) with appropriate deadlines. &nbsp;&nbsp;   Based on these priorities, the{color} {color:#000000}{_}TigerSME Team{_}{color} {color:#000000}will assign user stories to one or more{color} {color:#000000} {_}Spec Writing Teams{_}{color} {color:#000000}in their functional area ({color}{color:#000000}\#4{color}{color:#000000}).  &nbsp;Each{color} {color:#000000}{_}TigerSME Team{_}{color} {color:#000000}will then review and approve all completed functional specifications ({color}{color:#000000}\#8{color}{color:#000000}). &nbsp;{color}{color:#000000}  {_}TigerSME Teams{_}{color} {color:#000000}will coordinate activities weekly through the Functional Council to ensure overlap and intra-related specifications are addressed.{color}

h5. Spec Writing Teams

{color:#000000}The{color} {color:#000000}{_}Spec Writing Teams{_}{color} {color:#000000}are comprised of the{color} {color:#000000}Tiger SME Team SA{color}{color:#000000},{color} {color:#000000}Lead SMEs{color} {color:#000000}that are committed to Kuali OLE for 25% FTE or 10 hours per week, and{color} {color:#000000}non-Lead SMEs{color}{color:#000000}. &nbsp;.  Using templates provided by{color} {color:#000000}{_}Core Team{_}{color} {color:#000000}({color}{color:#000000}\#5{color}{color:#000000} the {_}Core Team{_} (\#5), the goal of{color} {color:#000000} each {_}Spec Writing Team{_}{color} {color:#000000}is to document the following ({color}{color:#000000}\#6{color}{color:#000000}):{color}\
* {color:#000000}functional requirements of assigned user stories{color}
* {color:#000000}pre-conditions{color}
* {color:#000000}post-conditions{color}
* {color:#000000}acceptance criteria{color}
* {color:#000000}detailed lists of data elements{color}


{color:#000000}Spec Teams will work independently to document the functional requirements necessary for the{color} {color:#000000}Core Team{color} {color:#000000}and{color} {color:#000000}HTC{color} {color:#000000} the Project Team to produce and code a technical solution.  &nbsp;By focusing on the functional requirements, Spec Teams can build an inventory of functional specifications from which the{color} {color:#000000}Core Team{color} {color:#000000}and{color} {color:#000000}HTC{color} {color:#000000} Project Team can review and prioritize for efficient production of code.  &nbsp;The{color} {color:#000000}Tiger SME Team SA{color} {color:#000000}will represent the Spec Team in the technical specification phase described below.  &nbsp;It is expected Spec Teams will be able to complete these specifications with little, if any, assistance from{color} {color:#000000}Core Team{color}{color:#000000} the Project Team, but consultation is available ({color}{color:#000000}\#7{color}{color:#000000}).{color}\#7).

h5. TigerSME Team and Core Team Project Management

{color:#000000}The{color} {color:#000000}Tiger SME Team{color} {color:#000000}approves functional specifications ({color}{color:#000000}\#8{color}{color:#000000}), at which time the{color} {color:#000000}Core Team time Project Management{color} {color:#000000}adds completed functional specs into inventory ({color}{color:#000000}\#9{color}{color:#000000}). &nbsp;{color}{color:#000000}Core Team Project Management{color} {color:#000000}will add/update the functional specifications in JIRA and assess complexity and prioritization (#{color}{color:#000000}10{color}{color:#000000}). &nbsp;{color}

h4\#10).

h3. Technical Design - Core Team 

{color:#000000}{_}Starting Point: Receipt of Functional Specification{_}{color}


{color:#000000}{_}Ending Point: Handoff Technical Specifications{_}{color}

h5. Core Team / Systems Analyst

{color:#000000}The{color} {color:#000000}Core Team Business Analysts{color} {color:#000000}and{color} {color:#000000}Tiger SME Team SA{color} {color:#000000}will collaborate in translating the functional specifications into technical requirements by designing wire frames (UI design), documenting the appropriate Kuali Rice requirements, and translating functional details into technical details ({color}{color:#000000}\#11){color}{color:#000000}. &nbsp;.  At this stage the functional specification becomes a Codeable specification. &nbsp;{color}{color:#000000}  HTC Onsite{color} {color:#000000}will be available to facilitate the process of making a functional specification into a codeable specification.{color} {color:#000000}HTC Onsite{color} {color:#000000} Onsite will also be available for carving out the Stories into manageable tasks which would facilitate coding. &nbsp;&nbsp;{color}{color:#000000}{_}NOTE: This may require Kuali Rice version 2 training in spring 2012._{color}

{color:#000000}Once the codeable specifications are ready, Core Team would formally handoff the specification for development ({color}{color:#000000}\#12{color}{color:#000000}). After this handoff, HTC Onshore and HTC Offshore complete development analysis to delegate tasks into sub tasks to be assigned to individual developers.{color}


h5. HTC, Technical Architecture

{color:#000000}Based on hand off and development analysis ({color}{color:#000000}\#12{color}{color:#000000}),{color} {color:#000000}HTC Offshore{color} {color:#000000}will create technical specification document ({color}{color:#000000}\#13{color}{color:#000000}\#13) in coordination with{color} {color:#000000}HTC Onshore{color}{color:#000000}. &nbsp;The{color} {color:#000000}.  The Technical Architect{color} {color:#000000}will review and approve Technical Specification document created by{color} {color:#000000}HTC{color} {color:#000000}({color}{color:#000000}\#14{color}{color:#000000}).{color}

h5. Data Modeling and Quality Assurance

{color:#000000}The{color} {color:#000000}Data Modeling Team{color} {color:#000000}completes data modeling and creates data description language ({color}{color:#000000}\#15{color}{color:#000000}) throughout the Technical Design Phase ({color}{color:#000000}\#11-17{color}{color:#000000}){color}{color:#000000}. &nbsp;{color}{color:#000000}\#11-17).  In parallel, the{color} {color:#000000}Quality Assurance Manager{color} {color:#000000}will produce test scripts ({color}{color:#000000}\#16{color}{color:#000000}) based on the code-able specifications delivered in ({color}{color:#000000}\#11){color} {color:#000000}and revise them if necessary throughout the Technical Design Phase ({color}{color:#000000}\#11-17{color}{color:#000000}\).{color}

h5. Hand Off # 2

{color:#000000}Once the hand off #1 & development analysis is complete, HTC Leads (Onshore and Offshore) will complete Hand off #2. Here HTC Leads will explain their understanding of the requirements and will explain to the core of how the development will be done (\#17).  &nbsp;At this stage, there is an opportunity for a final Q&A session. Gaps, if any, would be ascertained and either accepted by HTC for coding change or moved onto Spec Team for further analysis/decisions ({color}{color:#000000}\#6{color}{color:#000000}) and will complete another iteration of the development process.  &nbsp;Once complete, HTC will then provide effort estimates for the work. Based on availability of developers, HTC would provide Planned Start & Planned Finish dates for every sub task.{color}

h4. Coding - HTC 

{color:#000000}{_}Starting Point: Receipt of Technical Specifications{_}{color}


{color:#000000}{_}Ending Point: Implementation of Completed and Tested Code{_}{color}

h5. Coding and Unit Testing

{color:#000000}Based on the Hand Off #2 ({color}{color:#000000}\#17{color}{color:#000000}) and availability of developers, HTC will commence coding ({color}{color:#000000}\#18{color}{color:#000000}). In this step, at appropriate intervals, HTC will schedule preview sessions to demonstrate the work in progress. HTC/core The Project Team will take relevant actions depending on the outcome of the preview sessions.{color}

h5. Acceptance Testing (\#23 & \#25)

{color:#000000}Once coding is completed and unit tested by HTC Offshore, the sub-tasks would be passed over to HTC Onsite for their testing ({color}{color:#000000}\#19{color}{color:#000000}). If HTC Onsite fails the sub-tasks, the developer picks it up for correction. If HTC Onsite passes the same, then it moves over to{color} {color:#000000}QA{color} {color:#000000}for Testing ({color}{color:#000000}\#23{color}{color:#000000}).{color}

{color:#000000}

QA would wait for all sub-tasks to be completely coded & tested by HTC Onsite and then they would pick up the parent tasks for testing by themselves ({color}{color:#000000}\#23{color}{color:#000000}) /{color} {color:#000000}Spec Team{color} {color:#000000}({color}{color:#000000}\#25{color}{color:#000000}).  &nbsp;At this stage, the tasks could either be passed or failed for coding errors or failed for gaps.{color}
* {color:#000000}If the task is passed, then the task moves to the{color} {color:#000000}Tiger SME Team{color} {color:#000000}for acceptance.{color}
* {color:#000000}If the task is failed for coding errors, the task moves back to Coding ({color}{color:#000000}\#18{color}{color:#000000}) and then will move again through the development process from that stage.{color}
* {color:#000000}If the task is failed for gaps, then the task goes back to ({color}{color:#000000}\#6{color}{color:#000000}) and will then move again through the development process.{color}