1 / 32

.Net @ KBC Development on the Edge

Explore KBC's .Net Software Factory, Delivery Centers, Scrum practices, and Nirvana Development Platform to industrialize software development. Understand the role of Service Centers in managing assets and setting up Delivery Centers effectively.

Download Presentation

.Net @ KBC Development on the Edge

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. .Net @ KBCDevelopment on the Edge Peter Bauwens Technical Lead Service Organisation.Net

  2. Speaker’s Bio – Past & Present • Domains • Electronic Banking • Insurance • Backoffice Applications • Quick Launch Apps • Offshoring Consultancy • Technologies • COBOL • C/C++ • Delphi • Java • Visual Basic • .Net (c#) • Roles @ KBC • Programmer • Technical Designer • Project/Team Lead • Subject Matter Expert • SDLC • ALM @KBC since 1990

  3. Introduction • The KBC .Net Software Factory • The Nirvana Development Platform • Q&A

  4. Software Factories @ KBC

  5. The KBC.Net Software Factory

  6. Software Factory?

  7. People and Organisation .Net Service Center @ KBC .NET Delivery Center@ K&H .NET Delivery Center@ KBC LOCAL .NET Delivery Center = Business Interface .NET Delivery Center@ Warta .NET Delivery Center @ CSOB .NET Resource Pool@ VST

  8. Service versus Delivery Center Service Center @ KBC Patterns & Practices Team Manages the assets (services, people, frameworks, infrastructure, …) needed to set up and support a Delivery Center There is only one Service Center but is has representatives in each Delivery Center Delivery Center @ … A part of the Organisationleveraging Service Center assets to build software There can be one Delivery Center per entity in a country It is typically split up in Project and Maintenance teams Resource Pool @ VST Delivers man power to Service and Delivery Centers

  9. Responsibilities of the Service Center Be the Center of Expertise for .NET software stack Managing the Nirvana Framework & Guidance Defining the methodology Setting and Starting up Delivery Centers Hosting & Monitoring the Development Environment (TFS) Supporting Delivery Centers Providing Consultancy Running the Helpdesk Organizing Community working

  10. The Teams 5 People in Service Center @ KBC (Belgium) 40 People in Delivery Center KBC (Belgium) Projects - 30 Maintenance - 10 10 people in Delivery Center CSOB (Czech Republic) 5 people in Delivery Center K&H (Hungary) 5 people in Warta (Poland) 28 People in our Resource pool in Chennai (India)

  11. The .Net Software Factory in practice Enables The Industrialization of Software Development The Assembly of Applications using Proven Patterns, Models, Frameworks and Tools Offers/Supports A Development Process A Toolset An Application Architecture A Framework Guidance Outlines The OrganisationalAspects

  12. Non-Core Applications Characteristics No risk off big financial losses (>12.500.000€) No risk to jeopardize KBC reputation: No negative press during several days No direct legal prosecution at any level No risk on violation of privacy of customer information No risk of jeopardizing competitive advantage No direct participation in operational chains Typical SLA’s Availability : downtime between 4 hours and 7 days (DRP) Data Integrity: day-1 Target internal users Process & Policy Driven

  13. Scrum in a nutshell

  14. Scrum @ KBC > Sprint planning meeting Envisioning Phase Propose & Scope Phase Stabilization Phase Deploy Phase Beachhead Sprint + Sprint 1, 2, 3, … n-1 Sprint Cycle Daily cycle > Daily scrum > Daily work > Update product backlog Build Phase 4 Week Sprints > Product increment > Sprint retrospective > Sprint review

  15. Practices – Planning Poker

  16. XP Practices - TDD • Write tests first • Stub code makes tests fail • Restructure code if needed • Write code • Tests should succeed

  17. XP Practices - CI Build ticker on workstations • Check Build Status & Notify User Build server • Get CI Projects & Check for changes • Rebuild & Run Tests if necessary Workstations • Modify Code • Check In Changes 19 19 19

  18. Practices - Refactoring • Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior. • Each transformation (called a 'refactoring') does little, but a sequence of transformations can produce a significant restructuring. Since each refactoring is small, it's less likely to go wrong. • The system is kept fully working after each small refactoring, reducing the chances that a system can get seriously broken during the restructuring.

  19. The Nirvana development platform

  20. The Nirvana Development Platform Upper Layer Foundations

  21. Technological Platform Microsoft .Net 23 23

  22. Technological Platform Application Lifecycle Management 24 24

  23. Common Application Architecture The architecture encourages applications to use a layered N-tier design, containing the three classic presentation, business and data layers. Most layers are in turn subdivided in sub layers, such as the model-view-controller sub layers in the presentation tier. Next to that the CAA has a provider based model which provides pluggable services to the horizontal layers. 25 25

  24. The Nirvana Framework is a set of class libraries, tools, templates and code generators, written in C#, and destined to Increase the consistency of design and look-and-feel across multiple KBC .NET applications, i.e. Support & enforce the baseline architecture Centralize and reuse common non-business functionality required by most (KBC) .NET applications Reduce the number of lines of code to write, providing developers with more time to focus on actual business functionality Speed up the time-to-first solution and subsequent development by code generation Integrate with the KBC intranet web portal in order to make applications accessible within the KBC group at international sites. The Nirvana Framework 26 26

  25. Nirvana Framework • Model-view-controller pattern • Process workflow • Sessions, Scenarios, Steps and Actions • Scenario map : state machine for process workflow

  26. Nirvana Framework Use case (scenario) navigation controlled by a state-machine Event driven error handling & presentation State management Transactional business operations Authentication integrated with KBC intranet portal Authorization integrated with KBC “ID2” user profile database UI and data globalization Code management Tracing & logging Static online help Exporting to Word / Excel

  27. Guidance Automation

  28. Recap

  29. Q&A

More Related