managing software development eduardo c. ross. integrating your ibm i with web, mobile, and windows...
TRANSCRIPT
![Page 1: Managing Software Development Eduardo C. Ross. Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2 In This Session](https://reader033.vdocuments.site/reader033/viewer/2022052702/56649f415503460f94c605d5/html5/thumbnails/1.jpg)
Managing Software Development
Eduardo C. Ross
![Page 2: Managing Software Development Eduardo C. Ross. Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2 In This Session](https://reader033.vdocuments.site/reader033/viewer/2022052702/56649f415503460f94c605d5/html5/thumbnails/2.jpg)
Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2
In This Session
• Source Control to ensure assets’ quality & consistency
• Automated and frequent builds
• Keep Developers on task and productive
• 3 Words on meetings
![Page 3: Managing Software Development Eduardo C. Ross. Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2 In This Session](https://reader033.vdocuments.site/reader033/viewer/2022052702/56649f415503460f94c605d5/html5/thumbnails/3.jpg)
Software
Development Production
Source Docs
Process
Ideas
Problems
Solution
Requirements
Change Management
![Page 4: Managing Software Development Eduardo C. Ross. Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2 In This Session](https://reader033.vdocuments.site/reader033/viewer/2022052702/56649f415503460f94c605d5/html5/thumbnails/4.jpg)
Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 4
Source Control System
• Also known as Revision Control or Version Control.
• Management of computer programs, documents, web sites etc…
• Each change to the content is identified by a number, the ‘revision number’
![Page 5: Managing Software Development Eduardo C. Ross. Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2 In This Session](https://reader033.vdocuments.site/reader033/viewer/2022052702/56649f415503460f94c605d5/html5/thumbnails/5.jpg)
Original Revision History
0024.00 /* Author : Eduardo C. Ross */ 8812150025.00 /* CopyRight: Amalgamated Software of North America (ASNA) */ 8908260026.00 /* Date Vers Auth Description */ 8908260027.00 /* -------- ---- ---- ------------------------------------------ */ 8908260028.00 /* 12/01/88 Ross Original work started */ 8908260029.00 /* 08/26/89 #1 Ross Sym: Filling up work space with labels */ 9006150030.00 /* Fix: Add underflow logic for structure stack*/ 8908260031.00 /* 06/07/90 #2 Ross Add code to output BRK on SEU numbers */ 9006070032.00 /* 06/15/90 #3 Ross Sym: Outputting BRK on strings <xx|....> */ 9006150033.00 /* Fix: Recognize tokens of the form <|> */ 9006150034.00 /* */ 8812150035.00 /*******************************************************************/ 881215
![Page 6: Managing Software Development Eduardo C. Ross. Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2 In This Session](https://reader033.vdocuments.site/reader033/viewer/2022052702/56649f415503460f94c605d5/html5/thumbnails/6.jpg)
Riding Lawnmower
![Page 7: Managing Software Development Eduardo C. Ross. Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2 In This Session](https://reader033.vdocuments.site/reader033/viewer/2022052702/56649f415503460f94c605d5/html5/thumbnails/7.jpg)
All Sources in a Repository
![Page 8: Managing Software Development Eduardo C. Ross. Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2 In This Session](https://reader033.vdocuments.site/reader033/viewer/2022052702/56649f415503460f94c605d5/html5/thumbnails/8.jpg)
Repository vs. Working Copy
![Page 9: Managing Software Development Eduardo C. Ross. Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2 In This Session](https://reader033.vdocuments.site/reader033/viewer/2022052702/56649f415503460f94c605d5/html5/thumbnails/9.jpg)
History of Revisions
![Page 10: Managing Software Development Eduardo C. Ross. Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2 In This Session](https://reader033.vdocuments.site/reader033/viewer/2022052702/56649f415503460f94c605d5/html5/thumbnails/10.jpg)
Differences in Revisions
![Page 11: Managing Software Development Eduardo C. Ross. Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2 In This Session](https://reader033.vdocuments.site/reader033/viewer/2022052702/56649f415503460f94c605d5/html5/thumbnails/11.jpg)
Revisions at the Folder Level
![Page 12: Managing Software Development Eduardo C. Ross. Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2 In This Session](https://reader033.vdocuments.site/reader033/viewer/2022052702/56649f415503460f94c605d5/html5/thumbnails/12.jpg)
One Folder Revision
![Page 13: Managing Software Development Eduardo C. Ross. Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2 In This Session](https://reader033.vdocuments.site/reader033/viewer/2022052702/56649f415503460f94c605d5/html5/thumbnails/13.jpg)
Source Management Models
![Page 14: Managing Software Development Eduardo C. Ross. Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2 In This Session](https://reader033.vdocuments.site/reader033/viewer/2022052702/56649f415503460f94c605d5/html5/thumbnails/14.jpg)
Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 15
Source Management Models
• Local Data– All users on the same machine. Traditional
OS/400 model
• Client-Server– Repository is kept on a server, all developers
‘pull’ their working version onto their personal machines
• Distributed– Each developer has his own repository, they can
‘push’ or ‘pull’ specific revisions from other repositories
![Page 15: Managing Software Development Eduardo C. Ross. Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2 In This Session](https://reader033.vdocuments.site/reader033/viewer/2022052702/56649f415503460f94c605d5/html5/thumbnails/15.jpg)
Some Products
• Client-server model– Open source
• Concurrent Versions System (CVS)• CVSNT • OpenCVS• Subversion• Vesta
– Proprietary• AccuRev• CA Software Change Manager • Autodesk Vault • CADES • IBM Rational ClearCase • codeBeamer • IBM Configuration Management Version Control
(CMVC)• IBM Rational Team Concert – • IC Manage Global Design Platform (GDP) –• MKS Integrity• Perforce – • PVCS • Quma Version Control System• SourceAnywhere • StarTeam • Telelogic Synergy• Vault • Visual SourceSafe• Visual Studio Application Lifecycle Management
(Team System)
• Distributed model– Open source
• Aegis• ArX• Bazaar• Codeville• Darcs• DCVS• Fossil• Git• GNU arch• LibreSource• Mercurial• Monotone• SVK • Veracity
– Proprietary• BitKeeper• Code Co-op• Sun WorkShop TeamWare • Plastic SCM
• Local data model– Open source
• Revision Control System (RCS)• Source Code Control System (SCCS)
![Page 16: Managing Software Development Eduardo C. Ross. Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2 In This Session](https://reader033.vdocuments.site/reader033/viewer/2022052702/56649f415503460f94c605d5/html5/thumbnails/16.jpg)
Mercurial – Distributed Model
![Page 17: Managing Software Development Eduardo C. Ross. Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2 In This Session](https://reader033.vdocuments.site/reader033/viewer/2022052702/56649f415503460f94c605d5/html5/thumbnails/17.jpg)
Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 18
Typical Operations
• “Check Out – Check In” or “Edit – Merge”
• Checkpoint, Tag or Label
• Get History at file or folder level
• Show Differences at file or folder level
• Get a particular version
• Branch from Common trunk
• Merge two branches
• Share
![Page 18: Managing Software Development Eduardo C. Ross. Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2 In This Session](https://reader033.vdocuments.site/reader033/viewer/2022052702/56649f415503460f94c605d5/html5/thumbnails/18.jpg)
Automating Builds
![Page 19: Managing Software Development Eduardo C. Ross. Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2 In This Session](https://reader033.vdocuments.site/reader033/viewer/2022052702/56649f415503460f94c605d5/html5/thumbnails/19.jpg)
Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 20
Building the Software
• Repeatable builds
• Identifiable
• Eliminate (at least Minimize) Grunt Work – Boring– Redundant– Time consuming– Error prone
• Frequent
![Page 20: Managing Software Development Eduardo C. Ross. Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2 In This Session](https://reader033.vdocuments.site/reader033/viewer/2022052702/56649f415503460f94c605d5/html5/thumbnails/20.jpg)
Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 21
Software to build Software
• CL Programs
• AVR or C# Programs
• Make
• MSBuild
• Nant
• Team City
![Page 21: Managing Software Development Eduardo C. Ross. Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2 In This Session](https://reader033.vdocuments.site/reader033/viewer/2022052702/56649f415503460f94c605d5/html5/thumbnails/21.jpg)
NAnt Script
<?xml version="1.0" encoding="utf-8"?><project name="Skeleton" default="help">
<description>The skeleton file for the build process.</description>
<property name="nant.onfailure" value="fail" />
<target name="go" description="The main target for full build process execution" depends="clean, get, version, build, test, document, publish, notify"/>
<target name="clean" description="Clean up the build environment."> <delete dir="C:\build folder" /> <delete file="C:\build.log" />
<mkdir dir="C:\build folder" /> </target>. . . </project>
![Page 22: Managing Software Development Eduardo C. Ross. Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2 In This Session](https://reader033.vdocuments.site/reader033/viewer/2022052702/56649f415503460f94c605d5/html5/thumbnails/22.jpg)
NAnt - Targets Get & Build
<target name="get" description="Get the source code."> <vaultsetloginoptions user="username" password="password" URL="http://VaultServer" repository="Products" /> <vaultgettolocationoutsideworkingfolder destPath="C:\build folder"> <vaultfileset> <include name="$/product/family" /> </vaultfileset> </vaultgettolocationoutsideworkingfolder> </target>
<target name="build" description="Compile the application."> <!-- ${project.solution} is a property that contains the full path to the solution file --> <msbuild project="${project.solution}" > <property name="Configuration" value="Debug"/> </msbuild> <msbuild project="${project.solution}" > <property name="Configuration" value="Release"/> </msbuild> </target>
![Page 23: Managing Software Development Eduardo C. Ross. Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2 In This Session](https://reader033.vdocuments.site/reader033/viewer/2022052702/56649f415503460f94c605d5/html5/thumbnails/23.jpg)
NAnt - Target Version
<target name="version" description="Increase the version number."> <vaultcheckout checkoutExclusive="true"> <vaultfileset> <include name="$/${vault.project.folder}/VersionFile"/> <!-- ${vault.project.folder} is a reference to a property called vault.project.folder --> </vaultfileset> </vaultcheckout>
<!-- create the new file --> <echo message="${buildnumber.nextversion}" file="${project.temp.dir}\VersionFile"/>
<vaultcheckin comment="Commit initiated by NAnt."> <vaultfileset> <include name="$/${vault.project.folder}/VersionFile"/> </vaultfileset> </vaultcheckin> </target>
![Page 24: Managing Software Development Eduardo C. Ross. Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2 In This Session](https://reader033.vdocuments.site/reader033/viewer/2022052702/56649f415503460f94c605d5/html5/thumbnails/24.jpg)
NAnt - Tasks
http://nant.sourceforge.net/release/latest/help/tasks/
You can get NAnt at http://nant.sourceforge.net/
![Page 25: Managing Software Development Eduardo C. Ross. Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2 In This Session](https://reader033.vdocuments.site/reader033/viewer/2022052702/56649f415503460f94c605d5/html5/thumbnails/25.jpg)
Managing the Team
![Page 26: Managing Software Development Eduardo C. Ross. Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2 In This Session](https://reader033.vdocuments.site/reader033/viewer/2022052702/56649f415503460f94c605d5/html5/thumbnails/26.jpg)
Move Obstacles out of the Way
![Page 27: Managing Software Development Eduardo C. Ross. Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2 In This Session](https://reader033.vdocuments.site/reader033/viewer/2022052702/56649f415503460f94c605d5/html5/thumbnails/27.jpg)
Avoid Scope Creep
![Page 28: Managing Software Development Eduardo C. Ross. Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2 In This Session](https://reader033.vdocuments.site/reader033/viewer/2022052702/56649f415503460f94c605d5/html5/thumbnails/28.jpg)
Penny Wise Pound FoolishSmall expenditures can mean big gains in productivity
![Page 29: Managing Software Development Eduardo C. Ross. Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2 In This Session](https://reader033.vdocuments.site/reader033/viewer/2022052702/56649f415503460f94c605d5/html5/thumbnails/29.jpg)
Penny Wise Pound Foolish
![Page 30: Managing Software Development Eduardo C. Ross. Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2 In This Session](https://reader033.vdocuments.site/reader033/viewer/2022052702/56649f415503460f94c605d5/html5/thumbnails/30.jpg)
Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 31
Elbow Meetings
• Meetings should be:• Short• Focused• Positive
![Page 31: Managing Software Development Eduardo C. Ross. Integrating your IBM i with Web, Mobile, and Windows © 2013 by ASNA. All rights reserved. 2 In This Session](https://reader033.vdocuments.site/reader033/viewer/2022052702/56649f415503460f94c605d5/html5/thumbnails/31.jpg)
Managing Software Development