Industry SDLCs and Business Climate
Justin Kalicharan Credentials Director and Senior Technology Officer Over 14 years of coding experience in various languages Managed Projects $80MM+ Lead team over 350+ developers, BAs, Managers, QA, Technology Leads Responsible Vendor supplier relationships for Commercial Banking Primary Relationship IT Director to Commercial Business Partners
SDLC Methodologies used in Banking Software Development Life Cycles (SDLC) Waterfall Agile Test Driven Development Prototyping Iterative
Waterfall
Waterfall Pros and Con Pros Progression and forward progress One time resource engagement Clear Milestones for Suppliers and External groups Cons Large gaps between requirements and implementation Difficult to requirements changes late in the process Slow to market
Agile
Agile Pros and Cons Pros Fast to Market Highly adaptable to business need changes Higher rate of success at implementation Cons High resource engagement needed Difficult or implement with varying interfaces Weaker documentation, contributing to knowledge silos
Test Driven Development
TDD Pros and Cons Pros Great cost savings in testing, unit testing, and regression testing. 40% - 60% Defect reduction Self documents development “how to”, and business logic Forces cleaner design of interfaces, especially in MVC architecture Cons High cost of writing unit test cases High maintenance costs High cost of business requirements change
Why do we use SDLC? Resource Management Effort of people on the team Cost estimation What will this cost me Feature delivery and communication Training, Communication to users Change Control Application support Handle complexity Security Risk Management
Why do Projects Fail? Requirements: Unclear, lack of agreement, lack of priority, contradictory, ambiguous, imprecise. Resources: Lack of resources, resource conflicts, turnover of key resources, poor planning. Schedules: Too tight, unrealistic, overly optimistic. Planning: Based on insufficient data, missing items, insufficient details, poor estimates Risks: Unidentified or assumed, not managed. POOR COMMUNICATION!
Future of IT Programming Skills are a Commodity Globalization impact on software development Western needs have evolved to technical architecture, relationship management, development project leadership Business Analysis Consulting and Solutions 100 IT grads in India for every Western Graduate Cloud Hosted Technologies Mobile Strategic Planning Focus on Secondary discipline in desired industry Business, Marketing, Manufacturing…
Graduates by Country United States108,750114,241121,263134,406137,437133,854 India 82,107109,376129,000139,000170,000 China: MoE and CERN 282,610361,270 China: MoE Yearbook 212,905219,563252,024351,537442,463517,225
Roles and Responsibilities Business Analyst Document requirements Manage requirement sessions Must have a working understanding of the technology platform Must have a working understanding of the business use cases
R&R Development Lead Good understanding of the business use cases Expert understanding of the technology Responsible for designing the solutions Must be able to manage a team of developers
How much will I get to Code as a Development Lead? Development Lead: 25% Remaining 75% Design Documentation Architecture Training and knowledge transfer External Team support, Business Unit, Quality Assurance, BA Deployment support QA, UAT, Production Code Reviews
R&R QA Analyst Create test design and test cases Executes test cases and regression testing Ensures code quality prior to production implementation
Top 10 reasons projects fail 10. Don’t use a specific methodology because coding is all that is really important. 9. Create the project plan by working backwards from a drop dead system completion date. 8. Don’t bother with a data model. Just build whatever tables you need. 7. Use a Technical Lead that has never built a similar system. 6. Hire forty developers to make the coding go faster.
Top 10 reasons projects fail 5. Building in a technology that no developer has any knowledge in. 4. Three months before the system goes live, assign one junior developer to handle the data migration. 3. Skip the testing phase because the project is way behind schedule. 2. Change the system to support critical new requirements discovered during final development. 1. Buy a commercial, off product and customize it, a lot.
Links and References ce_graduates ce_graduates education-oped-cx_prg_0813education.html education-oped-cx_prg_0813education.html