Disclaimer The opinions expressed herein are author's opinions and do not represent e-Zest's view in anyway. © Copyright 2012
Microsoft Surface Technology in Retail Baking and Insurance Domain
Microsoft Surface is a multi-touch computer that responds to natural hand gestures and real-world objects, helping people interact with digital content in a simple and intuitive way. With a large, horizontal user interface, Surface offers a unique gathering place where multiple users can collaboratively and simultaneously interact with data and each other.
Microsoft Surface has four key capabilities:
Microsoft Surface can bring the new light to the complex ‘customer solicitation’ process in the entire customer acquisition cycle, in retail banking and insurance industry. It can change the way customers learn, service and make decisions about the product. The way content is delivered in collaborative and explorative way, it can create the whole new positive perceptions about your product. Imagine you are sitting across you banking relationships manager or insurance advisor, browsing through product information, discussing various financial scenarios in a participative way, product comparisons. This technology has potential to revolutionize the entire customer experience.
I have often seen confused faces of customers during solicitation process. More often than not they are pretending to be understood, to be with you, but usually they are lost. I hope this technology brings new light for retail banking and insurance industry.
Problem
Generally, we write requirements in use case structure. Use case structure gives us all elements required but by design , it is a vague format which are devised around use case diagrams. Every software professional has its own flavor of writing use cases. Even the sections of use case structure varies person to person.The intrinsic details of the parts of use case specially use case description, preconditions and post conditions etc] are vaguely defined. Writing use cases in clear format is also a skill and that depends upon the person who is responsible for collecting requirements.Use case are still useful in mature kind of organization but it is not so much effective way when we do not want to have upfront big designs. So dilemma here is how to collect the requirements and the new approach should be better than standard use case structures and should be fairly objective.
There is also a second angle to this use case discussion. Requirements have bigger impact on business and cost part of IT projects. Many times, due to not so clear communication between IT vendor and client over the requirements, this cost of lot of rework and hence the cost to client.From client’s viewpoint ,it is difficult to understand use case type of language and there is a chance to miss out or assume requirements/scenarios ,which becomes cost(in terms of money or time) for them afterword. Situation becomes bad in fixed cost projects. I had experienced this bitter pill many times.
Solution
So the solution I am proposing here is , Behavior Driven Development [BDD] kind of requirements collection for even the people who are not practicing BDD. From past few months,I am sort of wandering in TDD,BDD forest. Now I am going ahead with nBehave and Specflow and Gherkin which has changed whole lot of things for me on coding front.
I totally understand that BDD can’t be fully rolled out in some scenarios/in some organizations[no silver bullet!, lack of expertise, no enthusiasm to learn, cost of learning curve and transformation etc] but I am sure that, we can at least move to BDD style of requirement writing which is kind of closer to silver bullet:). See the following example. I had directly taken this example from Dan North's blog. BTW, Dan is pioneer in BDD and I guess, he is the first who coined the term "BDD". He has also compared use case format with BDD style. Here I think, interesting angle from my side is merge both of them to take advantage from both styles of requirements collection.
In BDD, The requirements are collected in story form like:
Title (one line describing the story)
Narrative:
As a [role]
I want [feature]
So that [benefit]
Acceptance Criteria: (presented as Scenarios)
Scenario 1: Title
Given [context] And [some more context]...
When [event]
Then [outcome] And [another outcome]...
Scenario 2: ...
ACTUAL EXAMPLE:
Story: Account Holder withdraws cash
As an Account Holder
I want to withdraw cash from an ATM
So that I can get money when the bank is closed
Scenario 1: Account has sufficient funds
Given the account balance is \$100 And the card is valid And the machine contains enough money
When the Account Holder requests \$20
Then the ATM should dispense \$20 And the account balance should be \$80 And the card should be returned
Scenario 2: Account has insufficient funds
Given the account balance is \$10 And the card is valid And the machine contains enough money
Then the ATM should not dispense any money And the ATM should say there are insufficient funds And the account balance should be \$20 And the card should be returned
Scenario 3: Card has been disabled
Given the card is disabled
Then the ATM should retain the card
And the ATM should say the card has been retained
Scenario 4: The ATM has insufficient funds
...
I think Along with story, if we have mockup/screenshot[off course with Balsamiq mockups! ] of proposed screen and control, data type range chart we used to have with our existing UML format, we can move towards clear requirements.
Benefits
This will benefit in following ways:
Let me know your thoughts, specially BDD and UML experts...
Many good points are noted as what should be in story by BDD pioneer Dan north in his post (http://dannorth.net/whats-in-a-story).
It's really refreshing for me to see the BDD light.
Certified Scrum Master Stephen Forte will be presenting a half day seminar on Agile Development, Tools and Teams on Wednesday February 24th at the MCCIA in Pune. The event is brought to you free by e-Zest, MCCIA, and Telerik. Seats are limited, to sign up in advance, please email seminar@e-zest.net.
The Program Details
One of the most popular Agile project management and development methods, Scrum is starting to be adopted at major corporations and on very large projects. After an introduction to the basics of Scrum like: project planning and estimation, the Scrum Master, team, product owner and burn down, and of course the daily Scrum, Stephen (a certified Scrum Master) shows many real world applications of the methodology drawn from his own experience as a Scrum Master. Negotiating with the business, estimation and team dynamics are all discussed as well as how to use Scrum in small organizations, large enterprise environments and consulting environments. Stephen will also discuss using Scrum with virtual teams and an off-shoring environment. We’ll then take a look at the tools we will use for Agile development, including planning poker, unit testing, and much more. There will be plenty of time for Question and Answer. This seminar is a jump start for a certified scrum master exam.
Who Should Attend
Developers and development managers, especially those using the Microsoft .NET platform.
Schedule and Agenda
Seminar Coverage
Time Slot
Event Registration
9:00-9:55
Speaker Introduction
9:55-10:00
Introduction to Agile Development and Scrum
10:00-11:00
Agile Estimation
11:00-11:30
High Tea Break
11:30-11:45
Implementing Scrum with remote and offshore teams
11:45-12:15
Agile Tools, Test Driven Development, and Continuous Integration
12:15-12:45
Summary, Question and Answer
12:45-1:00
Conclusion of Program
1:00
The SpeakerStephen Forte is the Chief Strategy Officer of Telerik, a leading vendor in .NET components. He sits on the board of several start-ups including Triton Works and is also a certified scrum master. Prior he was the Chief Technology Officer (CTO) and co-founder of Corzen, Inc, a New York based provider of online market research data for Wall Street Firms. Corzen was acquired by Wanted Technologies (TXV: WAN) in 2007. Stephen is also the Microsoft Regional Director for the NY Metro region and speaks regularly at industry conferences around the world. He has written several books on application and database development including Programming SQL Server 2008 (MS Press). Prior to Corzen, Stephen served as the CTO of Zagat Survey in New York City and also was co-founder of the New York based software consulting firm The Aurora Development Group. He currently is an MVP, INETA speaker and is the co-moderator and founder of the NYC .NET Developer User Group. Stephen has an MBA from the City University of New York. Stephen currently lives in Hong Kong and will be returning to Mt. Everest again in September 2010.
Final Details
DATE
Wednesday February 24th, 2010
TIMING
9.00 am to 1.00 pm (registration from 9.00 a.m. to 9.45 a.m.)
VENUE
Shekhar Natu Hall, MCCIA, 403-A,Senapati Bapat Road, Pune 411 016
FEE
Free
Recently, I have attended Hands On Lab for MS Exchange 2000. It's really amazing product with valuable enterprise features.
MS Exchange 2010 is part of new generation of Microsoft server technology built from the ground up to work on-premises and as an online service. Exchange 2010 introduces a new integrated e-mail archive and features to help reduce costs and improve the user experience.Exchange 2010 will help organizations reduce costs, protect communications and delight e-mail users with capabilities to do the following:• Lower costs with more flexible deployment and management options. Exchange 2010 provides organizations with the same enterprise-grade capabilities whether deployed on-premises or as a service from Microsoft or partners — or as a mix of both. Further, for customers deploying the server, the new release simplifies the way organizations provide always-on communications and disaster recovery, meaning administrators spend less time managing their e-mail system. Exchange 2010 further improves performance running on lower-cost direct-attached storage, enabling organizations to dramatically reduce storage costs by up to 85 percent without sacrificing performance or reliability.• Protect information and meet compliance requirements with the new e-mail archive. As e-mail volume grows, companies must address increasing compliance, legal and e-discovery concerns Exchange 2010 introduces an integrated e-mail archive. The new solution makes it easier to store and query e-mail across the organization using the Exchange software that organizations already know and use.• Improved user productivity with the ultimate inbox experienceExchange 2010, together with Microsoft Outlook 2010, will give people more control over their communications with features such as these:-MailTips. Warn users before they commit an e-mail faux pas such as sending mail to large distribution groups, to recipients who are out of the office or to recipients outside the organization, helping protect against information leaks and reduce unnecessary e-mail messages.-Voice Mail Preview. See text previews of voice mail directly in Outlook.-Ignore Conversation. This e-mail “mute button” allows people to remove themselves from an irrelevant e-mail string, reducing unwanted e-mail and runaway reply-all threads.-Conversation View. Combine related e-mail messages in a single conversation to reduce inbox clutter.-Call Answering Rules. Create customized “Press 1 for …” call-routing menus with Exchange voice mail.-Consistent Experience. Use Outlook on the PC, a mobile phone or a browser for the same experience with enhancements in Outlook Mobile and Outlook Web Access.Exchange 2010, Provides a full e-mail, calendar and contacts solution, built-in information protection, built-in mobile e-mail and mobile device management, a full voice mail replacement, and a brand new archiving, retention and discovery solution. Exchange administrators have seen their roles grow from simply providing great e-mail to providing an end-to-end communications solutions. With the new high availability, disaster recovery and back up capabilities combined with the significant IO reduction a few very cool things become possible. First, what used to take multiple applications to achieve mailbox resiliency becomes possible using just Exchange. Second, a very large mailbox – even 10 gigs+ becomes very affordable and supportable.From the improved OWA UI with integrated IM/presence, to conversation view in mobile, to EAS device management – every user can now have a rich mobile experience.
I recommend upgradation to all existing MS Exchange 2003 enterprises & also to enterprises considering implementation of email server technology on Windows platform. It's worth investment!
Software Factory
A Software Factory is a development environment configured to support the rapid development of a specific type of application. Software Factories are just a logical next step in the continuing evolution of software development methods and practices. However, they change the character of the software industry by introducing patterns of industrialization.
• It’s a software product line that configures
– Extensible tools
– Processes
– Content using a software factory template based on a software factory schema
• It helps to automate the development and maintenance product by adapting
– assembling
– configuring framework-based components
• Help building specific type of application
– Smart client
– Web service
– Web application
– Mobile application
• Incorporate guidelines and best practice
– Architecture and design guidance
– Patterns
– How-to’s
– Application blocks
– Guidance packages
Why software factory?
• Productivity in software development
• Reusability in efficient way
• Reduction in development time
• Communication between architect and development team
• Utilize resources not having extensive expertise on software development
• Shorten time to market
– Reuse of existing core assets
• Improved product quality
– Pre-tested factory
– Less chance of error during development
• Framework variability and extensibility
• Expand market
– By selling products
– Frameworks
Which are available software factory?
• Web Client Software Factory
• Smart Client Software Factory
• Web Service Software Factory
• Mobile Client Software Factory
Web Client Software Factory capabilities
Modularity
User experience
Page flow
Deployment and updates
Security
State management
Manageability
Web service communication
Details about web-client software factory:
To know more:
http://msdn2.microsoft.com/en-us/library/bb264518.aspx#wcsfbenefits
http://msdn2.microsoft.com/en-us/architecture/aa480032.aspx
http://msdn2.microsoft.com/en-us/architecture/aa699360.aspx
http://www.codeplex.com/websf